Saltar al contenido
SilktideAyuda

Falta un atributo ARIA obligatorio

Silktide comprueba los elementos que declaran un rol ARIA y verifica que también proporcionen los atributos que ese rol exige. Algunos roles son inutilizables sin sus atributos, como un control deslizante que nunca indica el valor establecido.

<!-- Problema: un control deslizante debe exponer su valor actual -->
<div role="slider" tabindex="0"></div>

<!-- Solución: proporcione el estado obligatorio -->
<div role="slider" tabindex="0"
     aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></div>

Por qué es importante

Asignar a un elemento un rol es una promesa: "esto es un control deslizante", "esto es una casilla de verificación". Roles como estos requieren atributos de estado porque, sin ellos, la promesa queda vacía: un usuario de llega a una casilla y no puede saber si está marcada, o a un control deslizante y no puede conocer su valor o su rango. El control se anuncia, es enfocable y resulta imposible de usar.

Cómo solucionarlo

  1. Añada los atributos que el rol exige y manténgalos actualizados mediante script a medida que cambie el estado del control; un aria-checked="false" estático en una casilla de verificación funcional es tan engañoso como no poner nada.
  2. Prefiera los elementos nativos cuando existan: <input type="checkbox"> y <input type="range"> exponen su estado automáticamente, sin ARIA que mantener.

Cómo lo comprueba Silktide

  1. Encontrar todos los elementos de la página que declaran un atributo role.
  2. Consultar los atributos que ARIA 1.2 exige para ese rol; por ejemplo, role="checkbox" requiere aria-checked, y role="slider" requiere aria-valuenow.
  3. Omitir los casos en los que el elemento expone el estado de forma nativa: una casilla de verificación o un botón de opción reales ya incluyen su estado marcado, una <option> nativa su estado seleccionado, y un control deslizante con aria-valuetext puede omitir aria-valuenow.
  4. Informar de cada elemento al que le falte un atributo obligatorio.

Solución de problemas

Un script establece el atributo después de que se cargue la página

Silktide prueba la página tal y como se carga. Si su widget solo añade sus atributos de estado tras la primera interacción, los usuarios oirán un control sin estado hasta entonces; en su lugar, renderice el estado inicial en la propia página.

Esta comprobación no informa de nada aunque esperaba incidencias

Las pruebas de ARIA pueden desactivarse por sitio web. Compruebe la configuración avanzada del sitio web.

Más información

Última actualización

¿Le ha resultado útil esta página?