role-img-text-alternative-present
Los elementos con rol `img`, `graphics-symbol` o `graphics-document` deben tener una alternativa textual
Comprueba que los elementos con role="img", "graphics-symbol" o "graphics-document" proporcionen un texto alternativo accesible mediante aria-label, aria-labelledby, un atributo title, o (para elementos SVG) un <title> como primer hijo.
Ámbito de aplicación. Se aplica a elementos con role="img", role="graphics-symbol" o role="graphics-document" que están incluidos en el árbol de accesibilidad (la exención de "oculto programáticamente" de ACT 23a2a8: display:none/visibility:hidden/aria-hidden="true" en el elemento o en un ancestro, sin excepción para elementos enfocables o referenciados por IDREF, de los que aria-hidden-focus y duplicate-id-aria se encargan por separado). Según ACT 7d6734, esto alcanza a cualquier elemento que tenga uno de estos roles, no solo a la raíz <svg>, por ejemplo un <circle role="graphics-symbol"> anidado dentro de un <svg> simple. La propia raíz <svg> queda a cargo del manejo (ya conforme con ACT) de title/aria-name de svg-text-alternative-present; la etiqueta <img> se excluye aquí porque tiene su propia regla dedicada.
Resultado esperado. Cada elemento aplicable tiene un texto alternativo accesible:
- aria-label con un valor no vacío; O
- aria-labelledby que referencia al menos un elemento existente que aporta texto no vacío; O
- un atributo title no vacío (fuente de nombre accesible de último recurso según HTML-AAM); O
- para un elemento del espacio de nombres SVG, un <title> no vacío como primer hijo (el propio mecanismo de nombrado de SVG-AAM, no solo para la raíz <svg>).
Ejemplos
<span role="img" aria-label="Notifications"></span>
`aria-label` proporciona el texto alternativo.
<span role="img">notifications</span>
El contenido de texto no es una fuente de nombre válida para un elemento con role="img" explícito.