Definition: A form label tells people what belongs in a field – "Email address", for example. It is accessible when it is visible and tied to the field in the code, so screen readers read it out with the field. Placeholder text inside the field does not replace it [1][2].
German: Formularbeschriftung · Also: label · Last reviewed: 27 September 2026
Why it matters
Forms are often where people want to get something done: order, book, sign up. Without a label, a blind person hears only "edit text, blank" and has to guess. A visible label also helps people with cognitive disabilities, partially sighted people who zoom in a long way, and anyone coming back to a half-completed form.
The link in the code has a second benefit: clicking the label moves focus into the field. For small checkboxes, that makes the target much larger.
Which WCAG criteria are involved
- 1.3.1 Info and Relationships: the relationship between label and field must be in the code, not only visible side by side.
- 3.3.2 Labels or Instructions: where input is required, there are labels or instructions – for a date format, say.
- 4.1.2 Name, Role, Value: the field has an accessible name.
- 2.5.3 Label in Name: the visible text is part of the accessible name, so voice control works.
Common mistakes
- Placeholder only: it disappears as you type, often has too little contrast, and is not reliably announced as the name by every screen reader.
- A label that is not linked: a
<span>above the field looks like a label but isn't one. - Groups without a heading: "Yes" and "No" radio buttons without
<fieldset>and<legend>– yes to what? - Required fields marked only with a red asterisk and no explanation.
In code
<!-- No label: a placeholder only -->
<input type="email" placeholder="Email">
<!-- Visible and linked -->
<label for="email">Email address</label>
<input id="email" type="email"
autocomplete="email" required>
For groups, wrap the options in <fieldset> and put the shared question in <legend>.
How Reviseberg handles it
Reviseberg uses axe-core to find fields without an accessible name (rule label) and select menus with no label (select-name). Whether a label is understandable, or whether a format hint is missing, is not something any rule can decide, so Reviseberg treats 3.3.2 as only partly testable by automation.
Related terms
Accessible name · Semantic HTML · Screen reader · Voice control · Live region