From a presentation perspective, if I write a text between a <label>
tag it looks identical as to if I hadn't.
So, why do we use this tag at all?
The <label> tag in HTML is used to provide a usability improvement for mouse users i.e, if a user clicks on the text within the <label> element, it toggles the control. The <label> tag defines the label for <button>, <input>, <meter>, <output>, <progress>, <select>, or <textarea> element.
The <label> tag is used to define a caption for a form control element in an HTML form. Each label is associated with one specific element in a form.
HTML is not about presentation. It is a way of describing data. If you have some text that represents a label for an input, you wrap it in label tags not for presentation but because that's what it is. Without the label tag, that text is almost meaningless. With the label tag and its for
attribute (or not*) you are providing meaning and structure and forming a relationship between your markup that can be better understood by computers/parsers/browsers/people.
* you don't necessarily need the for
if you wrap the label around the input:
<label>My input
<input type="text" id="my-input" />
</label>
The for
attribute of a label
element corresponds to the id
attribute of an input
element. If you click the label, it puts focus on the input box.
Example:
<input type="checkbox" id="agree" />
<label for="agree">I agree with the Terms and Conditions</label>
See this in action.
If you click on the text, it checks the box.
When you click on the label, the focus goes to the related input. Very handy for checkboxes when it is hard to hit the small rectangle.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With