Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Request path contains unescaped characters
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Interactive rating Component Solution using JavaScript, CSS and HTML

@Ghazanfar429

Desktop design screenshot for the Interactive rating component coding challenge

This is a solution for...

  • HTML
  • CSS
  • JS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


Hello Everyone. Its my first project with JavaScript. Feedbacks are welcome.

Community feedback

Kamilβ€’ 260

@Wuczek

Posted

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 to border-radius:999px so it will input fields look like circle and not like the egg πŸ₯š

Marked as helpful

0
P
visualdennisβ€’ 8,375

@visualdenniss

Posted

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 helpful

0
Abdul Khaliq πŸš€β€’ 72,660

@0xabdulkhaliq

Posted

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 your index.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 helpful

0

Please log in to post a comment

Log in with GitHub
Discord logo

Join 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