aria-allowed-role

El rol explícito debe estar permitido en el elemento al que se aplica

automaticconfianza: highgravedad: moderaterobust

Comprueba que el rol explícito sea uno de los permitidos por ARIA in HTML para el elemento HTML al que se aplica.

Ámbito de aplicación. Se aplica a elementos con un rol explícito, válido y no abstracto, donde la combinación de elemento HTML y atributo tiene una restricción de roles permitidos declarada en la tabla de roles permitidos de la especificación ARIA in HTML.

Resultado esperado. El rol explícito es uno de los roles que la especificación ARIA-in-HTML permite para ese elemento HTML. Devuelve cantTell en lugar de fail: la tabla de roles permitidos de ARIA-in-HTML es un requisito de conformidad para autores sin regla ACT ni mapeo WCAG en ninguna fuente. El rol que el autor solicitó sigue siendo el rol que expone la tecnología de asistencia, por lo que si la combinación perjudica a alguien depende del widget, no de la tabla.

Qué informa un hallazgo.

  • role: el rol explícito que no está permitido en el elemento anfitrión.

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

pass
<nav role="navigation">...</nav>

role="navigation" está permitido en <nav> según la especificación ARIA-in-HTML (también es el rol implícito del elemento).

can't tell
<nav role="tab">...</nav>

role="tab" no es uno de los roles que ARIA-in-HTML permite en <nav>.

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_ROLE_NOT_ALLOWED_FOR_ELEMENT

  1. Inspeccionar el elemento que indica el informe y anotar su etiqueta y su atributo role.
  2. Abrir el panel Accesibilidad de las herramientas para desarrolladores del navegador y comprobar qué rol se expone.
  3. Pulsar Tab para ver si el elemento recibe el foco del teclado y, si es un control, intentar accionarlo con Intro o Espacio.
  4. Con un lector de pantalla, desplazarse hasta el elemento y comparar lo que se anuncia con lo que el elemento hace en pantalla.

Se cumple. El rol anunciado coincide con el aspecto y el comportamiento del elemento (o role none/presentation se ignoró en un control enfocable y se conserva su rol nativo).

No se cumple. El rol anunciado contradice el comportamiento del elemento, como un botón enfocable anunciado como encabezado, lo que incumple ARIA in HTML y puede incumplir WCAG 4.1.2.

Reglas relacionadas

Ver código fuente