La Etiqueta LABEL

Se utiliza para asociar un texto descriptivo con un elemento de formulario.
La etiqueta <label>
se utiliza para asociar un texto descriptivo con un elemento de formulario (como <input>
, <select>
, o <textarea>
). Esto mejora la accesibilidad (para lectores de pantalla) y la usabilidad, ya que al hacer clic en el texto de la etiqueta, el campo asociado se enfoca o activa.
Sintaxis básica
Hay dos formas de usar <label>
:
Vinculación explícita con for
e id
Asocia la etiqueta a un elemento usando el atributo for
(que debe coincidir con el id
del elemento).
<label for="nombre">Nombre:</label> <input type="text" id="nombre">
Vinculación implícita (anidando el elemento)
El elemento de formulario se coloca dentro de la etiqueta:
<label> Edad: <input type="number"> </label>
Beneficios clave
-
Accesibilidad: Los lectores de pantalla anuncian el texto de la etiqueta al enfocar el campo.
-
Usabilidad: El área clickeable se amplía (útil en móviles y checkboxes/radios).
-
Claridad: Los usuarios saben qué dato deben ingresar.
Ejemplos prácticos
Ejemplo 1: Campo de texto básico
<label for="email">Correo electrónico:</label> <input type="email" id="email" placeholder="ejemplo@email.com">
Resultado:
Al hacer clic en "Correo electrónico", el campo de texto se enfoca.
Ejemplo 2: Checkbox y Radio buttons
<!-- Checkbox --> <label for="terminos"> <input type="checkbox" id="terminos"> Acepto los términos </label> <!-- Radio buttons --> <label for="hombre"> <input type="radio" id="hombre" name="genero"> Hombre </label> <label for="mujer"> <input type="radio" id="mujer" name="genero"> Mujer </label>
Resultado:
Hacer clic en el texto activa el checkbox o radio button.
Ejemplo 3: Lista desplegable (<select>
)
<label for="pais">País:</label> <select id="pais"> <option>México</option> <option>España</option> </select>
Ejemplo 4: Textarea
<label for="mensaje">Mensaje:</label> <textarea id="mensaje" rows="4"></textarea>
Estilizar etiquetas con CSS
Puedes personalizar las etiquetas para que tus formularios se vean más profesionales:
label { display: block; /* Hace que cada label esté en una línea nueva */ margin-bottom: 8px; font-weight: bold; color: #333; } /* Estilo para checkboxes/radios (alineación horizontal) */ label input[type="checkbox"], label input[type="radio"] { margin-right: 5px; }
Errores comunes
No vincular for
e id
:
Si usas for
, asegúrate de que el id
del elemento coincida.
<!-- Incorrecto --> <label for="edad">Edad:</label> <input type="number" id="edades">
Etiquetas no descriptivas:
Evita textos genéricos como "Haz clic aquí".
<!-- Incorrecto --> <label for="input1">Input 1:</label> <!-- Correcto --> <label for="direccion">Dirección:</label>
Mejores prácticas
Usa <label>
siempre: Incluso si ocultas visualmente el texto (para accesibilidad).
Agrupa elementos relacionados: Con <fieldset>
y <legend>
:
<fieldset> <legend>Información de contacto</legend> <label for="telefono">Teléfono:</label> <input type="tel" id="telefono"> </fieldset>
Combina con ARIA: Para casos avanzados, usa aria-labelledby
o aria-label
.
¿Por qué es crucial en móviles?
En dispositivos táctiles, el área clickeable de checkboxes y radios es pequeña. Con <label>
, el usuario puede tocar el texto para seleccionar la opción.
Prueba de accesibilidad
-
Usa un lector de pantalla como NVDA o VoiceOver.
-
Navega por el formulario usando la tecla <kbd>Tab</kbd>.
-
Verifica que el texto de la etiqueta se anuncie claramente.
Con este tutorial, podrás crear formularios más accesibles, usables y profesionales. ¡Empieza a usar <label>
en todos tus proyectos!