Muchos sitios web de demostración de ARIA utilizan códigos como:
<label for="name" id="label-name">Your Name</label>
<input id="name" aria-labelledby="label-name" type="text">
Pero, ¿cuál es el propósito de usar aria-labelledby
atributo en este caso? El input
elemento ya ha sido etiquetado por el label
elemento que usa el for
atributo, ¿no es así?
html
label
accessibility
wai-aria
Ian Y.
fuente
fuente
Respuestas:
Hay algunos buenos ejemplos de su uso en las páginas de Mozilla Developer . Quizás el mejor de sus ejemplos es donde se usa para asociar un menú emergente con el elemento del menú principal: es el Ejemplo 7 en la página:
<div role="menubar"> <div role="menuitem" aria-haspopup="true" id="fileMenu">File</div> <div role="menu" aria-labelledby="fileMenu"> <div role="menuitem">Open</div> <div role="menuitem">Save</div> <div role="menuitem">Save as ...</div> ... </div> ...
Los atributos de ARIA tienden a ser de mayor utilidad en la creación de aplicaciones de Internet enriquecidas y accesibles : siempre que se ciña a HTML semántico estándar, utilizando formularios con etiquetas estándar, no debería necesitarlo en absoluto: por lo que no hay razón para usarlo en un par LABEL / INPUT. Pero si está construyendo una "interfaz de usuario rica" desde cero (DIV y otros elementos de bajo nivel con javascript que agrega interactividad), entonces es esencial que un lector de pantalla sepa cuál es la intención de nivel superior.
fuente
Siempre hay problemas de soporte de UA con cualquier cosa nueva, por eso los desarrolladores buscan la mejora progresiva. Esta técnica ARIA proporciona la capacidad de eliminar el atributo "para" y permite que otros elementos formen parte de la forma rica. Estas técnicas se convertirán en una práctica común.
fuente