Skip to content
WordPressRule: form-field-multiple-labels•Reviewed Oct 2026

Resolve duplicate or multiple labels for form inputs in WordPress

Form inputs should be associated with exactly one primary label element to avoid conflicting instructions.

What's wrong

Having two `<label for="field-id">` elements referencing the same input can cause screen readers to announce both repeatedly or miss instructions.

Who it affects

Screen reader users receive confusing or duplicated announcements when navigating into the input field.

How to fix on WordPress

Ensure form builders and custom theme templates do not output redundant label tags for the same input ID.

Code example

Problematic Code
PHP
<label for="user-login">Username</label>
<label for="user-login">Enter your username or email</label>
<input id="user-login" name="log" type="text">
Recommended Accessible Code
PHP
<label for="user-login"><?php esc_html_e( 'Username', 'textdomain' ); ?></label>
<input id="user-login" name="log" type="text" aria-describedby="user-login-desc">
<span id="user-login-desc" class="description"><?php esc_html_e( 'Enter your username or email', 'textdomain' ); ?></span>

How to check your fix

Search the template DOM for `for="[input-id]"` and confirm exactly one `<label>` tag matches that ID.

Check if your site has this issue

Scan any public store page free against WCAG 2.2 AA in 30 seconds.

Your session has ended

Sign in again to carry on. Anything you typed on this page is kept.

Signed in another way? Use another method (opens a new tab)