- HTML
- CSS
- JS
Contact form
Building accessible forms is a crucial task for front-end developers. This challenge will help you practice building a form with several input types and validation.
Join 20,508 people who have taken this challenge
📝Brief
Your challenge is to build out this contact form and make it look as close to the design as possible. Pay particular attention to making this form accessible. Building accessible forms is a key skill for front-end developers, so this is a perfect challenge to practice.
You can use any tools you like to help you complete the challenge. So, if you have something you'd like to practice, feel free to give it a go.
Your users should be able to:
- Complete the form and see a success toast message upon successful submission
- Receive form validation messages if:
- A required field has been missed
- The email address is not formatted correctly
- Complete the form only using their keyboard
- Have inputs, error messages, and the success message announced on their screen reader
- View the optimal layout for the interface depending on their device's screen size
- See hover and focus states for all interactive elements on the page
Download the project and go through the README.md file. This will provide further details about the project and help you get set up.
Want some support on the challenge? Join our community and ask questions in the help channel.
🗃Assets provided
- Figma design file access - Unlock with Pro
- JPEG design files for mobile & desktop layouts
- Style guide for fonts, colors, etc.
- Optimized image assets
- README file to help you get started
- HTML file with pre-written content
💡Ideas to test yourself
- Pay close attention to making this form accessible and run manual and automated accessibility tests
- Ensure the error messages and success toast message are announced to screen readers
Challenge FAQs
- How can I get help if I'm stuck on a challenge?
- How do I submit my solution?
- Is there an official solution I can take a look at?
- Do I get a code review when I post my solution?
- Can I use libraries/frameworks on these projects?
- Can I use these projects in my portfolio?
- How often are new challenges added?
- What is the difference between the desktop-design, mobile-design, and desktop-preview images in my starter code?
- Can I use these challenges within my own free or commercial content/tutorials/projects?
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