role-img-text-alternative-present

Los elementos con rol `img`, `graphics-symbol` o `graphics-document` deben tener una alternativa textual

automaticWCAG 1.1.1 (A)confianza: highgravedad: seriousperceivable

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

pass
<span role="img" aria-label="Notifications"></span>

`aria-label` proporciona el texto alternativo.

fail
<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.

Ver código fuente