3.3.2 Labels or Instructions
Level A · added in WCAG 2.0
When a form asks for input, you must give labels or instructions that explain what to enter. Required fields and expected formats should be clear before the user makes a mistake.
Who it helps
People with cognitive or memory disabilities need visible guidance that stays on screen while they type. Screen magnifier users, older users and anyone filling a long form benefit from clear labels and format hints.
How to meet it
- Give every field a visible label, placed close to the field, and connect it with label for and id.
- State the expected format in text, such as "Date of birth (MM/DD/YYYY)".
- Mark required fields in text, such as "(required)", and explain any symbol you use.
- Group related inputs, such as radio buttons, in a fieldset with a legend.
- Do not rely on placeholder text as the only label, because it disappears when the user types.
Examples
<input type="text" name="dob" placeholder="Date of birth"><input type="radio" id="s" name="plan"> <label for="s">Standard</label>
<input type="radio" id="p" name="plan"> <label for="p">Priority</label><label for="dob">Date of birth (MM/DD/YYYY)</label>
<input type="text" id="dob" name="dob" autocomplete="bday"><fieldset>
<legend>Shipping speed (required)</legend>
<input type="radio" id="s" name="plan" required> <label for="s">Standard</label>
<input type="radio" id="p" name="plan"> <label for="p">Priority</label>
</fieldset>Can a scanner detect this?
Partly
Automated tools can flag fields with confusing multiple labels, and fields with no accessible name are caught under 4.1.2. They cannot judge whether a label or instruction is visible, clear or complete enough for the task.
axe-core rules that test it
form-field-multiple-labels
Common mistakes
- Using placeholder text instead of a label that stays visible.
- Marking required fields with a red asterisk that is never explained.
- Hiding format rules, such as password requirements, until after the user submits.
- Giving a field an aria-label for screen readers but no visible label for everyone else.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026