Uno de los mayores quebraderos de cabeza que he tenido siempre que he estado maquetando formularios, ha sido el que fuesen accesibles por lectores de pantalla. Siempre me preguntaba si generaría algún problema realizar el marcado utilizando listas desordenadas.
Después de haber buscado respuestas por varios blogs, foros, etc. he encontrado estas tres pequeñas lógicas para tener en cuenta:
1. Lo ideal sería utilizar ambos tipos de asociación, encerrando el control dentro de la etiqueta y añadiendo los atributos id/for:
<label for="tx-nombre">
Nombre:
<input id="tx-nombre" type="text" value="nombre" />
</label>
2. Lo mejor sería no utilizar listas de selección múltiple, son más bien complicadas de manejar sólo con el teclado, e incluso con el ratón no todo el mundo sabe cómo usarlas y tienden a escoger sólo una opción. Es preferible usar grupos de casillas de verificación encerradas en un fieldset.
3. Lo ideal sería utilizar una solución que funcione sin javascript, pero que si se tiene activado javascript añada funcionalidad. Eso sí, hay que verificar que esos scripts no provoquen problemas con los productos de apoyo (lectores de pantalla, por ejemplo), ya que la mayoría de los combos dinámicos suelen llevarse mal con los lectores de pantalla y el acceso con el teclado.
Espero que os sirva de ayuda.











