Form field has no label
Why it matters
Without a label, a screen reader says "edit text" and the person has to guess what to type. Voice control users cannot name the field. A label also makes the click target larger.
How to fix it
Connect a visible <label> to the field using for and id. If the design truly has no room for a visible label, use aria-label as a last resort.
<!-- Before -->
<input type="email" name="email">
<!-- After -->
<label for="email">Email address</label>
<input type="email" id="email" name="email"> Read the W3C guidance: Understanding 1.3.1 Info and Relationships.
Related rules
- Heading levels are skipped (WCAG 1.3.1)
- Heading is empty (WCAG 1.3.1)
- Several navigation areas share no labels (WCAG 1.3.1)
- List item is outside a list (WCAG 1.3.1)
Find this on your own site. A11yMate scans every page and lists where it happens. See pricing or browse all rules.