Accessibility Checklist: Forms

Bobby Bailey

Bobby Bailey

Jump to Article

How to Make Forms Accessible for Everyone

Forms are a critical part of websites, but if not designed correctly, they can create barriers for people using assistive technology. Proper labeling, error handling, and keyboard navigation are key. Use this checklist to ensure your forms are accessible.

10-Point Accessible Forms Checklist

Number One: Every form field has a visible label

Labels describe the purpose of the input field. Use the <label> element instead of placeholder text alone.

Number Two: Labels are correctly associated with inputs

Use the for attribute in <label> to match the input’s id. Screen readers should announce the label when focusing on the field.

Number Three: Placeholders do not replace labels

Placeholders disappear when typing, making them unreliable as labels. Labels should always be present to guide input.

Number Four: Error messages are clear and accessible

Errors should be descriptive and placed near the affected field. Use aria-describedby to associate error messages with inputs.

Number Five: Required fields are clearly indicated

Use the required attribute or include "Required" in the label. Avoid using only color to mark required fields.

Number Six: Forms are fully navigable by keyboard

The Tab key moves through fields in a logical order. The Enter key submits the form where expected.

Number Seven: Radio buttons and checkboxes have clear group labels

Use <fieldset> and <legend> to group related choices. Ensure all options are fully keyboard and screen reader accessible.

Number Eight: Error prevention and validation are user-friendly

Provide real-time validation without disrupting form completion. Allow people to review and confirm before submitting.

Number Nine: Buttons are correctly labeled

Buttons should have clear, action-based text like "Submit" or "Sign Up." Avoid vague text like "Click Here" or "Go."

Number Ten: Test with assistive technologies

Use screen readers like NVDA, JAWS, or VoiceOver to navigate the form. Ensure all error messages and labels are announced correctly.

Support my work in accessibility

Creating accessible content takes time, care, and deep testing — and I love every minute of it. From writing blog posts to doing live audits and building checklists, everything I create is designed to make the digital world more inclusive.If something here helped you — whether it saved you time, taught you something new, or gave you insight into accessibility — consider supporting my work.

You can buy me a coffee to help keep this platform going strong:

Buy Me a Coffee

Every coffee goes toward:

  • Creating new articles with accessibility tips, tools, and testing methods
  • Covering hosting, software, and assistive tech costs
  • Supporting free education for designers, developers, and testers
  • Making a meaningful difference for people living with disabilities

Thanks for being part of this mission to build a more accessible web — one page at a time.