El for
atributo asocia la etiqueta con un elemento de control, como se define en la descripción de label
la especificación HTML 4.01. Esto implica, entre otras cosas, que cuando el label
elemento recibe el foco (por ejemplo, al hacer clic en él), pasa el foco a su control asociado. La asociación entre una etiqueta y un control también puede ser utilizada por agentes de usuario basados en voz, lo que puede proporcionar al usuario una forma de preguntar cuál es la etiqueta asociada, cuando se trata de un control. (La asociación puede no ser tan obvia como en la representación visual).
En el primer ejemplo en la pregunta (sin el for
), el uso del label
marcado no tiene implicaciones lógicas o funcionales; es inútil, a menos que haga algo con él en CSS o JavaScript.
Las especificaciones HTML no hacen obligatorio asociar las etiquetas con los controles, pero las Pautas de Accesibilidad al Contenido en la Web (WCAG) 2.0 sí. Esto se describe en el documento técnico H44: el uso de elementos de etiqueta para asociar etiquetas de texto con controles de formulario , que también explica que la asociación implícita (anidando, por ejemplo, input
dentro label
) no es tan ampliamente compatible como la asociación explícita vía for
y id
atributos,