Interactive rating Component Solution using JavaScript, CSS and HTML
Design comparison
Solution retrospective
Hello Everyone. Its my first project with JavaScript. Feedbacks are welcome.
Community feedback
- @WuczekPosted over 1 year ago
Great job!
You need to make your JS functions more reusable, you wrote 5 functions that are basically doing the same thing. You can see my way of doing it: Github Repo , it's not great but I think you'll get what I meant.
I would also recommend to wrap those inputs inside <li> tags like this:
<ul> <li><input></li> <li><input></li> ... </ul>
also change
border-radius
property in input element toborder-radius:999px
so it will input fields look like circle and not like the egg π₯Marked as helpful0 - @visualdennissPosted over 1 year ago
Hello there,
your solution looks great! I'd have a suggestion regarding the buttons as they look a slightly elliptic instead of a circle because of the paddings. You could use a padding like this: padding: 15px 20px; to make it look them more circle like buttons. E.g.
input { padding: 15px 20px; border-radius: 50%; background-color: #262f38; border: none; color: hsl(216, 12%, 54%); }
Hope you find this feedback helpful!
Marked as helpful0 - @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 due to incorrect usage
semantic
markup, which confuses the landmark of a webpage
- So fix it by replacing the element
<section class="main">
the with 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 generates accessibility error reports 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)
I hope you find this helpful π Above all, the solution you submitted is great !
Happy coding!
Marked as helpful0
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