Attributi ARIA: cosa sono, quando usarli e errori da evitare
I nomi accessibili — aria-label, aria-labelledby, aria-describedby — sono il terreno dove si concentrano più errori e più ricerche, perché è lì che si decide se un utente capisce cosa sta per attivare. E un attributo ARIA scritto bene non si nota mai: funziona in silenzio, esattamente come dovrebbe.

Introduction
This Privacy Notice aims to clearly and transparently explain which personal data we collect when you visit our website, why we collect it, how we use it, and what Your rights are.
We process your personal data in accordance with Regulation (EU) 2016/679 (GDPR) and applicable national data protection laws. We are committed to ensuring that all processing activities are carried out in accordance with the principles of lawfulness, fairness, transparency, data minimization, integrity, and confidentiality.
Specifically, in this notice you will find information about:
-
which data we collect about you and for what purposes;
-
the legal bases on which we process such data;
-
who we may share your data with;
-
how long we retain your data;
-
your rights and how to exercise them.
While we sometimes need Your data for example, to respond to your requests or improve our website), we do so with respect, care and only when truly necessary.
Our Privacy Promises
-
We deeply value your privacy, and for this reason, we guarantee that:
-
We treat your data as if it were our own.
-
We use your data only for the purposes outlined in this notice.
-
We retain your data only for as long as strictly necessary.
-
We do not share your data with third parties without a valid legal basis or your explicit consent.
1. Who Processes Your Personal Data
The Data Controller — that is, the entity that determines the purposes and means of the processing of Your personal data — is AccessiWay S.a.S., with registered office at 7 Rue du Général Henrion Bertier, 92200 Neuilly-sur-Sein registered with the Nanterre Trade and Companies Register under number 914 022 595.
AccessiWay is part of the team.blue group and, in certain cases, acts as joint controller together with team.blue NV, with registered office at Skaldenstraat 121, 9042 Ghent, Belgium. In this context, Your personal data may be shared within the group for statistical, administrative, operational, and service improvement purposes.
AccessiWay and team.blue have defined their respective roles and responsibilities under a joint controllership agreement pursuant to Article 26 of the GDPR, ensuring full compliance with data protection regulations.
For more information regarding joint controllership or to exercise Your rights, you may contact AccessiWay via email at the following email addresses:
📧 legal.fr@accessiway.com or info@accessiway.com.
2. Who This Privacy Notice Applies To
This notice applies to:
-
users who browse the website www.accessiway.com,
-
individuals who contact us through the form available on the website or via email;
-
users who interact with tools we have implemented (e.g. widgets, cookies);
-
individuals who, through the website or other channels, access external platforms or third-party entities through which they may submit a job application (e.g. recruiting portals or employment agencies).
-
In such cases, the privacy notices of the third parties involved — independent from AccessiWay — also apply.
3. What Data We Process
To manage your interaction with our website, we may process the following categories of personal data:
-
Identification and contact details such as name, surname, company, job title, email address, and phone number.
-
These data may be partially processed through our customer relationship management (CRM) system.
-
Data relating to your interaction with our services such as information collected via the website or through Hubspot, such as communication history, preferences, requests, and commercial or technical notes.
-
Technical data such as IP address, device type, operating system, browser, access times, and other data automatically recorded by our systems or servers.
-
Browsing data and preferences such as collected via cookies or similar technologies, in accordance with the choices expressed through the cookie consent banner.
-
Application data such as personal information included in your CV or other documents submitted through third-party platforms (e.g. professional experience, education, contact details).
-
These data are processed by AccessiWay only after being transmitted by the third party, which remains autonomous in the initial processing.
4. Purposes and Legal Basis of Processing
We process Your personal data in compliance with Regulation (EU) 2016/679 (GDPR) and applicable national data protection laws. Your data may be processed for the following purposes:
-
Technical operation of the website
We process technical data, using technical cookies and similar tools, to allow You to access the site, view it correctly, and ensure it functions properly (e.g. browsing, content loading, storing preferences).
📌Legal basis: this processing is necessary to provide a service requested by the user, pursuant to Article 6(1)(b) of the GDPR. Your consent is not required for these cookies.
-
Handling contact or support requests
When you send us a request — via the contact form or by email — we process your data to respond and provide the information requested.
📌 Legal basis: this processing is necessary to take steps at your request prior to entering into a contract, pursuant to Article 6(1)(b) of the GDPR.
-
Compliance with legal obligations
In certain cases, we may need to process your data to comply with legal obligations, such as tax, accounting, or IT security requirements.
📌 Legal basis: this processing is based on compliance with a legal obligation, pursuant to Article 6(1)(c) of the GDPR.
-
Statistical analysis and website improvement
We use analytical tools (e.g. analytical cookies) to collect aggregated data in order to understand how the website is used and to improve its content and functionality.
📌 Legal basis: we process this data only with your freely given and specific consent, pursuant to Article 6(1)(a) of the GDPR.
-
Marketing and Profiling
If you authorize us to do so, we may use your data to send you promotional communications or provide personalized content (e.g. through profiling cookies).
📌 Legal basis: this processing is carried out only with your explicit consent, pursuant to Article 6(1)(a) of the GDPR. You may withdraw your consent at any time without affecting the lawfulness of processing based on consent before its withdrawal.
-
Management of job applications through third parties
We may receive job applications via third-party platforms (e.g. job portals) or through recruitment agencies. In such cases, we process the submitted data to assess your suitability for the proposed role.
📌 Legal basis: this processing is necessary to take steps at your request prior to entering into a contract, pursuant to Article 6(1)(b) of the GDPR.
Note: the privacy policies of the third-party platforms or agencies involved also apply, independently of AccessiWay.
5. Cookies and Tracking Tools
This website uses a cookie management system provided by iubenda, which allows you to:
-
view a full and transparent list of the cookies in use;
-
modify or withdraw your consent at any time;
-
access the complete Cookie Policy, integrated in the cookie widget.
You can manage your preferences by clicking on the cookie widget icon located at the bottom left corner of every page on the site.
Technical cookies are necessary and therefore enabled by default. Other non-essential cookies (analytical, profiling) are only enabled with your consent.
For more information, please refer to the full Cookie Policy accessible from the cookie widget.
6. Use of accessWidget
This website integrates accessWidget, an automated accessibility tool developed by accessiBe Ltd. and distributed by AccessiWay. The widget allows users to personalize their browsing experience based on their needs.
When the user activates the widget, their IP address is technically transmitted, but:
-
it is not stored, tracked, or associated with identifiable individuals;
-
it is anonymized via a proxy located in the European Union;
-
it is not used for profiling or marketing purposes.
📌 Legal basis: provision of a service requested by the user (Article 6(1)(b) of the GDPR).
7. Data Security
We adopt appropriate technical and organizational measures to ensure the security, integrity, and confidentiality of the personal data we process. These measures are designed to prevent unauthorized access, loss, disclosure, or alteration of your data. In particular, we implement:
-
secure connections via HTTPS (SSL/TLS);
-
authentication systems and access control;
-
access limitation and internal access tracking mechanisms;
-
regular audits and verification procedures;
-
continuous updates to systems and security measures according to the level of risk.
8. Data Retention
Your personal data is stored only for the time strictly necessary to achieve the purposes for which it was collected. Specifically:
-
Contact data: up to 10 years if relevant for contractual or legal purposes;
-
Technical and browsing data: according to what is outlined in the Cookie Policy;
-
Marketing data: until consent is withdrawn.
9. Your Rights (Data Subject Rights)
As a data subject, you may exercise the rights provided under Articles 15–22 of the GDPR at any time. In particular, you have the right to:
-
Obtain confirmation as to whether or not your personal data is being processed and access such data (right of access);
-
Request the rectification of inaccurate personal data or the completion of incomplete data (right to rectification);
-
Request the erasure of your data, if the conditions set out in the GDPR are met (right to erasure);
-
Obtain restriction of processing where applicable (right to restriction);
-
Object to the processing of your data, in whole or in part, under certain circumstances (right to object);
-
Receive your data in a structured, commonly used, and machine-readable format, and, where technically feasible, have it transmitted directly to another controller (right to data portability);
-
Withdraw your consent at any time, without affecting the lawfulness of processing based on consent before its withdrawal.
📧 You can exercise Your rights at any time by contacting us at: legal.fr@accessiway.com.
🔗 If you are located in France and believe that the processing of your personal data violates applicable law, you have the right to lodge a complaint with the French Data Protection Authority (Commission Nationale de l’Informatique et des Libertés – CNIL) via the website: www.cnil.fr.
*If you have difficulty accessing our form, please feel free to contact us. Send an e-mail to info@accessiway.com
Il 9 dicembre 2021 una grande novità è comparsa sul mondo dell’accessibilità: lo standard ARIA in HTML. La fonte è ovviamente il W3C (World Wide Web Consortium), nell’ambito della Web Accessibility Initiative, ossia il progetto volto a rendere il mondo del web più accessibile e inclusivo per tutti quanti. Se hai un sito web e vuoi rispettare gli standard sull’accessibilità (cosa che dovresti fare o rischi delle sanzioni), leggi questo articolo per scoprire cos’è ARIA in HTML, il nuovo standard per l’accessibilità web.
Cos’è ARIA in HTML
ARIA sta per Accessible Rich Internet Applications ed è una specifica del W3C, nell'ambito della Web Accessibility Initiative (WAI). Non è un linguaggio di programmazione, ma un insieme di attributi che si aggiungono al markup HTML per comunicare ruolo, stato e proprietà di un elemento alle tecnologie assistive, attraverso quello che si chiama albero di accessibilità.
Ruoli, proprietà e stati degli attributi ARIA
Gli attributi ARIA si dividono in tre famiglie, ciascuna con un compito diverso.
I ruoli definiscono cosa è o cosa fa un elemento. role="button" dice alla tecnologia assistiva che quell'elemento si comporta come un pulsante, anche se sotto il cofano è un semplice <div>.
html
<div role="button">Elimina</div>Le proprietà descrivono caratteristiche che restano stabili nel tempo, come una relazione tra due elementi. aria-describedby collega un elemento alla sua descrizione estesa, mentre aria-required segnala che un campo di un modulo è obbligatorio.
Gli stati cambiano in base a un'interazione dell'utente o a un evento. aria-expanded="true" indica che un menu a tendina è aperto in quel momento; un istante dopo, un clic può riportarlo a false.
La distinzione tra proprietà e stati è tecnica e ha poco peso pratico per chi scrive contenuti o codice ogni giorno: nella maggior parte delle guide, entrambi vengono chiamati semplicemente attributi ARIA.
aria-label, aria-labelledby e aria-describedby: quale usare
Tra tutti gli attributi ARIA, quelli della famiglia dei nomi accessibili sono i più cercati e anche i più fraintesi. Servono tutti a dare un nome all'elemento che la tecnologia assistiva annuncia, ma si comportano in modo diverso.
aria-label assegna un'etichetta testuale che esiste solo per la tecnologia assistiva e non compare a schermo. È la scelta giusta quando un elemento non ha un testo visibile da riutilizzare, come un'icona cliccabile.
<button aria-label="Chiudi la finestra">✕</button>aria-labelledby punta invece all'ID di un altro elemento già presente nella pagina, e usa il suo testo come etichetta. Ha la precedenza più alta nel calcolo del nome accessibile: se un elemento ha entrambi gli attributi, il browser ignora aria-label e usa aria-labelledby. È preferibile ogni volta che un testo visibile e pertinente esiste già nel DOM, perché evita di duplicare contenuto e riduce il rischio di incoerenza tra ciò che si vede e ciò che si sente.
<h2 id="titolo-sezione">Preferenze account</h2>
<section aria-labelledby="titolo-sezione">…</section>aria-describedby non sostituisce il nome dell'elemento, ma aggiunge una descrizione più estesa, come un suggerimento sul formato richiesto per un campo di un modulo. Quando serve solo un'etichetta breve, meglio aria-label o aria-labelledby; quando serve un contesto più lungo, aria-describedby è lo strumento adatto.
aria-label e aria-live: gli attributi che gestiscono i contenuti dinamici
aria-label e aria-live risolvono due problemi diversi, anche se capita di trovarli confusi tra loro:
Il primo dà un nome a un elemento statico;
il secondo dice alla tecnologia assistiva se e come annunciare un contenuto che cambia da solo, senza che l'utente abbia cliccato o spostato il focus.
aria-live accetta tre valori:
off non annuncia nulla, ed è il comportamento predefinito.
polite aspetta che lo screen reader finisca di leggere quello che stava leggendo, poi annuncia l'aggiornamento: è la scelta giusta per un messaggio di conferma dopo l'invio di un modulo.
assertive interrompe la lettura in corso per annunciare subito, e va riservato a messaggi davvero urgenti, come un errore che blocca il completamento di un'operazione
<div aria-live="polite">Messaggio inviato correttamente.</div>Una regione live va inserita nel DOM prima che il contenuto cambi, non creata al volo insieme al messaggio: alcuni screen reader non rilevano un elemento aria-live se compare nella pagina nello stesso istante in cui già contiene il testo da annunciare.
I landmark roles: le zone della pagina
Tra i ruoli ARIA, i landmark roles hanno un compito specifico: segnalare le grandi aree di una pagina, così che chi usa uno screen reader possa saltare direttamente al contenuto principale invece di attraversare tutto il menu ogni volta. banner identifica l'intestazione del sito, navigation il blocco dei link di navigazione, main il contenuto centrale, contentinfo il footer.
La maggior parte degli elementi HTML5 porta già un landmark implicito: <nav> equivale a role="navigation", <main> a role="main", <footer> a role="contentinfo". Il landmark ARIA torna utile quando serve distinguere due elementi con lo stesso ruolo, come due <nav> diverse nella stessa pagina.
html
<nav aria-label="Menu principale">…</nav>
<nav aria-label="Link utili nel footer">…</nav>Senza quella distinzione, uno screen reader annuncerebbe due volte "navigazione" senza altro contesto, lasciando all'utente il compito di capire quale delle due sia quella che cerca.
Le cinque regole per usare ARIA
Il primo istinto di chi scopre gli attributi ARIA è aggiungerli ovunque per sicurezza. È l'errore più comune: uno studio annuale sull'accessibilità dei siti web, il WebAIM Million, ha rilevato più volte che le home page con ARIA presentano in media più errori rilevati rispetto a quelle che non lo usano, quasi sempre per un'implementazione scorretta. Il gruppo WAI ha quindi definito cinque regole di base.
Usare prima l'elemento HTML nativo, se esiste già con la semantica e il comportamento richiesti (un <button> invece di un <div role="button">)
Non alterare la semantica di un elemento HTML che già funziona bene, evitando ruoli che confliggono con il tag scelto
Garantire sempre la navigazione da tastiera su ogni elemento interattivo creato con ARIA, con tabindex="0" dove serve
Questa terza regola vale un chiarimento in più, perché passa quasi sempre da tabindex. Un <div> con role="button" non riceve il focus da tastiera per impostazione predefinita: serve aggiungere tabindex="0" per inserirlo nell'ordine di tabulazione naturale della pagina.
tabindex="-1" toglie invece l'elemento dall'ordine di tabulazione, ma lo lascia raggiungibile via script, utile per esempio su un titolo a cui spostare il focus dopo un cambio di pagina in una single page application. Un valore positivo, come tabindex="3", andrebbe evitato quasi sempre: impone un ordine manuale che ignora la struttura visiva della pagina e diventa difficile da mantenere.
<div role="button" tabindex="0">Conferma</div>Le altre due regole meritano un paragrafo a parte, perché riguardano errori che si vedono spesso in produzione.
Non aggiungere aria-hidden="true" o role="presentation" a un elemento che deve restare attivabile, perché la tecnologia assistiva lo salterà del tutto, come se non esistesse.
Ogni elemento interattivo deve avere un nome accessibile, che può arrivare dal contenuto testuale, da un'etichetta collegata o, quando nulla di tutto questo è disponibile, da aria-label.
Ruoli ridondanti e altri errori frequenti
Un errore diffuso è assegnare un ruolo ARIA a un elemento che ha già quella semantica in modo nativo. <ul role="list"> non aggiunge nulla: la lista non ordinata è già un elenco per qualsiasi tecnologia assistiva, e il ruolo extra è solo peso in più nel codice.
Un altro errore riguarda i ruoli assegnati a intestazioni o testo generico. <h2 role="tab">Scheda impostazioni</h2> confonde lo screen reader, che non sa più se trattare l'elemento come un'intestazione o come una scheda di navigazione. La soluzione è separare i due ruoli: l'intestazione resta un'intestazione, avvolta in un contenitore che porta il ruolo di scheda.
html
<div role="tab"><h2>Scheda impostazioni</h2></div>Infine, i ruoli ARIA sovrascrivono il ruolo nativo dell'elemento su cui vengono applicati. Metterne uno sbagliato su un tag già semanticamente corretto, come role="heading" su un link, non aggiunge informazione: la sostituisce con un'informazione sbagliata.
Provare ARIA in pratica
Capire un attributo ARIA sulla carta e vederlo funzionare sono due cose diverse. La ARIA Authoring Practices Guide del W3C raccoglie pattern completi — tab, dialog, menu, accordion — con codice pronto ed esempi testabili direttamente nel browser: è il riferimento più solido per chi vuole passare dalla teoria a un componente reale.
Un secondo strumento, più immediato, è l'albero di accessibilità integrato nei DevTools di Chrome e Firefox. Con qualsiasi pagina aperta, basta ispezionare un elemento e passare al pannello Lighthouse "Accessibility" per vedere in tempo reale il nome, il ruolo e lo stato che la tecnologia assistiva riceverà, compreso l'effetto di un attributo ARIA appena aggiunto o rimosso.
Ecco la guida completa per Google Chrome
Perché il W3C ha rilasciato ARIA in HTML
L’HTML, pur essendo il linguaggio di markup più diffuso, non è particolarmente ricco di elementi semantici (ossia di tag HTML che indicano espressamente la loro funzione, come come <header>, <nav>, <main> o <table>). In tema di accessibilità, è una carenza non da poco, dato che gli screen reader traggono enorme giovamento dalla presenza di HTML semantici, avendo la possibilità di funzionare senza grandi quantità di codice lato user.
Per questa ragione, il W3C aveva rilasciato WAI-ARIA, che permette di integrare il markup HTML con ulteriori elementi semantici. In questo modo, però, eseguendo l’implementazione di WAI-ARIA con poca attenzione ai ruoli nativi che HTML contiene, avvengono spesso conflitti fra i due linguaggi. Infatti, spesso si vanno ad aggiungere, o, ancora peggio, a sovrascrivere, i comportamenti predefiniti che sono fondamentali per la comprensione della struttura.
ARIA in HTML ha quindi l’obiettivo di rendere i due codici più “connettibili”, così da facilitare lo sviluppo nel nome dell’accessibilità.
Come rendere il tuo sito accessibile facilmente
Gli attributi ARIA restano uno strumento potente quando l'HTML nativo non basta, non un livello da aggiungere per abitudine. La regola più utile da portare con sé è la prima delle cinque: se un elemento HTML fa già il lavoro, non serve altro.
I nomi accessibili — aria-label, aria-labelledby, aria-describedby — sono il terreno dove si concentrano più errori e più ricerche, perché è lì che si decide se un utente capisce cosa sta per attivare. E un attributo ARIA scritto bene non si nota mai: funziona in silenzio, esattamente come dovrebbe.
Prima di aggiungere il prossimo attributo ARIA, un audit sui 4 principi dell'accessibilità web aiuta a capire se il problema è davvero di semantica o si risolve più a monte, nella struttura HTML.
Domande frequenti sugli attributi ARIA
Cosa sono gli attributi ARIA
Gli attributi ARIA sono specifiche del W3C che si aggiungono al codice HTML per comunicare ruolo, stato e proprietà di un elemento alle tecnologie assistive, come gli screen reader, senza modificarne l'aspetto visivo.
Qual è la differenza tra aria-label e aria-labelledby
aria-label assegna un testo che esiste solo per la tecnologia assistiva; aria-labelledby punta invece a un testo già visibile nella pagina e ha la precedenza quando entrambi sono presenti sullo stesso elemento.
Quando è meglio non usare ARIA
Sì, ci sono casi frequenti in cui ARIA va evitato: quando un elemento HTML nativo offre già la semantica e il comportamento richiesti, aggiungere un ruolo ARIA è ridondante e può creare conflitti.
Gli attributi ARIA influenzano il posizionamento SEO
No, gli attributi ARIA non sono un fattore diretto di ranking, ma migliorano l'esperienza per chi usa tecnologie assistive e riducono gli errori di accessibilità che possono penalizzare indirettamente l'esperienza complessiva del sito.
Gli attributi ARIA sono obbligatori per la conformità alle WCAG
No, non sono obbligatori in assoluto: le WCAG richiedono che ogni componente abbia un nome, un ruolo e un valore accessibili, e ARIA è uno dei metodi possibili per raggiungere quel risultato quando l'HTML nativo non basta.
Disclaimer: Contenuto generato con il supporto dell'intelligenza artificiale e sottoposto a supervisione e revisione umana

Redazione
L'ottimizzazione dei siti web è essenziale e passa anche attraverso l'accessibilità web
Accessibilita Digitale

Guido Giuliani
Un validatore di accessibilità è essenziale per l'accessibilità del tuo sito: ma come funziona?
Accessibilita Digitale

Author
L'accessibilità digitale è passata da buona pratica a obbligo di legge per un numero crescente di aziende. Se gestisci un sito o un'app rivolti al pubblico, la domanda non è più se la normativa ti riguarda, ma quando e come.
Legislazione