aria-text

Los elementos role="text" no deberían tener descendientes enfocables

manualconfianza: mediumgravedad: minorrobust

Comprueba que los elementos con role="text" no contengan ningún descendiente enfocable (link, button, control de formulario, tabindex, iframe o contenteditable).

Ámbito de aplicación. Elementos cuyo atributo role tiene el token text, sin distinguir mayúsculas de minúsculas, antes de cualquier token que nombre un rol de WAI-ARIA, por lo que role="foo text" y role="TEXT" cuentan, mientras que role="link text" (un enlace) no.

Resultado esperado. role="text" no nombra ningún rol de WAI-ARIA (ni WAI-ARIA 1.2 ni el borrador de la 1.3 lo definen; aria-roles-valid lo informa), pero algunas tecnologías de asistencia lo han leído como una petición de tratar todo el subárbol de un elemento como una única unidad de texto plano (p. ej. texto dividido visualmente entre varios <span> por estilos). Eso solo tiene sentido cuando el subárbol no contiene contenido enfocable: un descendiente enfocable dentro de una región "esto es solo texto" resulta inalcanzable o confuso para usuarios de teclado/tecnología de asistencia.

Ejemplos

pass
<span role="text">Plain text with no interactive content.</span>

No existe ningún descendiente enfocable dentro del elemento role="text".

can't tell
<span role="text">Some text with <a href="#">a link</a> inside it.</span>

role="text" indica a la tecnología de asistencia que trate esto como una única cadena plana, pero el enlace anidado sigue siendo enfocable e interactivo por debajo.

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.

ROLE_TEXT_HAS_FOCUSABLE_DESCENDANT

  1. Inspeccionar el elemento que indica el informe y localizar el elemento enfocable que contiene.
  2. Pulsar Tab hasta que ese elemento tenga el foco, con un lector de pantalla en marcha, y escuchar lo que se anuncia.
  3. Intentar activarlo con Intro o Espacio.

Se cumple. El elemento enfocable se anuncia con su rol y su nombre y se puede usar, o no necesita ser enfocable.

No se cumple. El elemento enfocable se anuncia como texto sin más, o no se anuncia, así que los usuarios no saben que es interactivo (buena práctica, WAI-ARIA Authoring Practices).

Ver código fuente