Accessibility Testing Lab home
Accessibility Testing LabA hands-on environment for practising accessibility testing

Demos

Accessible Forms: The Basics Developers Should Get Right

Compare six working versions of an account form, from missing labels to clear instructions and helpful error handling.

Demonstration only. Use fictional details and a made-up password. Nothing is sent, logged or saved by this demo. Password inputs are masked in all six stages. The deliberately poor examples focus on labels, instructions and feedback.

Enable JavaScript to try the interactive stages. You can still read the related form testing method.

More ways to explore this demo
  • Use Tab and Shift+Tab to move between controls, and Enter to activate stage links or submit. Sidebar links keep focus in the stage list; Previous and Next links take focus to the new stage heading. Both preserve your entries. Reset form clears the entries and feedback in the current stage.
  • Click visible labels. Inspect the browser’s accessibility tree for names, required states, descriptions and invalid states.
  • With a screen reader, compare what you hear when entering each field and after submitting. Announcements vary with the screen reader and browser combination.
  • Try empty fields, a malformed email address and a password shorter than 12 characters. Then correct the values and submit again.

Stages 1–5 are educational comparisons, not recommended complete implementations. The omissions interact; they do not each automatically represent a separate WCAG failure. Automated checks can miss disappearing prompts, missing instructions and unclear recovery. They cannot prove full WCAG conformance.

Based on W3C WAI guidance on labels, instructions, validation and notifications, and ARIA21: identifying invalid fields. Use the Forms Tutorial alongside WCAG 2.2 when reviewing a complete implementation.