- Success Criterion 1.3.1
- Conformance level A
Form Fields With No Programmatic Label of Any Kind
1.3.1 — Info and Relationships
Scenario
Setting
A hotel booking site's room-selection page
What’s wrong
Form inputs with no programmatic label (label, aria-label, aria-labelledby (code pointing to the element that names it), title) — placeholder used as the only label.
Example
A tester reviewing a hotel booking site's room-selection page finds this: form inputs with no programmatic label (label, aria-label, aria-labelledby (code pointing to the element that names it), title) — placeholder used as the only label.
Why it matters
Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout. On a hotel booking site's room-selection page specifically, they can't navigate the content by its real structure.
How to test
Tab to every form field and listen: fields with only a placeholder (no label) announce nothing useful once you start typing — placeholder text disappears from the announcement.
How to fix
Associate a programmatic label with every input (label for/id pairing (code tying a label to its field) preferred) — placeholder is a hint, not a label.
Outcome
Fixed, a visitor to a hotel booking site's room-selection page can move through the content with confidence.
Who is affected
Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Text Styled to Look Like a Heading Instead of Coded as One
- Text Columns Faked With Spaces Instead of Real Table Markup
- Table Layout Faked With Spaces Instead of Real Table Code
- Clickable Div Acting as a Link Button With No Real Role
- Structural HTML Tags Used Purely for Visual Styling
- Layout-Only Table Wrongly Coded With Real Header Cells