Definizione — Gli stati ARIA sono attributi aria-* che descrivono lo stato attuale di un componente interattivo per le tecnologie assistive. Esempi: aria-expanded (aperto/chiuso), aria-pressed (pulsante a stato), aria-selected (elementi selezionabili), aria-busy (caricamento in corso), aria-disabled (disabilitato). Devono essere sincronizzati con gli eventi reali dell’interfaccia.
Esempi pratici
Accordion — il bottone aggiorna aria-expanded e collega il pannello con aria-controls:
<button aria-expanded="false" aria-controls="p1" id="t1">Dettagli</button>
<div id="p1" hidden aria-labelledby="t1">Contenuto…</div>
<script>
const btn = document.getElementById('t1'), p = document.getElementById('p1');
btn.addEventListener('click', () => {
const open = btn.getAttribute('aria-expanded') === 'true';
btn.setAttribute('aria-expanded', String(!open));
p.hidden = open;
});
</script>
Pulsante a stato:
<button aria-pressed="false">Preferito</button>
Stato di caricamento:
<div role="status" aria-live="polite" aria-busy="true">Caricamento…</div>
Buone pratiche
- Prima l’HTML: usa componenti nativi quando possibile; ARIA non aggiunge tastierabilità né sostituisce il focus.
- Allineamento: aggiorna gli stati con ogni interazione (click, tastiera) e sul cambio programmato dell’UI.
- Nome/ruolo/stato: rispetta WCAG 4.1.2; usa
aria-labelledby/aria-label per nomi comprensibili.
- Evita
aria-hidden="true" su elementi focusabili o necessari alla comprensione.
Errori comuni
- Stati non aggiornati (es.
aria-expanded="true" ma pannello chiuso).
- Usare ARIA per “simulare” un bottone quando basterebbe
<button>.
- Contraddizioni tra
disabled nativo e aria-disabled non coerenti.
Voci correlate e collegamenti utili
Naviga il Glossario dell'accessibilità A-Z
Richiedi una consulenza gratuita
Il nostro team di Web Accessibility Expert certificati UNI 11621-3 è pronto a guidarti con le migliori soluzioni per il tuo business!
Contattaci adesso