Interactive rating component using Tailwind-CSS and JS
Design comparison
Solution retrospective
Design using HTML and Tailwind-CSS, interaction with JavaScript. Feel free to leve me a suggestion :)
Community feedback
- @AdrianoEscarabotePosted almost 2 years ago
Hi Walter Folk, how are you? I really liked the result of your project, but I have some tips that I think you will enjoy:
To make the
submit
button work only when the user selects a number we can do this:ratingValue.forEach((rate) => { rate.addEventListener('click', () => { rating.innerHTML = rate.innerHTML submitBtn.addEventListener('click', () => { ratingCard.classList.add('hidden'); thanksCard.classList.remove('hidden'); }) }) })
The rest is great!
I hope it helps... π
Marked as helpful0 - @VCaramesPosted almost 2 years ago
Hey there! π Here are some suggestions to help improve your code:
- Unless your company requires you to use a library , I strongly suggest you stay away from using libraries until you fully grasp the fundamentals of HTML, CSS and JS. By using a library, you are robbing yourself from actually learning how to code.
- The βicons/illustrationsβ in this component serve no other purpose than to be decorative; They add no value. There
alt tag
should be left blank and have anaria-hidden=βtrueβ
to hide them from assistive technology.
More Info:π
https://www.w3.org/WAI/tutorials/images/
- The proper way to build the "rating buttons" in this challenge is to create a
form
and inside of it, there should be fiveinput radios
and eachinput
should have alabel
attached to it to make the buttons accessible. Finally wrap all theinputs
andlabels
inside afieldset
to prevent users from making more than one selection.
More Info:π
MDN <fieldset>: The Field Set element
If you have any questions or need further clarification, feel free to reach out to me.
Happy Coding!ππ
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