Contact form built with semantic HTML, CSS and JavaScript

Solution retrospective
I’m proud of building a responsive and accessible form with real-time validation and clear user feedback. Next time, I would improve my code structure by separating validation logic into smaller functions and test accessibility earlier in the process.
What challenges did you encounter, and how did you overcome them?had difficulty managing form validation logic in a clean way. I solved this by introducing an isValid flag to track the overall validation state of the form. This helped simplify the logic and made it easier to handle success and error states consistently.
What specific areas of your project would you like help with?I’d like help improving my form validation structure, especially how I manage the isValid state across multiple inputs. I feel my current approach works, but I’m not fully confident it’s the most scalable or clean solution for larger forms.
I’d also be interested in feedback on accessibility improvements, such as better handling of error messages for screen readers and focus management when validation fails.
Please log in to post a comment
Log in with GitHubCommunity feedback
No feedback yet. Be the first to give feedback on Douglas André’s solution.
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