Utilizzando solo HTML standard, le moderne app Web possono bloccare gli utenti con esigenze di accessibilità.
L'HTML è il linguaggio di markup predominante online, utilizzato da quasi l'83% dei siti web esistenti. Mentre ci sono stati alcuni cambiamenti nei 25 anni dalla sua creazione, anche le più recenti iterazioni, come HTML5 e AMP, lasciano molto a desiderare, specialmente quando si parla di accessibilità. È qui che entra in gioco ARIA. In questo tutorial, parlerò di cosa è ARIA, perché è utile per il tuo sito e in un paio di modi in cui può essere aggiunto al tuo sito.
ARIA, noto anche come WAI-ARIA, è l'acronimo di Access Rich Internet Applications di Web Accessibility Initiative. Il documento delle specifiche completo può essere trovato qui. Nota che il documento con le specifiche complete è abbastanza denso, quindi potrebbe essere una buona idea iniziare leggendo questo post e verificando alcune delle altre risorse che link qui sotto.
Lo scopo principale di ARIA è quello di consentire una struttura semantica avanzata all'interno dell'HTML come contropartita della natura pesante della sintassi HTML. In altre parole, l'HTML dice al browser dove vanno le cose, e ARIA racconta come interagiscono.
ARIA è un progetto ospitato dal W3C (World Wide Web Consortium). Il progetto aderisce agli stessi standard per l'aggiornamento e la modifica come le altre iniziative. Forniscono inoltre un repository GitHub di diversi test che è possibile eseguire per assicurarsi che la pagina funzioni correttamente.
La maggior parte dei siti che hanno un design strutturato e ben congegnato fanno abbastanza bene quando si tratta di tecnologie adattive (ad esempio lettori di schermo). Tuttavia, avere un utente in grado di capire come utilizzare il tuo sito e averlo facile da usare sono cose diverse. Gli utenti ipovedenti costituiscono quasi il 2% della popolazione e, per loro, la differenza può significare risparmiare un notevole dispendio di tempo e lavoro investigativo quando si cerca di eseguire attività online di base. Può essere la differenza tra offrire ai visitatori un'esperienza spettacolare e fornire un labirinto per loro di navigare.
Al di là dei tradizionali mezzi di accessibilità, ARIA sta trovando la sua strada in tecnologie che forniscono nuove interpretazioni standard. Un numero crescente di sistemi vocali, la navigazione aggregata (come i computer auto-incorporati, per esempio) e altre innovazioni stanno mettendo l'ARIA al servizio, sfruttando le sue maggiori capacità semantiche.
Nel complesso, ARIA collega gli elementi in un modo semanticamente significativo. Fornisce all'utente ulteriori significati riguardo all'interazione. Ecco alcuni esempi reali di come potrebbe essere utilizzato:
tag per una serie di checkbox che preferisci non essere composta da elementi del modulo.Abbiamo parlato di cosa può fare ARIA, quindi ora diamo un'occhiata ad alcuni degli esempi più comuni. Inizieremo ogni sezione con una breve dichiarazione dell'obiettivo che stiamo cercando di raggiungere, seguito da un esempio di codice su come realizzarlo.
Quando si parla di etichettatura alternativa, la maggior parte degli sviluppatori ha familiarità con alt
attributo comunemente usato su tag. Questo tag ha uno scopo importante: descrivere l'immagine a cui è collegato per maggiore accessibilità (o come una tattica SEO comune, a seconda della prospettiva).
ARIA fornisce un attributo simile chiamato Aria-label
che può essere collegato a qualsiasi elemento HTML, migliorando l'accessibilità non solo per le immagini, ma anche per le sezioni del sito, i controlli del modulo e altro. Ecco un esempio di come appare:
Una descrizione testuale dell'immagine, visibile sullo schermo
L'HTML fornisce già una serie di elementi per la creazione di pagine Web, ma il loro obiettivo principale è tipicamente definire un'area genericamente e presentare all'utente la struttura del sito. ARIA fornisce alcuni dozzine di elementi aggiuntivi che si concentrano maggiormente su come viene utilizzato un elemento, come un timer, un suggerimento o una barra di avanzamento.
Un esempio di utilizzo qui è un suggerimento che potresti trovare su un modulo. Esistono diversi modi per crearne uno, che vanno da un collegamento che attiva alcuni JavaScript a un elemento che crea una modale quando si passa con il mouse sopra. Il pezzo mancante qui è che, nonostante il modo in cui potrebbe funzionare per gli utenti vedenti, gli utenti ipovedenti potrebbero non sapere nemmeno che il tooltip esiste.
Puoi definire un suggerimento usando ARIA in questo modo:
Per espandere questi elementi dell'interfaccia utente, ecco una breve lista di alcuni dei "ruoli" più interessanti che possono essere definiti. L'elenco completo è disponibile nel documento delle specifiche di riferimento.
ricerca
bandiera
presentazione
barra degli strumenti
stato
elemento del menu
ceppo
dialogo
collegamento
Ora espandiamoci su un punto di cui abbiamo parlato prima: la struttura forzata dell'HTML. Mentre la relazione genitore / figlio è buona per decidere come ordinare le cose, non è sufficiente quando sono necessarie connessioni più significative. Un esempio di questo è elementi di pari livello. Alcune librerie hanno aggiunto la possibilità per i fratelli o altre forme di relazioni tra elementi di essere attraversate, ma questo di solito avviene in JavaScript o in un'altra lingua al di fuori del markup.
ARIA ci dà la possibilità di definire queste relazioni direttamente nel markup, rendendo più facile raggruppare le voci di menu, creare una navigazione non standard e collegare i controlli alle aree degli elementi che sarebbero difficili da fare normalmente.
Diamo un'occhiata a come potremmo usarlo per connettere alcuni controlli ad un'area di contenuto:
Il contenuto del tuo tutorial
Questo frammento dice che il nextbutton.jpg l'immagine è un pulsante, che è un controllo per il tutorial div
sotto.
L'ultima caratteristica di ARIA che tratteremo qui è la Aria-live
attributo. Mentre la maggior parte delle altre funzionalità di ARIA qui si occupano di connessioni semantiche, questa si occupa direttamente dell'idea di fornire notifiche agli utenti di modifiche del contenuto o degli elementi.
Per molti con problemi di vista, potrebbe non essere immediatamente chiaro che la loro interazione con il tuo sito ha causato un cambiamento altrove nella pagina. Questo può essere particolarmente vero per i cambiamenti sottili, come piccoli frammenti di testo che possono cambiare ma rimangono relativamente della stessa lunghezza. Utilizzando questo attributo, ogni volta che il contenuto viene modificato all'interno dell'elemento definito, l'utente verrà avvisato.
Possiamo aggiungere questo attributo a un elemento come questo:
Contenuto che aggiorna, es. indicazioni guidate
Con poco più del 2% della popolazione degli Stati Uniti che trasporta una qualche forma di etichetta a bassa visione, migliorare l'accessibilità del tuo sito può aumentare notevolmente la portata del tuo sito. Per quelli con siti che raggiungono più paesi, quel numero diventa ancora più grande. Oltre all'accessibilità, ARIA offre anche un modo per le interfacce non-browser di utilizzare il tuo sito, con un numero di dispositivi vocali che forniscono già supporto.
L'implementazione di ARIA aiuta gli utenti e può aiutare il tuo traffico, quindi prendilo!
Ho perso qualche dettaglio o hai altre domande? Lascia un commento qui sotto!
Se vuoi immergerti nella documentazione completa di ARIA o provare lo strumento di test ufficiale, controlla i seguenti link: