back to top

Come usare aria-label e aria-hidden per migliorare l’accessibilità

Introduzione
L’accessibilità web è diventata ormai un requisito irrinunciabile per realizzare interfacce inclusive e usabili da tutti. In questo contesto, gli attributi aria-label aria-hidden accessibilità giocano un ruolo centrale per fornire informazioni semantiche aggiuntive ai lettori di schermo. Da un lato, aria-label etichetta correttamente elementi privi di testo, dall’altro aria-hidden permette di ignorare contenuti puramente decorativi. Ma come usarli nel modo più efficace? In questo articolo approfondiamo i concetti chiave, con esempi pratici e best practice di implementazione.


aria-label aria-hidden accessibilità: panoramica sugli attributi ARIA

Gli attributi ARIA (Accessible Rich Internet Applications) sono stati introdotti per colmare le lacune semantiche dell’HTML, fornendo un layer aggiuntivo di informazioni ai dispositivi assistivi come gli screen reader. Due attributi particolarmente utili in questo senso sono:

  • aria-label: fornisce un’etichetta testuale “invisibile” visivamente, ma letta dai lettori di schermo.
  • aria-hidden: indica che un elemento deve essere ignorato dai dispositivi assistivi, se ritenuto non rilevante o puramente decorativo.

Approfondiremo ora quando e perché usarli, evidenziando in che modo contribuiscono all’accessibilità e a un’esperienza utente più inclusiva. Per ulteriori dettagli, puoi consultare anche le linee guida WAI-ARIA del W3C o la documentazione su MDN.


Differenza tra label visivo e label semantico

Label visivo

Il label visivo corrisponde al testo o all’elemento grafico che accompagna un controllo interattivo (come il testo di un pulsante). In molti casi, è sufficiente per chi vede il contenuto, ma potrebbe non essere fruibile da chi utilizza screen reader.

Label semantico

Il label semantico, invece, fornisce informazioni testuali specifiche ai lettori di schermo, consentendo di comprendere la funzione di un determinato elemento quando non è immediatamente intuibile dal contenuto visivo. Proprio qui entrano in gioco gli attributi aria-label e aria-labelledby, che rendono l’interfaccia più chiara per chi naviga senza percepire l’aspetto grafico.


Quando usare aria-label e aria-labelledby

  • aria-label:
    Usalo per fornire un’etichetta diretta in modo testuale. Ideale quando non esiste un testo visivo chiaro o l’elemento è rappresentato solo da un’icona.
  • aria-labelledby:
    Usalo quando esiste già un testo visivo (ad esempio un <label> o un altro elemento di testo), e vuoi “collegarlo” semantemente all’elemento da descrivere attraverso l’ID. Eviti così duplicazioni e mantieni coerenza tra ciò che si vede e ciò che si “ascolta”.

Esempi pratici di codice

Bottone con icona (es. “Invia”)

<button type="button" aria-label="Invia il modulo">
  <i class="fa fa-paper-plane"></i>
</button>

In questo esempio, l’utente vede solo un’icona (un aereo di carta), mentre il lettore di schermo leggerà “Invia il modulo”, rendendo l’azione del bottone evidente.

Elemento decorativo da ignorare

<span class="decorative-icon" aria-hidden="true"></span>

Se l’icona è puramente estetica, aria-hidden="true" dice allo screen reader di saltarla, evitando ridondanze.

Labeling tramite un elemento già esistente (aria-labelledby)

<h2 id="formTitle">Contattaci</h2>
<form aria-labelledby="formTitle">
  <!-- campi form -->
</form>

Chi usa un lettore di schermo saprà che il form è descritto dal testo “Contattaci”. Un metodo efficace per mantenere coerenza semantica.


Errori comuni da evitare

  1. Nascondere contenuti importanti con aria-hidden
    Se un testo è essenziale, non andrebbe mai etichettato come aria-hidden="true", pena la perdita di informazioni fondamentali.
  2. Duplicare label
    Impostare sia aria-label che aria-labelledby sullo stesso elemento può creare confusione per gli utenti di screen reader.
  3. Testi poco descrittivi
    Se aria-label riporta un testo generico (“Bottone”) si perde l’occasione di comunicare la funzione reale (“Invia commento”, “Chiudi finestra” etc.).
  4. Ignorare HTML semantico
    ARIA non sostituisce i tag semantici (ad esempio <button>, <header>, <form>, <nav>, etc.). Usare correttamente HTML e, solo se serve, arricchirlo con ARIA.

Risorse interne e link utili

Per approfondire i concetti di semantica e accessibilità, ti consigliamo anche i seguenti articoli su CyberAlchimista:

E, per la documentazione ufficiale, fai riferimento a:


Conclusioni su aria-label aria-hidden accessibilità

Integrare aria-label aria-hidden accessibilità nei tuoi progetti vuol dire rendere il web più inclusivo e usabile per tutti. Aggiungere un semplice aria-label su un pulsante, o nascondere un’icona decorativa con aria-hidden, può fare un’enorme differenza per chi naviga con lettori di schermo. È essenziale adottare un approccio strategico e consapevole, testando regolarmente la resa di questi attributi con tecnologie assistive reali. Ricorda: la vera accessibilità non si riduce a un’aggiunta di “optional”, ma deve essere una parte integrante di ogni progetto frontend.

Condividi

Articoli Recenti

Categorie popolari