Che cos'è HTML5 ARIA?


249

Che cos'è HTML5 ARIA? Non capisco come implementarlo.


4
Si noti che WAI-ARIA è precedente a HTML5 e non lo richiede, sebbene gli attributi ARIA saranno considerati validi solo da un validatore HTML5 o se confrontati con un DTD esteso ARIA. Tuttavia, la bozza HTML5 attualmente non consente alcuni costrutti WAI-ARIA.
Alohci,

L'ho visto nell'html di Facebook.
Sorter

Risposte:


213

WAI-ARIA è una specifica che definisce il supporto per le app Web accessibili. Definisce un insieme di estensioni di markup (principalmente come attributi su elementi HTML5), che possono essere utilizzate dallo sviluppatore di app Web per fornire informazioni aggiuntive sulla semantica dei vari elementi a tecnologie assistive come gli screen reader. Naturalmente, affinché ARIA funzioni, l'agente utente HTTP che interpreta il markup deve supportare ARIA, ma le specifiche sono create in modo tale da consentire agli agenti utenti di livello inferiore di ignorare il markup specifico di ARIA in modo sicuro senza influire sul funzionalità dell'app web.

Ecco un esempio dalle specifiche ARIA:

<ul role="menubar">

  <!-- Rule 2A: "File" label via aria-labelledby -->
  <li role="menuitem" aria-haspopup="true" aria-labelledby="fileLabel"><span id="fileLabel">File</span>
    <ul role="menu">

      <!-- Rule 2C: "New" label via Namefrom:contents -->
      <li role="menuitem" aria-haspopup="false">New</li>
      <li role="menuitem" aria-haspopup="false">Open…</li>
      ...
    </ul>
  </li>
  ...
</ul>

Nota l' roleattributo sull'elemento esterno <ul>. Questo attributo non influisce in alcun modo sul modo in cui il markup viene visualizzato sullo schermo dal browser; tuttavia, i browser che supportano ARIA aggiungeranno informazioni sull'accessibilità specifiche del sistema operativo all'elemento dell'interfaccia utente renderizzato, in modo che l'utilità per la lettura dello schermo possa interpretarlo come un menu e leggerlo ad alta voce con un contesto sufficiente per consentire all'utente finale di comprendere (ad esempio, un esplicito "menu" suggerimento audio) ed è in grado di interagire con esso (ad esempio, navigazione vocale).


11
Qual è la differenza tra l'attributo di dati e l'aria?
JackMoney

55
ariaè specifico per l'accessibilità e non deve essere utilizzato per archiviare dati casuali. dataè per i dati casuali che l'applicazione deve associare al nodo.
Franci Penov,

2
Si prega di tenere presente: role="menu"e "menuitem"sono corretti per APPS (= software con menu come File > Openo Edit > Copy to clipboard. Per un sito Web classico è probabilmente meglio rimanere al solito <ul>(= elenco di ruoli per impostazione predefinita) poiché si forniscono solo collegamenti ad altre pagine Web e nessuna funzione come "salva" o "copia / incolla". Se stai utilizzando role="menu"devi anche aggiungere supporto per navigare nel menu con i tasti freccia della tastiera come al solito menu software / app
Oops D'oh,

62

ARIA è l'acronimo di Access Rich Rich Internet Applications.

WAI-ARIA è una tecnologia incredibilmente potente che consente agli sviluppatori di descrivere facilmente lo scopo, lo stato e altre funzionalità delle interfacce utente visivamente ricche, in un modo che può essere compreso dalla tecnologia assistiva. WAI-ARIA è stato finalmente integrato nell'attuale bozza di lavoro della specifica HTML 5.

E se ti stai chiedendo cosa sia WAI-ARIA, è la stessa cosa.

Si prega di notare che i termini WAI-ARIA e ARIA si riferiscono alla stessa cosa. Tuttavia, è più corretto utilizzare WAI-ARIA per riconoscere le sue origini in WAI.

WAI = Iniziativa per l'accessibilità del web

A quanto pare, ARIA è utilizzato per tecnologie assistive e principalmente per la lettura dello schermo.

La maggior parte dei tuoi dubbi verrà chiarita se leggi questo articolo

http://www.w3.org/TR/aria-in-html/


23

Che cos'è?

WAI-ARIA è l'acronimo di "Web Accessibility Initiative - Accessible Rich Internet Applications" . È un insieme di attributi che aiutano a migliorare la semantica di un sito Web o di un'applicazione Web per aiutare le tecnologie assistive, come gli screen reader per non vedenti, a dare un senso a certe cose che non sono native dell'HTML. Le informazioni esposte possono variare da qualcosa di semplice come dire a uno screen reader che l'attivazione di un collegamento o pulsante ha appena mostrato o nascosto più elementi, a widget complessi come interi sistemi di menu o viste gerarchiche ad albero.

Ciò si ottiene applicando ruoli e attributi di stato al markup HTML 4.01 o successivo che non influisce sul layout o sulla funzionalità del browser, ma fornisce informazioni aggiuntive per le tecnologie assistive.

Una pietra angolare di WAI-ARIA è l'attributo ruolo. Indica al browser di dire alla tecnologia di supporto che l'elemento HTML utilizzato non è in realtà ciò che suggerisce il nome dell'elemento, ma qualcos'altro. Mentre in origine è solo un elemento div, questo elemento div può essere il contenitore di un elenco di elementi con completamento automatico, nel qual caso un ruolo di "casella di riepilogo" sarebbe appropriato da utilizzare. Allo stesso modo, un altro div che è figlio di quel div contenitore e che contiene un singolo elemento opzione, dovrebbe quindi ottenere un ruolo di "opzione". Due div, ma attraverso i ruoli, significato totalmente diverso. I ruoli sono modellati sulle controparti delle applicazioni desktop comunemente utilizzate.

Un'eccezione a ciò sono i ruoli di riferimento del documento, che non cambiano il significato effettivo dell'elemento in questione, ma forniscono informazioni su questo particolare posto in un documento.

La seconda pietra angolare sono stati e proprietà WAI-ARIA. Definiscono lo stato di alcuni elementi nativi o WAI-ARIA, ad esempio se qualcosa viene compresso o espanso, è richiesto un elemento modulo, qualcosa ha un menu a comparsa collegato ad esso o simili. Questi sono spesso dinamici e cambiano i loro valori durante il ciclo di vita di un'applicazione Web e di solito vengono manipolati tramite JavaScript.

Cosa no?

WAI-ARIA non intende influenzare il comportamento del browser. A differenza di un elemento pulsante reale, ad esempio, un div su cui si inserisce il ruolo di "pulsante" non fornisce la messa a fuoco della tastiera, un gestore di clic automatico quando si preme Spazio o Invio su di esso e altre proprietà che sono indigine di un pulsante. Il browser stesso non sa che un div con il ruolo di "pulsante" è un pulsante, solo la sua parte API di accessibilità lo fa.

Di conseguenza, questo significa che devi assolutamente implementare la navigazione da tastiera, la focalizzazione e altri schemi comportamentali conosciuti dalle applicazioni desktop da solo. Potete trovare alcune tecniche avanzate ARIA Qui .

Quando non dovrei usarlo?

Sì, è corretto, questa sezione viene prima di tutto! Perché la prima regola di usare WAI-ARIA è: non usarla a meno che non sia assolutamente necessario! Meno WAI-ARIA hai e più puoi contare sull'utilizzo di widget HTML nativi, meglio è! Ci sono alcune altre regole da seguire, puoi verificarle qui .


13

Che cos'è ARIA?

ARIA è emerso come un modo per affrontare il problema dell'accessibilità dell'utilizzo di un linguaggio di markup destinato a documenti, HTML, per creare interfacce utente (UI). HTML include molte funzioni per gestire i documenti (P, h3, UL, TABELLA) ma solo elementi dell'interfaccia utente di base come A, INPUT e PULSANTE. Windows e altri sistemi operativi supportano API che consentono a (Assistive Technology) AT di accedere alla funzionalità dei controlli dell'interfaccia utente. Internet Explorer e altri browser associano gli elementi HTML nativi all'API di accessibilità, ma i controlli html non sono così ricchi come i controlli comuni sui sistemi operativi desktop e non sono sufficienti per le moderne applicazioni Web I controlli personalizzati possono estendere gli elementi html per fornire ai ricchi Interfaccia utente necessaria per le moderne applicazioni Web. Prima di ARIA, il browser non aveva modo di esporre questa ricchezza extra all'API o AT di accessibilità. L'esempio classico di questo problema è l'aggiunta di un gestore di clic a un'immagine. Crea quello che sembra essere un pulsante cliccabile per un utente del mouse, ma è ancora solo un'immagine per una tastiera o un utente AT.

La soluzione era quella di creare un insieme di attributi che consentano agli sviluppatori di estendere HTML con semantica dell'interfaccia utente. Il termine ARIA per un gruppo di elementi HTML che hanno funzionalità personalizzate e utilizzano gli attributi ARIA per mappare queste funzioni alle API di accessibilità è un "Widget. ARIA fornisce inoltre agli autori un mezzo per documentare il ruolo del contenuto stesso, che a sua volta consente ad AT di costruire meccanismi di navigazione alternativi per il contenuto che sono molto più facili da usare rispetto alla lettura del testo completo o solo iterando su un elenco di collegamenti.

È importante ricordare che, in casi semplici, è preferibile utilizzare controlli HTML nativi e modellarli piuttosto che utilizzare ARIA. Cioè non reinventare le ruote o le caselle di controllo, se non è necessario.

Fortunatamente, il markup ARIA può essere aggiunto ai siti esistenti senza modificare il comportamento degli utenti mainstream. Ciò riduce notevolmente i costi di modifica e test del sito Web o dell'applicazione.


7

Ho fatto qualche altra domanda riguardante ARIA. Ma il contenuto sembra più promettente per questa domanda. vorrei condividerli

Che cos'è ARIA?

Se fai uno sforzo per rendere il tuo sito Web accessibile agli utenti con una varietà di diverse abitudini di navigazione e disabilità fisiche, probabilmente riconoscerai il ruolo e gli attributi aria- *. WAI-ARIA (Accessible Rich Internet Applications) è un metodo per fornire modi per definire i contenuti e le applicazioni Web dinamici in modo che le persone con disabilità possano identificarsi e interagire con successo con esso. Questo viene fatto attraverso ruoli che definiscono la struttura del documento o dell'applicazione, o attraverso attributi aria- * che definiscono un ruolo-widget, una relazione, uno stato o una proprietà.

L'uso di ARIA è raccomandato nelle specifiche per rendere le applicazioni HTML5 più accessibili. Quando si utilizzano elementi semantici HTML5, è necessario impostare il ruolo corrispondente.

E guarda questo video di Tube per ARIA live.


Piccola correzione: quando si utilizzano elementi HTML5 semantici, è necessario impostare il ruolo corrispondente solo se la semantica dell'elemento scelto non fornisce informazioni sufficienti. In altre parole, se si dispone di un elemento nav, non è necessario aggiungere role = "navigation", poiché il ruolo è già chiaro dalla scelta dell'elemento. Ma se si dispone di un elemento di input per la ricerca nel sito, è necessario aggiungere role = "search" perché gli elementi di input vengono utilizzati per molte altre cose oltre alla ricerca e questo contrassegna quell'input specifico come avente il ruolo di ricerca.
Brennanyoung,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.