A11Y-003
Form fields have no label
MediumDefault severity · Accessibility · Accessibility (WCAG 2.2 AA)
Last reviewed
What it checks
Visible inputs, selects and textareas with no accessible name: no <label>, aria-label, aria-labelledby, title or placeholder (axe-core accepts a placeholder as a last resort). Hidden spam-trap fields are ignored.
Why it matters
Screen-reader and voice-control users cannot tell what to type, and the field disappears from view once filled.
Recommended fix
Give every field a visible <label for="…"> (or an aria-label when a visible label is impossible).
How to verify
Click each label and confirm it focuses its field; check fields are announced correctly with a screen reader.
Example fix prompt
Generic prompt (your report adds the evidence)
Please fix this production issue in my app.
Issue A11Y-003: Form fields have no label
Site: https://your-app.example
First confirm the issue in the code or live config. If it is not present, say so and change nothing.
Task: Add an accessible label to each form field listed in the evidence: a visible <label> connected with for/id where the design allows, otherwise an aria-label describing the field. Keep the existing placeholders and styling.
Constraints: make the smallest change that fixes this, keep the current design and behaviour, never paste secret values into code or chat, and tell me which files you changed.
Done when: Click each label and confirm it focuses its field; check fields are announced correctly with a screen reader.