aria-valid-attr
Los atributos aria-* deben estar definidos en la especificación ARIA
Comprueba que cada nombre de atributo aria-* presente en el DOM sea un atributo real definido por la especificación WAI-ARIA.
Ámbito de aplicación. Se aplica a cualquier elemento del DOM compuesto que tenga al menos un atributo cuyo nombre comience con "aria-".
Resultado esperado. Cada nombre de atributo aria-* es un atributo real definido por la especificación WAI-ARIA (detecta errores tipográficos o nombres de atributo inventados, que la tecnología de asistencia ignora silenciosamente y que por tanto constituyen un defecto real y determinista). Devuelve cantTell en lugar de fail: un atributo aria-* que la especificación no define es inerte, por lo que nada cambia en el nombre, rol o valor expuesto del elemento por su presencia. Cuando el autor quiso usar un atributo real y el elemento termina sin nombre, esa ausencia es decisión de las reglas de nomenclatura, no de esta regla. ACT 5f99a7 asigna 1.3.1/4.1.2 como requisitos secundarios, "menos estrictos" que la propia regla.
Qué informa un hallazgo.
attr: el nombre del atributo aria-* que WAI-ARIA no define.
Estos campos de data.details ayudan a leer y reproducir un hallazgo. Salvo reasonCode y los pocos campos que Esquema de salida indica como estables, no son un contrato estable: un campo puede cambiar de nombre o desaparecer en una versión menor, así que no construyas sobre ellos.
Ejemplos
<button aria-label="Save">Save</button>
aria-label es un atributo ARIA real y definido.
<button aria-labeledby="x">Save</button>
aria-labeledby es un error tipográfico (el atributo real es aria-labelledby) y la tecnología de asistencia lo ignora silenciosamente.
Cómo comprobarlo
Cuando esta regla no puede decidir, informa cantTell y deja la pregunta a una persona. Cada pregunta que puede plantear aparece aquí bajo su código de motivo, con los pasos para responderla. Un hallazgo lleva los mismos pasos en howToCheck, en el idioma del análisis. Consulta Esquema de salida.
ARIA_ATTR_INVALID
- Inspeccionar el elemento que indica el informe y anotar el atributo aria-* desconocido.
- Comprobar si es una errata de uno real (aria-lable, aria-labeledby, aria-describeby, aria-hiden) o un gancho inventado (aria-qa, aria-test).
- Si es una errata, abrir el panel Accesibilidad de las herramientas para desarrolladores del navegador y comprobar si lo que aportaría el atributo real (nombre, descripción, estado oculto) está presente de todos modos.
- Con un lector de pantalla, desplazarse hasta el elemento y escuchar lo que se anuncia.
Se cumple. El atributo es un gancho de datos no destinado a las tecnologías de apoyo, o lo que pretendía se aporta de otra forma.
No se cumple. Es una errata de un atributo real y falta su efecto, como un control sin nombre o un contenido decorativo que no queda oculto, lo que incumple WCAG 4.1.2 (ACT 5f99a7).