E-commerce product page created with Reactjs and Context API
Design comparison
Solution retrospective
Hey Everyone,
This is my first project with context api. Your feedback is much appreciated 🙂🙂
Regards.
Community feedback
- @NermenElefkyPosted over 1 year ago
Hi there 👋.Congratulations on successfully completing the challenge 👍You have done great work !!
I have some suggestions you maybe interested about:
- Cart icon is a bit small.
- The font size of the counter on the cart is very small.
- When I clicked "Add to car" button and then I removed the items from the cart and then I clicked the button again, The button doesn't work.
- Would be nice if you add different styles to the active thumbnail.
- The links list doesn't take the full height of the page (in mobile).
- Would be nice if you add the ability to click anywhere to close the backdrop overlay.
- There is no visual feedback after clicking "Add to cart" button indicating an action has occurred.
Above all, Your effort is greatly appreciated.
Have a nice day 😊
Marked as helpful1@adil-khursheedPosted over 1 year ago@NermenElefky Thank you for your suggestions. Will surely look into it.🙂🙂
Regards.
0 - @0xabdulkhaliqPosted over 1 year ago
Hello there 👋. Congratulations on successfully completing the challenge! 🎉
- I have other recommendations regarding your code that I believe will be of great interest to you.
HTML 🏷️:
- This solution generates accessibility error reports, "All page content should be contained by landmarks" is due to
non-semantic
markup, which lack landmark for a webpage
- So fix it by replacing the
<div id="root">
element with the semantic element<main>
in yourindex.html
file to improve accessibility and organization of your page.
- What is meant by landmark ?, They used to define major sections of your page instead of relying on generic elements like
<div>
or<span>
- They convey the structure of your page. For example, the
<main>
element should include all content directly related to the page's main idea, so there should only be one per page
HEADINGS ⚠️:
- And, this solution has also generated accessibility error report due to lack of level-one heading
<h1>
- Every site must want at least one
h1
element identifying and describing the main content of the page.
- An
h1
heading provides an important navigation point for users of assistive technologies, allowing them to easily find the main content of the page.
- So we want to add a level-one heading to improve accessibility by reading aloud the heading by screen readers, you can achieve this by adding a
sr-only
class to hide it from visual users (it will be useful for visually impaired users)
BUTTONS 🖲️:
- This solution had generated accessibility error reports due to lack discernible text for
<button>
element
- The
<button>
must have discernible text that clearly describes the destination, purpose, function, or action for screen reader users.
- Screen reader users are not able to discern the purpose of elements with role="link", role="button", or role="menuitem" that do not have an accessible name.
- The
<button>
name rule has five markup patterns that pass test criteria:
<button id="al" aria-label="Name"></button> <button id="alb" aria-labelledby="labeldiv"></button> <div id="labeldiv">Button label</div> <button id="combo" aria-label="Aria Name">Name</button> <button id="buttonTitle" title="Title"></button>
-
Ensure that each
<button>
element and elements withrole="button"
have one of the following characteristics:- Inner text that is discernible to screen reader users.
- Non-empty
aria-label
attribute. aria-labelledby
pointing to element with text which is discernible to screen reader users.role="presentation"
orrole="none"
(ARIA 1.1) and is not in tab order (tabindex="-1"
)
.
I hope you find this helpful 😄 Above all, the solution you submitted is great !
Happy coding!
Marked as helpful0@adil-khursheedPosted over 1 year ago@0xAbdulKhalid
Thank You for your feedback. It was very helpful for me. Will implement the changes you suggested to improve my code.🙂🙂
0
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord