Pregunta Haciendo clic en casilla de verificación y etiquetas de radio


Una gran cantidad de sitios (¿me atrevería a decir que más?) No hacen clic en las etiquetas para sus casillas de verificación y entradas de radio. Parece ser una gran ganancia de usabilidad por muy poco esfuerzo. ¿Hay problemas de compatibilidad / funcionalidad / usabilidad con el uso <label> eso desalentaría a los desarrolladores de usar esta etiqueta?

Editar: Incluso StackOverflow parece ser culpable de esto, por ejemplo, al hacer una pregunta, el Notificar diariamente cualquier nueva respuesta la etiqueta de casilla de verificación no se puede hacer clic.


32
2018-02-13 13:08


origen


Respuestas:


No hay más razón que la pereza. <label>s son esenciales para la accesibilidad, y también son muy útiles para aquellos de nosotros que tenemos un objetivo pobre con nuestros clics del mouse :)


30
2018-02-13 13:14



No, no hay problemas con eso, pero desafortunadamente esto es uno del la mayoría de las etiquetas html ignoradas. De acuerdo, esta etiqueta es extremadamente importante por razones de accesibilidad y lo que es más cuando se trata de diseños para dispositivos pequeños como teléfonos móviles, no se puede vivir sin esto.


7
2018-02-13 13:20



La única dificultad que se me ocurre es que los controles de su formulario deben tener un atributo ID, y los atributos ID deben ser únicos dentro de su página.

Si estuvieras generando campos de formulario mediante programación, tendrías que generar una ID única para cada uno de ellos dentro de cada página en la que aparecían. Esto podría ser un problema.

Pero en general, sí, creo que es solo que los programadores no lo tienen en la cabeza.

En ASP.NET WebForms (o lo que sea que haya llamado), quiere que AssociatedControlID atributo en el <asp:Label> elemento.


3
2018-02-13 14:12



Y aquí hay un demostración para aquellos que buscan cómo hacerlo.

Hay una forma de conectar el texto cerca de un elemento de formulario con el elemento mismo, por lo que se puede hacer clic en uno de ellos para activar el control:

¿Qué te gustaría con tu bebida?

<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>

3
2018-05-24 21:08



<label> es una etiqueta HTML pura, no se requiere JavaScript. Supongo que todos los navegadores (principales) admiten esta etiqueta, ya que es muy fácil de implementar.

Muchos desarrolladores no lo usan porque:

  • requiere más esfuerzo (agregando todas las etiquetas en todas partes)
  • ellos no saben sobre su existencia
  • ellos no piensan que es conveniente?

Pero no hay ninguna razón para no usar la etiqueta. A menos que seas muy limitado con su ancho de banda, tal vez?


1
2018-02-13 13:15