You might see <label> Element reference while reading someone else’s HTML, or need it while building a page of your own. Instead of memorizing a definition, look at a working example and see when the element makes sense.
The Idea in Plain English
Gives a form control its accessible name. The for attribute points to the control ID, or the label can wrap the control directly.
For a reference page, pay attention to where the element is allowed, whether it needs a closing tag, and what other elements it can contain.
A Working Example
Read the sample once before copying it. Notice the element names and attribute values, then compare them with the explanation below.
<label for="email-address">Email address</label>
<input type="email" id="email-address" name="email" required>
What Each Part Does
- The label tells visitors and assistive tools what a control is for.
- The input creates a field; its type changes the editing controls and the name identifies submitted data.
- for connects a visible label to the control with the same ID.
- type chooses the relevant kind of script, input, media or embedded object.
- id names an element for labels, fragments, CSS or JavaScript; IDs should be unique.
Clicking the label focuses the email field; screen readers can announce it.
Try It Yourself
Try replacing the example content with your own while keeping the valid HTML structure.
Common Beginner Mistakes
- Using only placeholder text for the accessible name.
- Changing several parts of the example at once, making it difficult to see which part caused a different result.
- Choosing a tag only because its default appearance looks right, without checking whether it describes the content correctly.
Key Takeaways
- Gives a form control its accessible name. The for attribute points to the control ID, or the label can wrap the control directly.
- Clicking the label focuses the email field; screen readers can announce it.
- Test the markup in a browser, and check accessibility and real-world behavior where relevant.