--- title: "Form labels" category: accessibility status: required url: https://webspecification.com/spec/accessibility/form-labels/ updated: "2026-05-29T10:57:27.000Z" sources: - title: "WCAG 3.3.2 — Labels or Instructions (Level A)" url: "https://www.w3.org/WAI/WCAG22/Understanding/labels-or-instructions.html" publisher: "W3C" - title: "WCAG 1.3.1 — Info and Relationships (Level A)" url: "https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html" publisher: "W3C" - title: "Accessibility Checker — Missing Form Label" url: "https://equalizedigital.com/accessibility-checker/empty-missing-form-label/" publisher: "Equalize Digital" - title: "WP Accessibility — Web Forms" url: "https://wpaccessibility.org/" publisher: "WP Accessibility" source_repo: undefined licence: CC-BY-4.0 --- # Form labels > Every form control needs a programmatically associated label. A placeholder is not a label, and an unlabelled input is unusable for screen-reader and voice-control users. ## What it is A label is the human-readable name of a form control. It must be associated with the control in the accessibility tree so that assistive technologies announce it, click targets are extended to the label text, and voice-control users can say the field's name to focus it. ## Why it matters An input without a label is a black box. A screen-reader user hears "edit, blank"; a voice-control user has nothing to say to reach it; a sighted user with a cognitive impairment can lose track of which field they are in when the placeholder disappears on focus. WCAG 3.3.2 (Level A) requires labels or instructions; 1.3.1 (Level A) requires that the relationship between label and field be programmatically determinable. ## How to implement Prefer a visible `