2009-03-30 7 views
45

Juste couru à travers un paramètre for dans une balise HTML label:Quel est le "pour" dans une étiquette d'étiquette?

<label for="required-firstname"> First Name </label> 
<small>*</small> 
<input name="required-firstname" type="text" tabindex="2" 
     id="required-firstname" size="24" maxlength="40"> 

Je suis convertir ce formulaire à un script PHP traité, puis-je me débarrasser des paramètres pour =? (Et par curiosité, que fait-il?)

Répondre

70

De w3schools.org:

La balise définit une étiquette pour un élément d'entrée.

L'élément d'étiquette ne rend rien de spécial pour l'utilisateur. Cependant, il fournit une amélioration de l'utilisabilité pour les utilisateurs de souris, car si l'utilisateur clique sur le texte dans l'élément d'étiquette, il bascule le contrôle.

L'attribut for de la balise doit être égal à l'attribut id de l'élément associé pour les lier ensemble.

HTH! En plus de l'ajout de $ .02 en tant que PME d'Accessibilité, LABEL associe également le champ de saisie au bon libellé pour que les personnes utilisant des lecteurs d'écran sachent à quoi sert ce champ.

+12

+1 'si l'utilisateur clique sur le texte de l'élément d'étiquette, elle active l'control.' – squixy

5

Il lie l'étiquette à un ID d'élément de formulaire. Certains éléments de formulaire, comme les cases à cocher, peuvent être activés en cliquant sur leur étiquette.

3

Dans certains navigateurs, lorsque vous cliquez sur un texte dans une balise for, vous cochez la case associée (c'est-à-dire l'identifiant for = id) ou mettez le focus sur cette zone. C'est une chose ADA

16

La balise d'étiquette HTML définit une étiquette pour un élément de formulaire. Ils sont généralement utilisés avec des cases à cocher et des boutons radio, et lorsque l'utilisateur clique sur l'étiquette, il bascule le bouton. Avec une saisie de texte (et vous devrez vérifier cela pour être sûr), je pense que cela ne fait que mettre l'accent sur l'entrée lorsque l'utilisateur clique sur l'étiquette.

8

Il spécifie à quel élément est lié ce label. Dans votre exemple de code, l'étiquette est là pour le requis-prénom champ de saisie. Si l'utilisateur clique sur cette étiquette, le focus ira dans le champ de saisie lié. C'est une amélioration de l'utilisabilité et je pense que vous feriez mieux de le laisser tel quel. C'est une bonne pratique.

5

L'attribut "for" est un élément nécessaire pour l'accessibilité de votre formulaire. Ne l'omettez pas. Pour qu'une personne utilisant un lecteur d'écran (SR) se voie annoncer une page Web, l'attribut "for" associe le contrôle à l'étiquette. Typiquement, un utilisateur SR va tabuler à travers un formulaire, d'un contrôle (qui est un élément focalisable pour le SR) à l'autre. Sans l'attribut "for", l'utilisateur SR devra changer de mode sur le SR et sonder le formulaire pour essayer de déterminer quel contrôle correspond à l'étiquette, ce qui peut prendre du temps et créer de la confusion. L'attribut "pour" peut également être utile pour la technologie d'assistance relative aux problèmes moteurs.

WebAIM.org a une grande page expliquant les conséquences d'accessibilité « pour »: http://webaim.org/techniques/forms/controls

Questions connexes