Skip to Content

Blog > Accessible Forms: Tips and Techniques

Accessible Forms: Tips and Techniques

Michael Beck. - 14/04/2025

Forms are a vital part of the web experience, whether they’re used for signing up for a newsletter, completing a purchase, or submitting a contact request. As crucial as they are to user interaction, forms are often a barrier to accessibility, especially for users with disabilities. Whether you’re building a simple contact form or a complex registration process, ensuring that your forms are accessible is essential—not just for compliance, but for creating an inclusive web experience.

Accessibility is at the heart of user-centric design. By prioritizing accessible forms, you’re making sure that everyone, regardless of their abilities, can interact with your content. Let’s walk through some tips and techniques to ensure that your forms are accessible and provide a better user experience for all.

1. Use Semantic HTML Elements

One of the easiest and most effective ways to ensure accessibility in forms is by using semantic HTML elements. Semantic HTML is code that clearly describes its meaning in a human- and machine-readable way. This doesn’t just help with SEO—it’s a critical step in creating accessible websites.

For forms, use the following semantic elements:

  • <form>: Wrap all form elements inside the <form> element to group them logically.
  • <label>: Always pair form inputs with corresponding <label> elements. Labels describe the purpose of the form control to assistive technologies like screen readers. Each label should have a for attribute that links it to the corresponding input field’s id. Example: <label for="email">Email Address:</label> <input type="email" id="email" name="email">
  • <input>, <textarea>, <select>: These elements should be used according to their intended purpose. Avoid using <div> or <span> for form controls, as they can complicate accessibility for screen readers.

2. Ensure Proper Labeling and Instructions

Labels are essential for users who rely on screen readers, as they provide context for each form field. You should:

  • Label each input: Every input field needs a visible label that clearly describes what information is required.
  • Use placeholder text cautiously: While placeholders can provide examples of what should be entered into a field, they shouldn’t replace labels. Placeholder text disappears once the user starts typing, which can confuse people who rely on screen readers. Use them as a supplementary feature, not as a replacement for proper labels.
  • Provide error messages and instructions: Clear, concise instructions help users understand how to fill out a form. For fields that require specific formatting (like phone numbers or dates), use helper text or input masks to guide users. Error messages should be descriptive and appear close to the relevant field, making it easy for users to understand and correct mistakes.

3. Make Forms Keyboard Accessible

Keyboard accessibility is a cornerstone of web accessibility. Many users, including those with motor disabilities, rely on the keyboard to navigate forms. To make forms keyboard-friendly:

  • Use the tabindex attribute: Ensure that users can navigate through the form fields in a logical order using the Tab key. The tabbing order should follow the visual flow of the form.
  • Avoid trapping focus: Make sure users can move freely between form fields and easily navigate in and out of form elements. If you’re using custom controls like modals or dropdowns, ensure that keyboard focus can escape them.
  • Ensure that buttons are accessible: All buttons and clickable elements (like form submissions) should be accessible with the Enter or Space keys, in addition to mouse clicks.

4. Provide Clear Feedback for Validation and Errors

When users submit a form, it’s essential to provide feedback about the form’s validation. For users with disabilities, especially those using screen readers, error messages and success notifications must be clear, timely, and easy to understand.

  • Use ARIA (Accessible Rich Internet Applications) attributes: ARIA is a set of attributes that help make dynamic content more accessible. For example, use aria-live="assertive" to announce form submission status, or aria-describedby to link error messages to the relevant form field.
  • Real-time validation: If you’re performing real-time validation (e.g., for email format), inform users immediately. Use ARIA live regions to announce validation feedback without requiring the user to submit the form. Example: <span role="alert" aria-live="assertive" id="email-error">Please enter a valid email address.</span>
  • Focus on error fields: When an error occurs, the screen reader should notify the user of which field caused the problem. Additionally, the focus should be automatically moved to the first error so that the user knows where to start correcting.

5. Group Related Fields Using Fieldsets and Legends

For forms with multiple related fields—such as a set of radio buttons, checkboxes, or options—group them together using the <fieldset> and <legend> elements. These elements provide context to screen reader users by clearly defining a logical grouping of form controls.

Example:

<fieldset>
  <legend>Preferred Contact Method:</legend>
  <label><input type="radio" name="contact" value="email"> Email</label>
  <label><input type="radio" name="contact" value="phone"> Phone</label>
</fieldset>

The <fieldset> tag creates a visible box around related fields, and the <legend> element provides a description of the group, making it easier for all users to understand.

6. Use Accessible Error Messages

Error messages are an often-overlooked part of accessible form design. A clear and informative error message helps users quickly understand what went wrong and how to correct it.

  • Make error messages visible: Don’t rely solely on color to indicate an error. Combine visual cues (like a red border or icon) with text-based messages.
  • Announce errors for screen readers: Use ARIA live regions to dynamically announce errors to screen reader users. This ensures that users know when an error occurs without having to manually check each field.
  • Ensure the error messages are contextually correct: An error message should explain why the error occurred and how to fix it. For instance, if a user enters an invalid email, the error message should say, “Please enter a valid email address,” instead of just “Invalid input.”

7. Design for Touchscreen Devices

With the increasing use of mobile devices, it’s important to ensure that forms are optimized for touch interactions as well as keyboard interactions.

  • Button size: Buttons should be large enough to be tapped easily on mobile screens. Aim for buttons to be at least 44×44 pixels (per WCAG guidelines).
  • Label clarity: Ensure labels are large and legible on smaller screens. Use responsive design techniques to make sure form elements adapt to the screen size.
  • Avoid mouse-based interactions: Users on touchscreen devices cannot use hover states, so design forms with a focus on click or tap actions.

8. Test Your Forms

Accessibility is not a one-size-fits-all solution. After implementing these best practices, it’s essential to test your forms thoroughly. Here are a few ways to ensure your forms are accessible:

  • Screen reader testing: Use tools like NVDA, JAWS, or VoiceOver to simulate the experience of screen reader users. Pay attention to how your forms are announced, and ensure all required information is conveyed clearly.
  • Keyboard-only navigation: Navigate the form using only the keyboard to ensure that all fields and buttons are reachable and usable.
  • Automated accessibility testing tools: While automated tools like Axe and WAVE won’t catch everything, they can quickly spot some common issues in your forms.

Conclusion

Accessible forms are essential for creating a web experience that serves all users, regardless of their abilities. By following these tips and techniques, you can build forms that are both user-friendly and compliant with accessibility guidelines like WCAG and Section 508. Remember, accessible design isn’t just about checking boxes—it’s about creating a better, more inclusive web for everyone. Whether you’re a developer, designer, or content creator, making accessibility a priority will help your website reach a wider audience, improve usability, and ensure that no one is left behind.

Start with small changes, test as you go, and keep learning. Accessibility is a journey, not a destination.

Related Blog Posts

Musician Weird Al Yankovic playing an accordion at the Apollo
Creating an Accessible Accordion with HTML Description Lists

When designing web components, accessibility is paramount to ensure inclusiveness for all users, including those with disabilities. A common interactive element that greatly benefits from an accessible implementation is the accordion—a user interface component that allows users to expand and collapse content sections. In this tutorial, we will dive deep into building an accessible accordion […]

Karl Groves - 17/04/2025

Golden Gate Bridge in San Francisco, CA.
Using ARIA Landmarks for Better Navigation

In today’s digital world, accessibility is more than just a buzzword—it’s an essential part of creating an inclusive web. When we think about accessibility, it’s easy to focus on ensuring that websites are usable for people with visual, auditory, or motor impairments. However, one of the most overlooked but impactful elements is navigation. For people […]

Michael Beck - 08/04/2025

A person wearing headphones using a laptop along with a braille output peripheral.
The Importance of Alt Text for Images

Images play a vital role in web design. They make content more engaging, break up text-heavy pages, and often convey essential information. But what happens when someone can’t see those images? For blind and visually impaired users who rely on screen readers, images without alt text create frustrating gaps in content, preventing them from fully […]

Michael Beck - 03/04/2025

Stylized smartphone surrounded by various icons related to accessibility, such as a wheelchair user, an ear, eyeglasses, and the accessibility man.
Mobile App Accessibility: Best Practices for Inclusive Design

In today’s digital world, mobile apps are a cornerstone of how we interact, shop, bank, work, and entertain ourselves. But for millions of users with disabilities, these apps can be a frustrating barrier rather than a seamless experience. Accessibility in mobile app development isn’t just about compliance—it’s about inclusivity, better usability for all users, and […]

Michael Beck - 31/03/2025

Cartoon of two people reviewing a checklist.
How to Conduct an Accessibility Audit: A Step-by-Step Guide

Accessibility isn’t just a legal requirement—it’s a fundamental part of inclusive design that ensures everyone, regardless of ability, can access and interact with digital content. If you’re looking to improve the accessibility of your website or application, an accessibility audit is the best place to start. An accessibility audit systematically evaluates a digital product against […]

Michael Beck - 27/03/2025