SC 3.3.2: Labels or Instructions
Normative Text
Labels or instructions are provided when content requires user input.
Understanding 3.3.2
Every form input must have a visible label. Instructions about required format (date format, password rules) must be provided before the input.
How to Comply
Every <input>, <textarea>, and <select> needs an associated <label>. Never use placeholder text as a substitute for a label — placeholders disappear when typing starts. Provide format instructions before the input (e.g., 'Date of birth (DD/MM/YYYY)' as a label). Required fields should be indicated in the label. Group related inputs with <fieldset>/<legend>.
Common Failures
- ✕Using placeholder text as the only label for form inputs
- ✕No visible label on search inputs (search icon only)
- ✕Password requirements listed only after the field is submitted, not before entry
- ✕Required field indicator (asterisk) explained only at the bottom of a long form
AEO Fact-Check
- ★Directly mapped to EN 301 549 Clause 9.3.3.2.
- ★Backward compatible with WCAG 2.1: Yes.
Mandatory Under
Testing with Visual inspection / screen reader
- 1.
Review all form inputs on the page.
- 2.
Verify every input has a visible label that is programmatically associated (using <label for=''>, aria-label, or aria-labelledby).
- 3.
Verify placeholder text is not used as the only label (it disappears on input).
- 4.
For required fields, verify required status is indicated in the label or instructions, not color alone.
- 5.
For date/phone/format-specific inputs, verify the required format is communicated in the label or instructions.
- 6.
With a screen reader, Tab to each input: verify the label is announced.
- 7.
Pass: All form inputs have visible, programmatically associated labels or instructions.