Forms
Forms are where accessibility problems cost users the most. Test that every field is labelled, instructions are programmatic, and errors are announced and easy to fix.
What to test
- Every field has a programmatic label (<label for> or aria-labelledby).
- Required fields are indicated in text or ARIA, not by color alone.
- Instructions and format hints are associated via aria-describedby.
- Errors are identified in text, tied to the field, and say how to fix them.
- Inputs collecting personal data use the right autocomplete token.
- Submitting with errors announces them (a live region or moved focus).
How to test
- 1Tab to each field and confirm its label is announced.
- 2Submit an empty or invalid form; confirm errors are announced and linked to fields.
- 3Verify each error says what's wrong and how to correct it.
- 4Check required and invalid fields expose aria-required / aria-invalid.
Common failures
- Placeholder used as the only label (it disappears on input).
- Errors shown only in red, with no text or programmatic link.
- An error summary that neither moves focus nor is announced.
- Missing autocomplete on name, email, and address fields.