Skip to content
  • Unlock Pro
  • Log in with GitHub
Profile
OverviewSolutions
16
Comments
13

EmicJoykiller

@EmicJoykiller270 points

I’m a mysterious individual who has yet to fill out my bio. One thing’s for certain: I love writing front-end code!

Latest solutions

  • Contact form

    #accessibility#pure-css#van-js#jquery

    EmicJoykiller•270
    Submitted 3 months ago

    I would love feedback on:

    Best practices for form validation: Is there a more efficient or scalable way to handle field validations without repeating similar code?

    Accessibility improvements: How can I make error messages and success notifications more screen-reader friendly (e.g., using ARIA attributes)?

    Code organization: Are there better ways to structure the JavaScript for easier maintenance if the form gets more complex in the future?


    1 comment
  • FAQ-accordion

    #accessibility#animation#jquery#pure-css

    EmicJoykiller•270
    Submitted 3 months ago

    I would love feedback on two things:

    How to best add smooth open/close animations to the answer sections without causing layout shifts or performance issues.

    If there are more efficient or scalable ways to structure the JavaScript, especially if I wanted to make the FAQ list dynamic in the future (like fetching questions/answers from a JSON file instead of hardcoding them in HTML).


    1 comment
  • Interactive-rating-component


    EmicJoykiller•270
    Submitted 3 months ago

    1 comment
  • Tip calculator app


    EmicJoykiller•270
    Submitted 4 months ago

    1 comment
  • Time tracking dashboard


    EmicJoykiller•270
    Submitted 4 months ago

    1 comment
  • Newsletter-sign-up-form-with-success-message

    #semantic-ui#jquery

    EmicJoykiller•270
    Submitted 4 months ago

    Accessibility Improvements – I would love feedback on how to make the form and layout more accessible, especially for screen readers. Are there any best practices I might have missed?

    Performance Optimization – Are there any unnecessary styles or layout techniques that could be optimized for better performance?

    Best Practices for Mobile-First Design – While I focused on a mobile-first approach, I’d appreciate any insights on how to refine the responsiveness further, especially regarding font scaling and spacing.

    Any feedback on these areas—or any other improvements you notice—would be greatly appreciated!


    1 comment
View more solutions

Latest comments

  • P
    Aydan•680
    @AydanKara
    Submitted 4 months ago
    What are you most proud of, and what would you do differently next time?

    I am most proud of creating a fully accessible and user-friendly contact form with real-time validation and clear error messaging. The form follows best practices, including semantic HTML, ARIA attributes, and a clean UI.

    Next time, i would focus more on modularizing the JavaScript validation from the beginning to improve maintainability. I would also explore using a JavaScript framework (such as React) to make the form state management smoother.

    What challenges did you encounter, and how did you overcome them?

    🛑 Challenge: Only the first error message was showing when using .every() for validation.

    • ✅ Solution: I switched to .forEach() to ensure all errors appear simultaneously, improving the user experience.

    🛑 Challenge: The :invalid CSS rule didn’t apply when JavaScript handled validation.

    • ✅ Solution: I added a custom .invalid class in JavaScript to control the styling manually.

    🛑 Challenge: Making the form fully accessible for screen readers.

    • ✅ Solution: Used ARIA attributes (aria-describedby, aria-live) to announce errors and success messages properly.
    What specific areas of your project would you like help with?

    🔹 Validation Performance: My form validation works well, but are there more efficient ways to structure it?

    🔹 Accessibility Improvements: How can i further improve keyboard navigation and screen reader support?

    🔹 Error Handling Best Practices: Are there better ways to manage error messages dynamically while keeping the code scalable?

    Accessible Contact Form

    #accessibility
    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 3 months ago

    You did an outstanding job focusing on accessibility, user experience, and code quality. Building a fully accessible contact form with real-time validation, clear error messaging, semantic HTML, and ARIA support — all without using a frontend framework — shows excellent attention to detail and strong fundamentals.

    What you did very well:

    Accessibility: Great use of ARIA attributes like aria-describedby and aria-live to enhance the experience for screen reader users.

    Error Handling: Smart move replacing .every() with .forEach() to display all validation errors at once. It made the form much more user-friendly.

    Progressive Enhancement: Manually controlling the invalid styling using a custom .invalid class was a clever solution to work around browser inconsistencies with JavaScript-driven validation.

    Marked as helpful
  • Gustavo Gutiérrez•370
    @gustavo2023
    Submitted 3 months ago
    What specific areas of your project would you like help with?

    Any suggestions to improve accessibility

    Interactive FAQs accordion component

    #accessibility
    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 3 months ago

    Add an aria-expanded attribute to indicate if an answer is open or closed.

    Use aria-controls to associate each question button with its corresponding answer.

    Ensure answers have unique ids for aria-controls to reference.

    Allow full keyboard navigation (Tab to focus, Enter/Space to toggle answers).

    Ensure visible focus styles are present and clear for keyboard users.

    Optionally wrap each answer in a <section> or add role="region" for better screen reader context.

    Maintain logical heading structure (consider using <h2> for each question if appropriate).

    Test with a screen reader (like NVDA, VoiceOver) to catch anything Lighthouse might miss.

  • Harold-chn•770
    @chanwinharold
    Submitted 3 months ago

    interactive-rating-component-main

    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 3 months ago

    nicely done

  • Akin Holo•230
    @akin-holo
    Submitted 4 months ago
    What are you most proud of, and what would you do differently next time?

    This project is not complete yet.

    I am still coming back to finish it

    What challenges did you encounter, and how did you overcome them?

    This project is not complete yet.

    I am still coming back to finish it

    What specific areas of your project would you like help with?

    This project is not complete yet.

    I am still coming back to finish it

    Tip Calculator App using html, css and javascript

    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 4 months ago

    looks good so far; i did not check the functionality since you're not done yet but keep going

    Marked as helpful
  • P
    LaStellaa•570
    @LaStellaa
    Submitted 4 months ago

    Time tracking dashboard

    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 4 months ago

    nice work, keep going

  • Ali Seidu•90
    @aliseidu8855
    Submitted over 1 year ago

    Newsletter sign up using javascript, css and htlm

    #accessibility#cube-css#jquery#node#semantic-ui
    1
    EmicJoykiller•270
    @EmicJoykiller
    Posted 4 months ago

    One small improvement would be to center the .container more effectively, especially in larger screen sizes, to maintain a balanced look. You could achieve this by using align-items: center; on the parent flex container or applying margin: auto; with display: flex; and justify-content: center;.

    Other than that, great job! Keep up the good work!

View more comments
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub