Valor de atributo ARIA no válido
Silktide comprueba el valor de cada atributo ARIA en tus páginas frente a los valores que el estándar permite para él. Un atributo con un valor incorrecto, como un estado de casilla de verificación "yes" en lugar de "true", es ignorado por los navegadores, por lo que el estado que describe nunca se anuncia.
<!-- Problema: "yes" no es un valor válido, se descarta el estado -->
<div role="checkbox" aria-checked="yes">Subscribe</div>
<!-- Solución: usa el token definido -->
<div role="checkbox" aria-checked="true">Subscribe</div>
Por qué es importante
Cada atributo define exactamente qué valores
acepta, y los navegadores descartan cualquier otro en lugar de adivinar. Los
errores suelen ser valores que parecen intuitivos: aria-expanded="1",
aria-checked="yes", aria-level="0", que superan todas las pruebas visuales
mientras que las personas usuarias de
obtienen un control sin estado anunciado: un menú que nunca indica si está abierto,
una casilla que nunca indica si está marcada.
Cómo solucionarlo
- Sustituye los valores informales por los tokens definidos por el atributo:
trueyfalseen lugar deyes,no,1o0. - Revisa los atributos numéricos: los atributos de conteo como
aria-levelyaria-rowindexempiezan en 1, no en 0. - Elimina los atributos que queden vacíos, como
aria-checked="": si no hay estado que transmitir, el atributo no debe estar presente.
Los valores exactos permitidos por cada atributo están listados en la referencia de atributos ARIA de MDN.
Cómo lo prueba Silktide
- Encuentra cada elemento de la página que tenga al menos un atributo
aria-. - Comprueba el valor de cada atributo con respecto al tipo que ARIA 1.2 define para él:
atributos de verdadero/falso, atributos de tres estados como
aria-checked(true,false,mixed), números y números enteros, y atributos con listas de palabras fijas comoaria-liveyaria-current. - Informa de cada valor que no cumpla, indicando lo que se esperaba.
Los atributos que hacen referencia a IDs de elementos se comprueban en sus propias
verificaciones, como Falta el ID de aria-controls, y los atributos
de texto libre como aria-label aceptan cualquier texto.
Solución de problemas
El valor lo establece un framework
Las bibliotecas de componentes a veces serializan los estados de forma incorrecta (por ejemplo,
renderizando aria-expanded="undefined"). La incidencia señala el elemento,
pero la corrección suele estar en cómo se configura el componente o en una
actualización de la biblioteca.
Esta comprobación no informa de nada aunque espero incidencias
Las pruebas de ARIA pueden desactivarse por sitio web. Comprueba la configuración avanzada del sitio web.