Etiqueta label y atributo for
La etiqueta label en HTML sirve para asociar un texto descriptivo con un elemento de formulario (generalmente inputs, selects o textareas). Gracias a esta asociación:
- Mejora la usabilidad: al hacer clic en la etiqueta, el foco se traslada automáticamente al control asociado.
- Mejora la accesibilidad: los lectores de pantalla identifican la relación entre texto y control de formulario.
1. Sintaxis básica
La forma más común de usar label es mediante el atributo for, que debe coincidir con el id del control:
- for
- Valor de texto que coincide con el
iddel elemento de formulario que describe. - id
- Identificador único dentro del documento que se usa para enlazar la etiqueta.
2. Etiqueta envolvente (sin for)
Otra forma de asociar la etiqueta y el control es anidando el input dentro del label:
En este caso no es necesario usar for ni id, pero:
- La zona clicable incluye todo el contenido dentro del
label. - No podrás referenciar ese control desde otros elementos (por ejemplo, un
aria-describedby).
3. Ventajas y buenas prácticas
- Usar siempre
for+idpara separar estructura (HTML) de contenido visual y facilitar estilos. - Asignar
idúnico a cada input. - Evitar etiquetas
labelvacías o sin texto descriptivo. - Mantener concatenación semántica: texto claro y legible.
4. Ejemplos avanzados
4.1. Agrupación de opciones con fieldset y legend
Para agrupar radio buttons o checkboxes y describirlos en conjunto:
4.2. Texto de ayuda enlazado con aria-describedby
Podemos usar una etiqueta label para el nombre y otra etiqueta (o elemento span) para descripción adicional:
Introduce tu edad en años completos (entre 0 y 120).
4.3. Formularios complejos con varias columnas
Podemos usar una tabla para alinear etiquetas y controles:
| Etiqueta | Control |
|---|---|
5. Errores comunes
- Omitir el
iden el control y usarfor-> no funciona la asociación. - Duplicar
id-> conflicto en el formulario y con scripts. - Dejar
labelsin texto o con texto genérico como ‘clic aquí’.
6. Recapitulación
La etiqueta label junto al atributo for son fundamentales para crear formularios accesibles y usables. Siempre que añadas un control de formulario, asegúrate de definir un label adecuado y asociarlo correctamente mediante for/ id o envolviendo el control en la propia etiqueta.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.