Skip to content
English
  • There are no suggestions because the search field is empty.

A: Form fields should only have one label element (WCAG 3.3.2)

This means

Each form field may only have one label element that clearly describes its function. Multiple labels for the same input field lead to conflicting information for screen readers, as it is not clear which label should be read aloud. Labels should explain the purpose of the field, for example, “email address” or “password.”

Impact

If a form field has multiple labels, users with screen readers cannot recognize which information is relevant. The label is output twice or in the wrong order. This makes it difficult to understand, leads to incorrect entries, and violates WCAG 3.3.2 (A) Labels or instructions.

Recommendation

  • Use only one label element per input field.
  • If you need additional information (e.g., mandatory fields or format specifications), place it outside the label or use aria-describedby.
  • Make sure that the label is clear, concise, and understandable.
  • Test forms with a screen reader or keyboard navigation to ensure that the assignment works.

 

Examples

Problematic:

<label for="email">Email address</label>

<label for="email">Required field</label>

<input id="email" type="email" name="email">

 

Better:

<label for="email">Email address <span aria-hidden=“true”>*</span></label>

<input id="email" type="email" name="email" aria-describedby=“email-hint”>

<span id="email-hint">Required field</span>

 

Explanation:

In the first example, there are two label elements for the same input field. This is not clear for screen readers.

In the second example, only one label is used. The addition “Required field” is semantically correctly linked via aria-describedby.

 

Note

Multiple labels for the same field are technically permitted, but are not reliably supported by assistive technologies. Only the first label should ever be used to ensure accessibility.

 

Related WCAG criterion:

WCAG 3.3.2 – Labels or instructions

To the official WCAG documentation →