2012-01-04 101 views
9

me he dado cuenta de que una etiqueta etiqueta HTML no necesita el 'para' atributo cuando se pone el elemento de entrada en el elemento de etiqueta:¿Es necesario el atributo "for" en la etiqueta HTML?

<label><input type="text">Last name</label> 

Pero me preguntaba cuál es la mejor práctica. ¿Alguien me puede ayudar con eso?

Gracias!

+0

Como dijo WebMonster, está bien hacerlo a su manera. Simplemente mantenga su uso constante a lo largo de su código. – Crontab

+0

Me di cuenta hoy de que [la documentación de Bootstrap utiliza ambos en el mismo formulario] (http://getbootstrap.com/css/#forms-inline). Parece que el atributo 'for' está destinado * solo si * no puede o no coloca el' 'dentro del'

Respuesta

7

Se utiliza para la accesibilidad para lectores de pantalla y similares, es decir

use_the_label_element_to_make_your_html_forms_accessible

Por lo que debe usarlo. Y aquí hay un link para convencerlo sobre la importancia de la accesibilidad.

Y aquí hay una pequeña anécdota: hacer que su sitio sea accesible puede beneficiar a todos los usuarios; siempre me sorprendió la cantidad de esfuerzo que las autoridades civiles tuvieron para acceder a una silla de ruedas hasta que tuve una hija y utilicé una silla de paseo. Creo que los sitios web siguen la misma regla: todos se benefician.

Disculpas por la polémica

9

El estándar states:

para (IDReference) Este atributo asocia explícitamente la etiqueta con un control de formulario. Cuando está presente, el valor de este atributo debe ser el mismo que el valor del atributo id del control de formulario en el mismo documento. Cuando no existe, la etiqueta que se está definiendo está asociada con el control dentro del elemento de etiqueta. Así que está bien usarlo de esa manera.

3

Puede incluir la input en su label y se asocia con el label, o si por alguna razón usted tiene que tener su elemento label en el DOM en otro lugar, puede especificar su significado con el atributo for. Nunca duele usar el atributo for de ninguna manera :)

2

El atributo for no hace mucha diferencia con una entrada de texto, pero es muy útil con una entrada de casilla de verificación, ya que permite a los usuarios hacer clic en la etiqueta como así como la casilla de verificación en sí:

<label for="chk">Checkbox</label><input type="checkbox" id="chk" /> 

Además, el código HTML necesita un poco de poner en orden - la etiqueta de entrada necesita ser cerrado, y no debe estar dentro de la etiqueta:

<label>Last Name</label><input type="text" /> 

o si usted quiere la etiqueta a la derecha, entonces:

<input type="text" /><label>Last Name</label> 
Cuestiones relacionadas