• 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

<div class="heading">Shipping Address</div>

Why it matters

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.

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.

<h2>Shipping Address</h2>

A real heading element exposes the section structure to assistive tech; a styled div doesn't.

Outcome

On a hotel booking site's room-selection page, this barrier is gone for screen-reader, braille — they can finish what they came here to do.

Who is affected

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.

Learn more