aria-required-attr
Los elementos con roles que requieren estados o propiedades ARIA deben incluirlos
Comprueba que los elementos con un rol explícito tengan todo estado/propiedad aria-* requerido, inequívoco e independiente del contexto para ese rol (p. ej. role="checkbox" debe tener aria-checked).
Ámbito de aplicación. Se aplica a elementos con un rol explícito, válido y no abstracto que además sea uno del pequeño conjunto de roles con un estado/propiedad requerido documentado e independiente del contexto (checkbox, combobox, heading, menuitemcheckbox, menuitemradio, meter, radio, scrollbar, separator, slider, switch), excepto cuando ese rol explícito es idéntico al rol nativo/implícito propio del elemento (ACT 4e8ab6: p. ej. <input type="checkbox" role="checkbox">, que queda exento porque la exposición de estado propia del control nativo ya lo cubre; no se requiere aria-checked. helpers.aria.getNativeRoleForElement resuelve esto).
Resultado esperado. Todo estado/propiedad requerido para ese rol está presente y no vacío. Se gradúa según si ARIA proporciona un sustituto para el atributo ausente:
- `fail` cuando no lo hace, de modo que el estado simplemente no se expone (aria-checked en checkbox/radio/switch/menuitemcheckbox/menuitemradio, aria-valuenow en slider/scrollbar/meter y en un separator enfocable).
- `cantTell` cuando ARIA define un valor implícito al que recurre el rol (aria-expanded en combobox, aria-level en heading), de modo que el rol sigue exponiendo un valor y solo el autor sabe si es el correcto.
Ejemplos
<div role="checkbox" aria-checked="true"></div>
role="checkbox" requiere `aria-checked`, y está presente.
<div role="checkbox"></div>
role="checkbox" requiere `aria-checked`; falta por completo.