Missing Form Label: Error Explained and Fixed
Also called: Form element has no label, Unlabeled input, Form field without label
Definition
A missing form label means an input field, checkbox, select or textarea has no programmatically associated label or other accessible name. Screen readers announce only the field type, so users do not know what to enter.
A missing form label is one of the most frequent errors in accessibility reports: an input field has no label that is connected to it in the code. Scanners call it "Form element has no label" or "Missing form label". A screen reader then announces "edit text, blank" – and the user has to guess whether the field wants a name, an email address or a voucher code.
What it means
Many forms look labeled but are not. The word "Email" may sit right above the field, yet without a for/id connection it is just text nearby. Placeholder text inside the field is no replacement either: it disappears as soon as someone types and is not reliably announced as a name.
The scanner error maps to WCAG 4.1.2 Name, Role, Value (Level A): every form control needs a name that assistive technology can determine. Two more Level A rules of WCAG 2.2 are closely connected. 3.3.2 Labels or Instructions requires labels when content needs user input – and they must be shown to all users, not only to screen reader users. 1.3.1 Info and Relationships covers whether the visible label is actually tied to its field in the code. W3C points out that a field can pass one of these rules and still fail another.
| Situation | Accessible name? | Result |
|---|---|---|
<label for="email"> + id="email" |
Yes, from the label | Passes |
Field nested inside <label> |
Yes, from the label | Passes |
Only aria-label, no visible text |
Yes, but hidden | Passes 4.1.2, fails 3.3.2 |
| Only placeholder text | Not reliable | Missing form label |
| Visible text, no connection | No | Missing form label |
Examples
<!-- Missing form label: visible text, but not connected -->
<p>Email</p>
<input type="email" placeholder="you@example.com">
<!-- Fixed: label connected via for/id -->
<label for="email">Email</label>
<input type="email" id="email" autocomplete="email">
<!-- Fixed: search field with a hidden label and a named button -->
<input type="search" aria-label="Search the shop">
<button>Search</button>The search button in the last example has text. Without it you would get an empty button right next to the field.
Give every field a visible <label> connected with for/id. Label each part of split fields (day, month, year) and each radio button and checkbox. Group related options with <fieldset> and <legend>.
Use placeholder text as the only label, put a label next to the field without connecting it, or give several fields the same id.
How to fix a missing form label
Forms from plugins and form builders are a common source of the error. On WordPress, check contact, newsletter and checkout forms first. Labels and error messages also need readable color contrast.
Questions
What does "form element has no label" mean?
A field has no accessible name. Screen readers can announce its type but not what you should enter.
Is placeholder text enough as a label?
No. Placeholder text vanishes when typing starts and is not a reliable accessible name. Use a visible label and, if helpful, a placeholder as an extra hint.
Can I use aria-label instead of a visible label?
It gives the field a name and passes 4.1.2. But WCAG 3.3.2 requires labels or instructions that all users can see, so a visible label is the safer choice.
How do I find fields without labels?
Run the free WCAG scanner on your homepage. It reports missing form labels together with errors such as an empty link.
Can allyWay fix missing form labels automatically?
Yes. allyWay finds fields without labels and gives them labels written by AI from your page content, so every form can be filled in. The automatic fixes are applied by the allyWay script; fixes that change what visitors see only go live after your approval, and every fix is logged. Start for free and make your forms usable for screen reader users.
Related terms
Empty Button: What the Error Means and How to Fix It
An empty button is a button element with no accessible name – no text, no aria-label and no alt text on an image inside it. Screen readers announce only that it is a button, not what it does.
Read definition: Empty Button: What the Error Means and How to Fix ItEmpty Link: What the Error Means and How to Fix It
An empty link is a link element that has no accessible name – no text, no alt text on an image inside it and no aria-label. Screen readers can only announce it as a bare link, so users cannot tell where it leads.
Read definition: Empty Link: What the Error Means and How to Fix ItColor Contrast: WCAG Ratios and How to Check Them
Color contrast is the difference in brightness between text or interface elements and their background, measured as a ratio from 1:1 to 21:1. WCAG requires at least 4.5:1 for normal text and 3:1 for large text.
Read definition: Color Contrast: WCAG Ratios and How to Check Them