Rol ARIA en conflicto
Silktide comprueba los elementos que declaran un rol explícito frente al significado que ya tienen en HTML. Informa de los roles que no están permitidos en ese elemento y de los roles que solo repiten lo que el elemento ya significa.
<!-- Problema: un elemento nav no puede ser un botón -->
<nav role="button"> …</nav>
<!-- Problema: redundante, nav ya tiene este rol -->
<nav role="navigation"> …</nav>
<!-- Solución: deja que el elemento hable por sí mismo -->
<nav> …</nav>
Por qué es importante
Cada elemento tiene un significado integrado del que dependen las . Un rol de que entra en conflicto con ese significado crea un elemento que parece una cosa y se anuncia como otra: un usuario de podría oír «enlace» en algo que se comporta como un botón, con atajos de teclado y expectativas que ya no coinciden. Los roles redundantes son menos perjudiciales, pero añaden ruido, propician errores futuros y señalan que se está usando ARIA donde no hace falta.
Cómo solucionarlo
- Ante un rol en conflicto, elimina el rol o cambia a un elemento que
realmente tenga el significado que quieres: si debe actuar como un botón,
usa
<button>. - En el caso de un rol redundante como
<nav role="navigation">o<button role="button">, borra el atributo role. El elemento ya expone ese rol por sí mismo.
Cómo lo comprueba Silktide
- Buscar todos los elementos de la página con atributo
role, omitiendo los roles desconocidos o abstractos (esos se notifican en Rol ARIA no válido). - Comparar el rol con las combinaciones que la especificación ARIA en HTML permite para ese elemento e informar de los roles que el elemento no admite.
- Informar de los roles que duplican el rol implícito del propio elemento.
- Cuando un atributo role enumera varios roles, solo se considera el primero.
Los hallazgos distinguen ambos casos, para que puedas priorizar los conflictos frente a la redundancia.
Solución de problemas
El rol redundante está ahí por navegadores antiguos
Los roles de puntos de referencia (landmark) explícitos como role="navigation"
se recomendaron en su día como red de seguridad para tecnologías de apoyo
antiguas. La compatibilidad con los elementos nativos es universal desde hace
años, y el rol duplicado ahora cuesta más en mantenimiento de lo que aporta.
Elimínalo o el hallazgo si tu política de
compatibilidad exige mantenerlo.
Esta comprobación no informa de nada aunque esperaba hallazgos
Las pruebas de ARIA se pueden desactivar por sitio web. Consulta la configuración avanzada del sitio web.