32 votes

Rendre la case à cocher et les étiquettes radio cliquables

Un grand nombre de (oserais-je dire de plus?) les sites ne font pas les étiquettes cliquables pour leur case de radio et entrées. Il semble être un énorme convivialité gain pour très peu d'effort. Il y a aucune compatibilité/fonctionnalités/problèmes d'utilisation, avec l'aide d' <label> à décourager les développeurs d'utiliser cette balise?

Edit: Même StackOverflow semble coupable de cela, par exemple, lorsque vous posez une question, les Informer quotidiennement de nouvelles réponses case étiquette n'est pas cliquable.

32voto

Ray Points 12711

Aucune raison autre que la paresse. <label> s sont essentiels pour l'accessibilité, et sont également très pratiques pour ceux d'entre nous qui ont un mauvais objectif avec nos clics de souris :)

8voto

Sarfraz Points 168484

Non, cela ne pose aucun problème, mais malheureusement, c'est l' une des balises html les plus ignorées . D'accord, cette balise est extrêmement importante pour des raisons d'accessibilité et de plus en ce qui concerne les dispositions pour les petits appareils tels que les mobiles, vous ne pouvez pas vous en passer.

3voto

Paul D. Waite Points 35456

La seule difficulté que je peux penser, c'est que votre formulaire de contrôles doivent avoir un attribut ID et l'ID d'attributs doivent être uniques au sein de votre page.

Si la création de champs de formulaire par programmation, vous devez générer un ID unique pour chacun d'entre eux à l'intérieur de chaque page, ils sont apparus sur. Ce pourrait être un problème.

Mais en général, oui, je pense que c'est juste que les programmeurs n'ont pas dans leur tête.

Dans ASP.NET WebForms (ou de ce qu'il avait appelé), vous voulez que l' AssociatedControlID attribut sur l' <asp:Label> élément.

3voto

Isurus Points 21

Et voici une démonstration pour ceux qui cherchent à le faire.

Il existe un moyen de connecter le texte à proximité d'un élément de formulaire avec l'élément lui-même, de sorte que l'un ou l'autre peut être cliqué pour activer le contrôle:

qu'aimeriez-vous avec votre boisson?

 <label for="ice1"><input type="checkbox" name="withice" id="ice1">ice</label> 
<label for="ice2"><input type="checkbox" name="withlid" id="ice2">plastic lid</label>
<label for="ice3"><input type="checkbox" name="withstraw" id="ice3">straw</label>
 

1voto

Veger Points 17657

<label> est un pur balise HTML pas de JavaScript est nécessaire. Je suppose que tous les (grands) prise en charge du navigateur cette balise, car il est très facile à mettre en œuvre.

Beaucoup de développeurs ne sont pas à l'utiliser car:

  • il nécessite plus d'efforts (en ajoutant tous les tags partout)
  • ils ne connaissent pas l'existence
  • ils ne pensent pas que c'est pratique?!

Mais il n'y a pas de raison de ne pas utiliser la balise. Sauf si vous êtes très limité avec votre bande passante, peut-être?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X