Over 1 billion people worldwide live with some form of disability. If your online forms aren't accessible, you're not just excluding potential customers — you may also be violating legal requirements like the ADA, Section 508, or the European Accessibility Act.
The good news: making forms accessible doesn't mean making them ugly or complicated. Most accessibility improvements also improve usability for everyone. Here's your complete guide to building forms that work for all users.
Why Form Accessibility Matters
- 15% of the global population has some form of disability
- Accessible forms convert better for all users, not just those with disabilities
- Legal compliance: ADA lawsuits have increased 300% in the last 5 years
- SEO benefit: screen-reader-friendly markup is also search-engine-friendly
Labels and Instructions
Every form field must have a visible, descriptive label. Placeholder text is not a substitute for labels — it disappears when users start typing, leaving them guessing what the field was for. Use `<label>` elements properly associated with their inputs via the `for` attribute.
Keyboard Navigation
Many users navigate entirely with keyboards — including users with motor disabilities, power users, and screen reader users. Ensure every interactive element is reachable via Tab, every button responds to Enter/Space, and focus order follows a logical reading sequence. Visible focus indicators (an outline or ring around the focused element) are essential.
Screen Reader Compatibility
Use semantic HTML: `<form>`, `<fieldset>`, `<legend>`, `<label>`, `<button>`. Add `aria-required="true"` for required fields, `aria-describedby` for help text, and `aria-invalid` for validation errors. Test with a real screen reader — VoiceOver (Mac), NVDA (Windows), or TalkBack (Android) are free.
Color Contrast and Typography
WCAG 2.1 requires a minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text. Use a contrast checker tool to verify your form's colors. For typography, use a base font size of at least 16px to prevent auto-zooming on mobile Safari, and ensure line height is at least 1.5x the font size.
Error Handling
- 1Validate inline in real-time — don't make users submit and wait
- 2Describe the error clearly: "Email must include an @ symbol" not "Invalid"
- 3Use `aria-live="polite"` on error messages so screen readers announce them
- 4Never clear the form on error — preserve all user input
- 5Visually connect errors to their fields with proximity and color
Touch Targets and Mobile
The WCAG 2.2 "Target Size" criterion recommends a minimum touch target of 24x24 CSS pixels, with 44x44 pixels being ideal. This applies to buttons, radio buttons, checkboxes, and links within your form. Space interactive elements at least 8px apart to prevent accidental taps.
Building Accessible Forms
Accessibility should be built in from the start, not bolted on later. Typerson forms are built with semantic HTML, keyboard navigation, proper focus management, and mobile-optimized touch targets by default. Custom themes automatically maintain readable contrast ratios.
Create accessible, beautiful forms without the headache. Start free with Typerson.
Get Started Free