aria-prohibited-attr
Los atributos de nombrado ARIA no deben usarse en roles que los prohíben
Comprueba que aria-label/aria-labelledby no estén presentes en roles WAI-ARIA cuya especificación prohíbe explícitamente el nombrado ARIA (p. ej. generic, emphasis, strong, paragraph).
Ámbito de aplicación. Se aplica a (a) elementos cuyo rol explícito y válido es uno de los roles de ARIA 1.2 con una lista documentada de "Prohibited ARIA States and Properties" para atributos de nombrado (roles puramente de semántica textual / estructurales sin nombrado: caption, code, deletion, emphasis, generic, insertion, mark, none, paragraph, presentation, strong, subscript, suggestion, superscript, time), y (b) elementos sin ningún rol: un conjunto seleccionado de etiquetas HTML nativas verificadas como carentes de rol implícito (véase ROLELESS_NATIVE_TAGS más abajo), o cualquier elemento personalizado autónomo (una etiqueta con guion definida por el autor según la especificación Custom Elements; véase isRolelessCustomElementTag más abajo). En ambos casos, solo elementos que además tengan aria-label o aria-labelledby.
Resultado esperado. Los atributos prohibidos no deben estar presentes en (a); para (b), el atributo de nombrado es, en el mejor de los casos, poco fiable (no hay nada consciente del nombre accesible a lo que asociarlo) y, en el peor, ignorado silenciosamente por la tecnología de asistencia. Véase la nota de implementación de la rama sin rol más abajo para la división de confianza que esto produce.
Ejemplos
<div role="generic"></div>
role="generic" no se puede nombrar, y ninguno de los atributos de nombrado está presente.
<div role="generic" aria-label="Something"></div>
`aria-label` está establecido en un rol al que WAI-ARIA prohíbe nombrar.