Skip to main content
HTML Validation

Any “input” descendant of a “label” element with a “for” attribute must have an ID value that matches that “for” attribute.

About This HTML Issue

When nesting an input element inside a label that has a for attribute, the id attribute of the input is required to match it.

The label element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element’s labeled control, either using the for attribute, or by putting the form control inside the label element itself.

When the input is inside the label, there’s no need to specify a for attribute as there can only be one input, as in this example:

<label>
  Age
  <input type="text" name="age">
</label>

However, if the for attribute is specified, then it must match the id of the input like this:

<label for="user_age">
  Age
  <input type="text" name="age" id="user_age">
</label>

Last reviewed: December 11, 2022

Was this guide helpful?

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Ready to validate your sites?
Start your free trial today.