Dal glossario dell'accessibilità

AccessiWeb: il web accessibile e inclusivo

R

Ruoli ARIA

Attributi che descrivono lo scopo dei componenti (es. button, dialog, navigation) per le tecnologie assistive.

Definizione — I ruoli ARIA (Accessible Rich Internet Applications) descrivono la funzione di un elemento per le tecnologie assistive. Insieme a stati e proprietà (aria-*) permettono di rendere accessibili componenti custom (tab, menù, dialog, slider). Regola d’oro: prima l’HTML semantico; usa ARIA solo quando il tag nativo non è sufficiente.

Esempi di ruoli comuni

  • role="button" — pulsante (da preferire <button> nativo).
  • role="navigation" — area di navigazione (meglio <nav>).
  • role="dialog" + aria-modal="true" — finestra modale, con focus gestito.
  • role="tablist", role="tab", role="tabpanel" — interfaccia a schede (con roving tabindex).
  • role="listbox"/option — liste selezionabili; role="menu"/menuitem per veri menù applicativi.
  • role="status" / role="alert" — messaggi live (aria-live implicito: polite/assertive).
  • role="progressbar", role="switch", role="tooltip" — componenti di stato/feedback.

Stati e proprietà (sincronizzazione)

  • aria-expanded per elementi che si aprono/chiudono (accordion, menù); aggiorna sempre il valore su click/tastiera.
  • aria-selected per tab e opzioni; aria-pressed per pulsanti a stato.
  • aria-controls per associare il trigger al pannello controllato; aria-labelledby/aria-label per il nome accessibile.

Pattern essenziali

Tablist (principio)

<div role="tablist">
  <button role="tab" aria-selected="true"  aria-controls="p1" id="t1" tabindex="0">Profilo</button>
  <button role="tab" aria-selected="false" aria-controls="p2" id="t2" tabindex="-1">Impostazioni</button>
</div>
<section id="p1" role="tabpanel" aria-labelledby="t1">…</section>
<section id="p2" role="tabpanel" aria-labelledby="t2" hidden>…</section>

Dialog modale

<div role="dialog" aria-modal="true" aria-labelledby="dlg-title">
  <h2 id="dlg-title">Preferenze</h2>
  <button>Chiudi</button>
</div>

Buone pratiche

  • Preferisci sempre elementi nativi (button, nav, main, details/summary).
  • Nome/ruolo/stato (WCAG 4.1.2) devono riflettere il comportamento reale e aggiornarsi al variare dell’UI.
  • Gestisci la tastiera secondo i pattern WAI-ARIA Authoring Practices (Tab, frecce, Home/End, Esc).
  • Evita ARIA superflua o errata (es. role="button" su un link che porta a una pagina).

Errori comuni

  • Usare ARIA per “truccare” semantica mancante (div-bottoni) invece di correggere il markup.
  • Non aggiornare aria-expanded/aria-selected quando cambia lo stato.
  • Ruoli in conflitto con l’elemento nativo (es. role="navigation" su <section> generica).

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
Parla con un esperto di accessibilità

Ultimi articoli dal blog

Immagine stilizzata che rappresenta disabilità visive, uditive, motorie e percettive

AccessiWeb

Soluzioni per un web accessibile e inclusivo

Inizia la tua prova gratuita