HTML <label> Tag
The HTML <label>
tag is used to define a label for an <input>
element. It improves accessibility and usability by associating a descriptive label with a form control, such as a text field, checkbox, or radio button. When the label is clicked, it focuses or activates the corresponding input element.
The <label>
tag helps users, including those relying on screen readers, understand the purpose of the input field it is associated with.
Basic Syntax of HTML <label> Tag
The basic structure of the <label>
tag is:
<label for="id-of-input">Label Text</label>
<input type="type" id="id-of-input">
The for
attribute of the <label>
tag links it to the id
of the associated <input>
element.
Attributes of HTML <label> Tag
- for: Links the label to the
id
of an<input>
element, enabling interaction and accessibility. - Global Attributes: Supports global attributes like
id
,class
, andstyle
. - Event Attributes: Supports event attributes like
onclick
,onmouseover
, andonfocus
.
Basic Example of HTML <label> Tag
Here’s a simple example of using the <label>
tag with a text input field:
index.html
<!DOCTYPE html>
<html>
<body>
<label for="username">Username:</label>
<input type="text" id="username" name="username">
</body>
</html>
Explanation: The <label>
tag is linked to the <input>
element via the for
attribute. Clicking on the label focuses the input field.
Using Nested Labels
The <label>
tag can also contain the input element as a child, eliminating the need for the for
attribute:
index.html
<!DOCTYPE html>
<html>
<body>
<label>
Email:
<input type="email" name="email">
</label>
</body>
</html>
Explanation: The input field is nested inside the <label>
tag, making the label automatically associated with the input field.
Example with Checkboxes and Radio Buttons
The <label>
tag is often used with checkboxes and radio buttons to make them clickable:
index.html
<!DOCTYPE html>
<html>
<body>
<p>Select your favorite fruit:</p>
<label for="apple">
<input type="checkbox" id="apple" name="fruit" value="apple"> Apple
</label><br>
<label for="banana">
<input type="checkbox" id="banana" name="fruit" value="banana"> Banana
</label><br>
<label for="orange">
<input type="checkbox" id="orange" name="fruit" value="orange"> Orange
</label>
</body>
</html>
Explanation: Each label is linked to a checkbox input field using the for
attribute, making the checkbox clickable when the label is clicked.
Styling the <label> Tag with CSS
You can style the <label>
tag using CSS to enhance its appearance:
index.html
<!DOCTYPE html>
<html>
<head>
<style>
label {
font-size: 16px;
font-weight: bold;
display: block;
margin-bottom: 5px;
color: #333;
}
input {
padding: 8px;
width: 300px;
border: 1px solid #ccc;
border-radius: 4px;
}
</style>
</head>
<body>
<label for="fullname">Full Name:</label>
<input type="text" id="fullname" name="fullname" placeholder="Enter your full name">
</body>
</html>
Result: The label appears bold and distinct above the input field, improving the form’s readability and user experience.
Practical Applications of the <label> Tag
- Improved Accessibility: Enhance accessibility by associating descriptive text with input fields.
- Clickable Forms: Enable users to click on labels to focus on the corresponding input field.
- Structured Forms: Organize form fields with clear and styled labels for better usability.