{"id":127,"date":"2010-12-14T19:05:19","date_gmt":"2010-12-14T18:05:19","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/accessibilita-di-wai-aria\/"},"modified":"2010-12-14T19:05:19","modified_gmt":"2010-12-14T18:05:19","slug":"accessibilita-di-wai-aria","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/accessibilita-di-wai-aria\/","title":{"rendered":"L&#8217;accessibilit\u00e0 di WAI-ARIA"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2010\/12\/n20toolsw.jpg\" border=\"0\" align=\"left\" \/>I web developers che si interessano di problemi di accessibilit\u00e0 discutono spesso di <a href=\"http:\/\/www.w3.org\/TR\/wai-aria\/\">WAI-ARIA<\/a>, una candidate recommendation del W3C che verr\u00e0 presto pubblicata, il cui scopo \u00e8 quello di rendere le applicazioni web pi\u00f9 accessibili ai non vedenti e alle persone con disabilit\u00e0 visive. Ma si pu\u00f2 raccomandare WAI-ARIA senza riserve?<\/p>\n<p>La comunit\u00e0 dell&#8217;accessibilit\u00e0 ha dato il benvenuto allo sviluppo di WAI-ARIA. Chiaramente, presenta molti benefici per gli utenti di screen reader. Prima, quando le pagine web venivano aggiornate dinamicamente, gli utenti di screen reader non potevano accorgersi del cambiamento o, in altri casi, venivano buttati in cima alla pagina. Ora, WAI-ARIA \u00e8 in grado di informare lo screen reader sui cambi dinamici. Possiamo creare delle widget complesse e personalizzate, come i menu pulldown, i tab panel, gli alberi gerarchici o gli slider, rendendoli accessibili tramite mappatura dei loro elementi ai ruoli, alle propriet\u00e0 e agli stati definiti nello standard e supportati dalle API di accessibilit\u00e0 del sistema, ammesso che gli utenti abbiano delle versioni recenti dei browser e degli screen reader che supportino lo standard.<\/p>\n<p>Molti utenti, per\u00f2, non hanno accesso alle tecnologie pi\u00f9 recenti e migliori. Pertanto, i test di accessibilit\u00e0 si basano tipicamente su software che \u00e8 probabile che gli \u201cutenti l\u00e0 fuori\u201d incontrino sul loro posto di lavoro.<\/p>\n<div class=\"paragrafo\">\n<h2>Un benchmark per i test di accessibilit\u00e0<\/h2>\n<p>Questo \u00e8 il motivo per cui la tedesca <a href=\"http:\/\/www.bitvtest.eu\">BITV-Test<\/a> (BITV \u00e8 il regolamento federale tedesco che controlla l&#8217;accessibilit\u00e0 nell&#8217;information technology) ordina di utilizzare un browser datato (attualmente Internet Explorer 7) che \u00e8 tipicamente usato in combinazione con uno screen reader datato come JAWS 8, che non supporta ancora WAI-ARIA.<\/p>\n<p>Per ragioni pratiche il BITV-Test non richiede test con gli screen reader. Tuttavia, i suoi checkpoint considerano i limiti delle tecnologie assistive pi\u00f9 vecchie. Il test abbasser\u00e0 il punteggio dei siti i cui autori <em>fanno affidamento<\/em> su WAI-ARIA: ad esempio, implementando delle widget tali da essere inaccessibili per gli utenti degli screen reader pi\u00f9 vecchi come JAWS 8.<\/p>\n<p>Il dubbio rimane: i test di accessibilit\u00e0 devono accontentarsi di una combinazione datata di browser e tecnologia assistiva che non supporta ancora WAI-ARIA? Questo non fa da disincentivo per i web developers che adottano WAI-ARIA per far diventare le applicazioni web dinamiche richieste dai clienti qualcosa che sia altrettanto utilizzabile dagli utenti non vedenti?<\/p>\n<p>Dobbiamo fare alcuni passi indietro per rispondere a questa domanda. Per prima cosa, cosa ci dicono le <a href=\"http:\/\/www.w3.org\/TR\/WCAG20\/\">Web Content Accessibility Guidelines (WCAG) 2.0<\/a> riguardo il supporto di accessibilit\u00e0 richiesto dalle tecnologie come WAI-ARIA? Secondo punto: com&#8217;\u00e8 il supporto attuale dei browser e degli screen reader per WAI-ARIA? Ed infine, quali sono gli ostacoli pratici per utilizzare WAI-ARIA sul posto di lavoro?<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>L&#8217;\u201cAccessibility support\u201d secondo le WCAG 2.0<\/h2>\n<p>Per usare una metafora, l&#8217;<a>\u201caccessibility support\u201d<\/a> \u00e8 un ponte con due arcate. Solo se entrambe le arcate sono presenti, gli utenti delle tecnologie assistive possono accedere a tutta l&#8217;informazione che \u00e8 a disposizione degli utenti senza disabilit\u00e0.<\/p>\n<p>Il primo arco \u00e8 la tecnologia web che si usa. I web designer che si attengono alla specifica WAI-ARIA e alle <a href=\"http:\/\/www.w3.org\/TR\/wai-aria-practices\/\">Authoring Practices<\/a> raccomandate possono assicurare che il loro contenuto \u00e8 potenzialmente accessibile.<\/p>\n<p>Perch\u00e9 \u201cpotenzialmente\u201d? Perch\u00e9 manca ancora la seconda arcata: gli user agent adatti. I browser e gli screen reader devono essere ridisegnati o modificati per essere in grado di funzionare effettivamente con le nuove tecnologie web. Le versioni pi\u00f9 vecchie potrebbero semplicemente fare fiascho.<\/p>\n<p>Quindi dichiarare \u201caccessibility supported\u201d una particolare tecnologia web non \u00e8 semplicemente un problema di completamento dello standard. Dobbiamo anche misurare il grado di penetrazione degli user agent pi\u00f9 nuovi che supportano tale tecnologia in un dato contesto d&#8217;uso. La situazione tende a variare considerevolmente tra le diverse contee, linguaggi ed ambienti d&#8217;uso. In una sezione su <a href=\"http:\/\/www.w3.org\/TR\/UNDERSTANDING-WCAG20\/conformance.html#uc-accessibility-support-head\">Understanding Accessibility Support<\/a> [\u201cCapire l&#8217;accessibility support\u201c, <em>ndt<\/em>], il WCAG Working Group ed il W3C pertanto<\/p>\n<blockquote>\n<p>non specificano quale o quante tecnologie assistive debbano supportare una tecnologia web perch\u00e9 questa sia classificata come accessibility supported.<\/p>\n<\/blockquote>\n<p>E<\/p>\n<blockquote>\n<p>rimanda il giudizio riguardo quanto, quante o quali AT [tecnologie assistive] devono supportare una tecnologia alla comunit\u00e0 e alle entit\u00e0 pi\u00f9 vicine a ciascuna situazione.<\/p>\n<\/blockquote>\n<p>Mentre un dipartimento IT di un&#8217;azienda pu\u00f2 assicurare l&#8217;accessibility support per la sua intranet, i siti web pubblici forniscono informazioni a una popolazione molto variegata utilizzando un ampio range di user agent e di tecnologie assistive.<\/p>\n<p>Questo \u00e8 il motivo per cui le<a href=\"http:\/\/www.w3.org\/TR\/UNDERSTANDING-WCAG20\/conformance.html#uc-accessibility-support-head\">WCAG 2.0 dicono chiaramente che<\/a>:<\/p>\n<blockquote>\n<p>Creare del contenuto che non pu\u00f2 essere usato dal grande pubblico con una qualche disabilit\u00e0 dovrebbe essere evitato.<\/p>\n<\/blockquote>\n<p>Se accettiamo questo \u201cgrande pubblico\u201d come nostro benchmark, troveremo che attualmente, ci sono ancora molti ostacoli all&#8217;uso estensivo di WAI-ARIA.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Il supporto per WAI-ARIA nei browser e nelle tecnologie assistive<\/h2>\n<p>Il supporto per alcune parti di WAI-ARIA, come i document landmark, \u00e8 gi\u00e0 abbastanza buono nelle ultime versioni dei browser e degli screen reader. Tuttavia rimangono ancora molti problemi.<\/p>\n<h3>Supporto irregolare tra le tecnologie assistive<\/h3>\n<p>Il supporto per WAI-ARIA \u00e8 ancora lacunoso in molte combinazioni di screen reader\/browser l\u00e0 fuori, ad esempio, guardate (l&#8217;abbastanza datato)  <a href=\"http:\/\/wiki.codetalks.org\/wiki\/index.php\/Set_of_ARIA_Test_Cases\">WAI-ARIA tests on code talks<\/a>. Il solo numero di tipi e versioni di browser e tecnologie assistive rende arduo stimare un dato livello di supporto. E <a href=\"http:\/\/www.accessibleculture.org\/blog\/2010\/11\/html5-plus-aria-sanity-check\/\">fornire dei workaround per alcuni bug degli screen reader<\/a> pu\u00f2 rendere la vita difficile agli utenti di altri browser e screen reader pi\u00f9 compliant.<\/p>\n<p>Gli utenti non vedenti che non hanno il supporto per WAI-ARIA potrebbero semplicemente non riconoscere una web widget se il suo ruolo WAI-ARIA non \u00e8 esposto. Prendete un tab panel implementato secondo le best practices di WAI-ARIA: lo screen reader non dir\u00e0 agli utenti che sono appena entrati in un tab panel e possono adesso usare i tasti freccia per muoversi tra le tab, cos\u00ec gli utenti probabilmente si sposteranno con il tab oltre il contenuto del tab panel. Ed il cambio di focus programmato con uno script per la navigazione con i tasti freccia tra le tab potrebbe non funzionare: intere sezioni sotto ai tab possono diventare inaccessibili.<\/p>\n<p>Non dobbiamo dimenticarci degli utenti \u201cvisually impaired\u201d. Le attuali versioni di alcuni tra i pi\u00f9 popolari screen magnifier non supportano WAI-ARIA. ZoomText evidentemente non \u00e8 nemmeno a conoscenza dell&#8217;esistenza di WAI-ARIA. Freedom Scientific offrir\u00e0 un supporto parziale in MAGic a partire dalla prossima versione (adesso siamo alla 11.0). Il supporto in HAL e Supernova di Dolphin \u00e8 atteso per la version 12.5.<\/p>\n<h3>Usi corretti e scorretti di WAI-ARIA<\/h3>\n<p>Al momento, molte implementazioni non sono conformi alle <a href=\"http:\/\/www.w3.org\/TR\/wai-aria-practices\/\">WAI ARIA best practices<\/a> per fare in modo che funzionino come nelle intenzioni della specifica. Gli errori di programmazione di WAI-ARIA possono in effetti deteriorare l&#8217;accessibilit\u00e0 di una widget. Quello che contribuisce alla complessit\u00e0 della programmazione \u00e8 che la semantica nativa degli elementi HTML pu\u00f2 essere in conflitto con la semantica aggiunta tramite i WAI-ARIA roles.<\/p>\n<p>L&#8217;interazione di questi problemi fa in modo che progettare con WAI-ARIA sia una questione delicata. I web developer, pertanto, si sono messi ad usare i test con gli screen reader per assicurarsi che i loro progetti funzionino correttamente per un certo range di tecnologie assistive (per cominciare, lo <a href=\"http:\/\/www.nvda-project.org\/\">screen reader NVDA<\/a> \u00e8 gratis ed \u00e8 semplice da installare).<\/p>\n<h3>Implicazioni delle widget per gli utenti da tastiera vedenti<\/h3>\n<p>I maggiori benefici di WAI-ARIA riguardano gli utenti non vedenti. Per loro le widget in una pagina web sullo stile di quelle per desktop non sono pi\u00f9 inaccessibili, ma la proliferazione di tali widget ha anche delle implicazioni per gli utenti da tastiera vedenti.<\/p>\n<p>Rispetto alle widget per il desktop e le loro convenzioni, le widget \u201cself-styled\u201d sul web sono parecchio differenti. Quelle che sono conformi alle best practices di WAI-ARIA sono rare. Quale sia, ammesso che vi sia, l&#8217;interazione da tastiera che una particolare widget mette a disposizione dell&#8217;utente si riduce quindi a delle ipotesi.<\/p>\n<p>Di nuovo, consideriamo i tab panels. Non c&#8217;\u00e8 un modo semplice per distinguere una comune barra di navigazione a tab ed una widget con una navigazione a tab panel che si trova pi\u00f9 in basso nella pagina. E solo pochi tab panel l\u00e0 fuori offrono la navigazione per mezzo dei tasi freccia invece che con il tab. Gli utenti da tastiera vedenti dovranno provare quale tasto funziona. (Per i non vedenti che usano uno screen reader che supporta WAI-ARIA, c&#8217;\u00e8 in effetti un problema in meno se i ruoli della widget sono annunciati nello stesso modo che nelle desktop widget).<\/p>\n<p>Un altro punto critico \u00e8 che le widget custom dipendono dai fogli di stile per il posizionamento dei loro elementi. Senza CSS o visti con un foglio di stile personalizzato, queste widget si disintegrano e non sono pi\u00f9 utilizzabili. Gli elementi della widget possono apparire due volte o essere molto lontani da quella che era la loro posizione originale. Inoltre, le immagini di background assegnate tramite CSS spariranno (la stessa cosa succede quando si usano degli schemi di colore personalizzati).<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Ostacoli all&#8217;utilizzo di WAI-ARIA sul posto di lavoro<\/h2>\n<p>C&#8217;\u00e8 un insieme piuttosto diversificato di problemi evidenti sul posto di lavoro. Abbastanza spesso i problemi sono fuori dall&#8217;influenza dell&#8217;utente:<\/p>\n<ul>\n<li>Molte aziende utilizzando applicazioni internet personalizzate per una particolare combinazione di browser\/screen reader. I costi per la personalizzazione spesso sono molto pi\u00f9 alti di quelli delle licenze per screen reader o degli aggiornamenti. I buchi di sicurezza noti (come in Internet Explorer 7) possono necessitare di aggiornamento, ma questo argomento non \u00e8 sufficiente se le applicazioni sono (o dovrebbero essere) usate sono su una intranet.<\/li>\n<li>Molte aziende usano ancora vecchi sistemi operativi come Windows 2000, che non \u00e8 compatibile con le versioni pi\u00f9 recenti dei browser, come IE8 e, a seguire, con le versioni di screen reader pi\u00f9 recenti. Per le applicazioni e le tecnologie assistive che supportano procedure meccaniche non c&#8217;\u00e8 un vero incentivo all&#8217;aggiornamento a meno che il workflow o degli importanti aggiornamenti di sistema lo richiedano.<\/li>\n<li>Molti utenti di computer non vedenti che usano degli screen reader che supportano WAI-ARIA, come JAWS 9 o le sue versioni pi\u00f9 recenti non conoscono o non sono stati istruiti per sfruttarne tutto il potenziale.<\/li>\n<li>Mentre NVDA e JAWS al momento sono in grado di gestire WAI-ARIA, non dobbiamo dimenticarci degli utenti di altri screen reader meno potenti.<\/li>\n<\/ul>\n<p>Spesso, una personalizzazione basata sugli script per le tecnologie assistive sul posto di lavoro risponde esattamente a quei controlli personalizzati che WAI-ARIA potrebbe rendere accessibili. Un migliore supporto per WAI-ARIA potrebbe far risparmiare tempo e denaro. Questo, tuttavia, presuppone che durante la creazione di applicazioni web o intranet, gli sviluppatori usino WAI-ARIA in maniera coerente e secondo le best practices.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Chi non ha accesso a degli screen reader WAI-ARIA-capable?<\/h2>\n<p>Mentre facevamo delle ricerche per questo articolo, abbiamo preso in considerazione un campione preso da una grande azienda pubblica tedesca. Dei 15 posti di lavoro per non vedenti analizzati, nessuno supportava al momento WAI-ARIA:<\/p>\n<ul>\n<li>Sette postazioni usano HAL\/Lunar (tra la Version 6 e la 10),<\/li>\n<li>Quattro postazioni usano JAWS 6 e<\/li>\n<li>Quattro postazioni usano Blindows (tra la Version 2 e la 4).<\/li>\n<\/ul>\n<p>Ovviamente, la situazione potrebbe essere migliore in altri posti di lavoro. Nonostante ci\u00f2, il campione indica e una grande, forse molto grande, percentuale di persone non vedenti al momento non ha, sul posto di lavoro, accesso a degli user agent che supportano WAI-ARIA.<\/p>\n<h3>Indagini e statistiche d&#8217;uso<\/h3>\n<p>Sfortunatamente, non ci sono statistiche che possono quantificare in maniera affidabile quanti utenti hanno degli screen reader WAI-ARIA-capable. Stando alla <a href=\"http:\/\/webaim.org\/projects\/screenreadersurvey\/\">WebAIM screen reader survey<\/a> (Ottobre 2009), lo 83,6% degli utenti aggiorna il proprio screen reader entro un anno dal rilascio di una nuova versione. Concentrandoci per un attimo solo su JAWS e considerando le molteplici release di JAWS dopo la prima versione dotata di supporto per WAI-ARIA del Novembre 2007, la percentuale di utenti che sta ancora usando JAWS 8 dovrebbe essere inferiore al 5%. Tuttavia, la survey rispecchia solo il mercato americano, la cui situazione \u00e8 diversa da quella che c&#8217;\u00e8 in Germania. Inoltre, \u00e8 probabile che una percentuale pi\u00f9 alta di utenti di screen reader che ha risposto alla survey appartenesse alla categoria degli utenti esperti e pertanto utenti pionieri. Possiamo ipotizzare che la media del tasso di aggiornamento fra tutti gli utenti sia molto inferiore.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Modi non problematici per l&#8217;utilizzo di WAI-ARIA<\/h2>\n<p>Molte applicazioni di WAI-ARIA hanno come scopo l&#8217;arricchimento del HTML per correggere alcuni deficit semantici. Dal momento che HTML 4 non ha degli elementi espliciti per marcare le regioni di una pagina, la specifica WAI-ARIA offre i cosiddetti \u201cdocument landmarks\u201d. Ad esempio, possiamo assegnare ad un semplice <code>div<\/code> il <code>role=\"navigation\"<\/code> ed esporre il contenuto principale della pagina con <code>role=\"main\"<\/code>. Questo permette agli utenti di screen reader che supportano WAI-ARIA di muoversi rapidamente tra le differenti regioni della pagina.<\/p>\n<p>Altri attributi migliorano il markup delle form. Ad esempio, possiamo assegnare ad un elemento input l&#8217;attributo <code>aria-required=\"true\"<\/code> per comunicare agli utenti di screen reader che il campo richiede che venga inserito qualcosa prima che la form possa essere inviata. Le ARIA live regions sono un altro utile costrutto che informa gli utenti di screen reader riguardo i cambiamenti dinamici all&#8217;interno della pagina senza perdere l&#8217;attuale focus da tastiera.<\/p>\n<p>Le pagine arricchite semanticamente attraverso WAI-ARIA al momento non vengono validate, ma questo questo \u00e8 uno svantaggio accettabile: i browser comuni non hanno problemi con il markup aggiuntivo (Il passo di validazione del codice del BITV test mantiene un&#8217;eccezione per gli errori di validazione causati dal markup WAI-ARIA). Alcuni siti attualmente aggirano il problema di validazione aggiungendo degli attributi WAI-ARIA al codice sorgente attraverso uno script che viene eseguito quando si carica una pagina.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Pi\u00f9 problematico: le widget personalizzate<\/h2>\n<p>La specifica WAI-ARIA supporta un range di widget di controllo dell&#8217;interfaccia personalizzate utilizzate comunemente nelle applicazioni desktop, cos\u00ec che gli autori le possano usare nelle applicazioni web-based (una lista completa \u00e8 contenuta in <a href=\"http:\/\/www.w3.org\/TR\/wai-aria\/roles\">WAI-ARIA Roles Model<\/a>).<\/p>\n<h3>Estensione degli elementi standard<\/h3>\n<p>Gli autori spesso puntano ad estendere il comportamento degli elementi standard: ad esempio, per creare una checkbox a tre stati o un elemento <code>select<\/code> che possa anche accettare del testo di input (il <code>combobox<\/code>). Per ottenere ci\u00f2, gli elementi noti di HTML vengono ricreati dando un nuovo scopo ad elementi non semantici, come <code>div<\/code> o <code>img<\/code>, (sostituendo questi al momento della richiesta attraverso degli script che riflettono i vari stati), usando contemporaneamente WAI-ARIA per informare la tecnologia assistiva sui ruoli e sugli stati designati.<\/p>\n<h3>Widget personalizzate self-styled<\/h3>\n<p>Poi ci sono le widget personalizzate che i web designer hanno creato per un po&#8217; di tempo: le widget che WAI-ARIA dovrebbe ora rendere accessibili, inclusi i pulldown menu, i tabpanels, gli alberi gerarchici, gli slider, gli spinbutton e perfino le interfacce drag-and-drop. Il comportamento da tastiera desiderato per la widget non \u00e8 come il comportamento di default dei normali elementi HTML che possono avere il focus: deve essere esplicitamente definito attraverso JavaScript. Questo costituisce il primo problema, dal momento che per molte widget personalizzate non c&#8217;\u00e8 un comportamento standard in risposta all&#8217;input da tastiera. Cosa funziona e cosa no deve essere stabilito empiricamente dall&#8217;utente.<\/p>\n<p>La mancanza di robustezza di WAI-ARIA \u00e8 un altro problema: la sua implementazione nei browser e nelle tecnologie assistive non \u00e8 ancora stabile. A volte servono dei trucchi per essere certi che una widget funzioni come desiderato, come in un piccolo ritardo programmato con uno script per assicurare che gli elementi aggiunti all&#8217;alberatura DOM ricevano effettivamente il focus dagli script.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Opzioni di fallback per gli utenti senza supporto per WAI-ARIA<\/h2>\n<p>Non \u00e8 possibile, allora, fornire delle opzioni di fallback per gli user agent che non supportano WAI-ARIA? Nella trattazione del role <code>presentation<\/code>, il <a href=\"http:\/\/www.w3.org\/TR\/wai-aria\/roles#presentation\">documento WAI-ARIA Roles<\/a> dice che esso \u201cpu\u00f2 essere usato per fornire un fallback accessibile nei browser pi\u00f9 vecchi che non supportano WAI-ARIA.\u201d<\/p>\n<p>Guardandoci in giro, mancano degli esempi pratici di tali soluzioni di fallback. E&#8217; difficile pensare ad alcuna applicazione utile. Considerate una checkbox personalizzata con una checkbox nativa come opzione di fallback per gli utenti di screen reader che non supportano WAI-ARIA: tolta dallo schermo con CSS per nasconderla agli utenti senza disabilit\u00e0 visive e marcata con <code>role=\"presentation\"<\/code> per nasconderla ai browser WAI-ARIA-capable.<\/p>\n<p>Funziona? Il ruolo <code>presentation<\/code> sopprime gli attributi WAI-ARIA (tranne gli attributi globali) ma espone ancora gli elementi che possono avere il focus come i checkbox. La <a href=\"http:\/\/www.w3.org\/TR\/wai-aria-implementation\/\">WAI-ARIA 1.0 User Agent Implementation Guide<\/a> dice chiaramente:<\/p>\n<blockquote>\n<p>\u2026l&#8217;elemento deve essere ancora esposto se (\u2026) pu\u00f2 avere il focus, cos\u00ec che gli eventi focus possano essere attivati (il focus non deve mai essere perso)<\/p>\n<\/blockquote>\n<p>Pertanto, per gli utenti di screen reader senza supporto per WAI-ARIA ma con JavaScript attivato la checkbox personalizzata riceveranno il focus ma non riveleranno il loro ruolo ed il loro stato. Per gli utenti di screen reader con il supporto per WAI-ARIA, la non necessaria checkbox di fallback non annuncer\u00e0 il suo ruolo, ma sar\u00e0 ancora nel tab order, sar\u00e0 selezionabile e cambier\u00e0 il suo stato dopo la selezione. Infine, gli utenti dotati di vista saranno in grado di usare la custom checkbox, ma probabilmente anche spostarsi con il tab e attivare la checkbox nascosta senza alcun feedback visivo. Questo ovviamente non ha senso.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>WAI-ARIA nelle librerie UI di JavaScript<\/h2>\n<p>Molti designer che attingono le funzionalit\u00e0 di JavaScript dalle famose librerie UI di JavaScript implementeranno implicitamente WAI-ARIA, dal momento che queste librerie stanno aggiungendo il supporto alle loro widget e ai loro componenti. La situazione \u00e8 disparata. Si dice che <a href=\"http:\/\/www.dojotoolkit.org\/\">Dojo<\/a> offra un supporto maturo per WAI-ARIA, <a href=\"http:\/\/developer.yahoo.com\/yui\/\">YUI<\/a> offre dei plugin di ARIA per un certo assortimento di widget; ci si aspetta il supporto completo per WAI-ARIA a partire dalla release 2.0 di <a href=\"http:\/\/jquery.com\/\">JQuery<\/a>. Altre librerie, comunque, o non la supportano o ne hanno un supporto limitato.<\/p>\n<p>L&#8217;inclusione di WAI-ARIA nelle librerie UI di JavaScript \u00e8 una buona cosa dal momento che ci sono motivi per aspettarsi qui un&#8217;implementazione di WAI-ARIA conforme alle \u201dbest practices\u201d. Tuttavia, rimane il fatto che a livello degli hardware e dei software attualmente in uso, il supporto di accessibilit\u00e0 di WAI-ARIA non pu\u00f2 esser dato per scontato.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Raccomandazioni<\/h2>\n<p>Gli elementi HTML semantici appropriati, quando sono disponibili, sono da preferirsi all&#8217;utilizzo di widget personalizzate ottenute con JavaScript e WAI-ARIA. La difficolt\u00e0 di dare uno stile in maniera consistente agli elementi nativi con CSS potrebbe sembrare un punto dolente per i web designer: a vantaggio degli utenti, gli elementi dell&#8217;interfaccia saranno pi\u00f9 riconoscibili e prevedibili quando avranno semplicemente l&#8217;aspetto e la funzionalit\u00e0 come quella degli elementi di sistema noti.<\/p>\n<p>I designer dovrebbero controllare se le widget personalizzate complesse possono essere sostituite da elementi nativi pi\u00f9 semplici. E&#8217; davvero necessario usare una combobox per una funzione di autocompletamento? Davvero non si pu\u00f2 evitare di avere una checkbox a tre stati? I radio button con dei valori discreti possono rimpiazzare uno slider?<\/p>\n<p>Non stiamo spingendo verso l&#8217;austerit\u00e0 del design delle interfacce utente. Si fanno pochi danni usando dei controlli elaborati se viene fornita una loro versione alternativa accessibile. Prendete, ad esempio, uno slider che gli utenti possono spostare con il mouse per impostare la somma che vogliono donare a SOS-Kinderdorf, un&#8217;organizzazione nell&#8217;ambito della beneficenza molto nota. Controllate il secondo passaggio del <a href=\"http:\/\/url.ie\/86sa\">processo di donazione a SOS-Kinderdorf<\/a> (progettato da  <a href=\"http:\/\/www.aperto.de\">Aperto AG<\/a>). A seconda della somma specificata, una piccola bambina sulla destra esprime la sua gratitudine in termini moderati o calorosi (in tedesco). A quanto pare, la generosit\u00e0 \u00e8 aumentata molto dopo l&#8217;introduzione dello slider, il che dovrebbe essere una prova sufficiente della sua utilit\u00e0.<\/p>\n<p>Sebbene fosse possibile far funzionare lo slider per gli utenti di screen reader con il supporto per WAI-ARIA, i designer hanno preferito come alternativa un semplice input testuale per la somma da donare: l&#8217;ordine di tab per il focus salta semplicemente lo slider. E&#8217; importante la reazione della bambina nella nuvoletta della battuta, che viene azionata da entrambe i tipi di input.<\/p>\n<p>Riassumiamo. E&#8217; abbastanza chiaro che JavaScript \u00e8 diventato onnipresente e che WAI-ARIA \u00e8 una soluzione benvenuta per gestire il gap di accessibilit\u00e0 che questo sviluppo ha creato. Gli sviluppatori che oggi utilizzano WAI-ARIA possono essere d&#8217;aiuto per eliminare i bug di implementazione presenti nei browser e nelle tecnologie assistive. Allo stesso tempo, possono contribuire alle best practices con degli esempi che possono essere usati da molti altri come modello.<\/p>\n<p>Ma finch\u00e9 le combinazioni di vecchi screen reader\/browser che non sono in grado di interpretare WAI-ARIA continueranno a costituire una parte significativa delle installazioni, i designer che hanno a cuore l&#8217;accessibilit\u00e0 devono usare il markup WAI-ARIA solo per arricchire i loro siti. Non dovrebbero fare affidamento solo su di esso.<\/p>\n<p>\u00a0<\/p>\n<p>Illustrazioni: {carlok}<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Ringraziamenti<\/h2>\n<p>Per i suggerimenti ed i commenti, ringrazio molto Carsten Albrecht, Alexander Farkas, Michael Gro\u00dfe-Drenkpohl, Jan-Eric Hellbusch, Werner Hoog, Martin Kliehm, Werner Krau\u00dfe, Oliver Nadig, Hans-Herbert Suhling, Timo Wirth, Tiffany Wyatt e Marco Zehe.<\/p>\n<p>Traduzioni: <a href=\"http:\/\/www.bitvtest.de\/wai-aria\">Tedesco<\/a>.<\/p>\n<\/div>\n<div class=\"paragrafo\">\n<h2>Risorse utili<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.w3.org\/TR\/UNDERSTANDING-WCAG20\/conformance.html#uc-accessibility-support-head\">WCAG 2.0 Understanding Conformance\u2014Understanding Accessibility Support<\/a> Questa sezione delle WCAG 2.0 descrive il concetto di supporto di accessibilit\u00e0 ed elenca i success criteria.<\/li>\n<li><a href=\"http:\/\/www.w3.org\/WAI\/intro\/aria\">WAI-ARIA Overview: An introduction of the W3C Web Accessibility Initiative into WAI-ARIA<\/a><\/li>\n<li><a href=\"http:\/\/www.w3.org\/TR\/wai-aria-implementation\/\">WAI-ARIA 1.0 User Agent Implementation Guide<\/a><\/li>\n<li><a href=\"http:\/\/www.w3.org\/TR\/wai-aria-practices\/\">WAI-ARIA 1.0 Authoring Practices<\/a><\/li>\n<li><a href=\"http:\/\/dev.opera.com\/articles\/view\/introduction-to-wai-aria\/\">Introduction to WAI ARIA di Gez Lemon<\/a><\/li>\n<li><a href=\"http:\/\/dev.aol.com\/dhtml_style_guide\">The DHTML Style Guide<\/a>. Il DHTML Style Guide Working Group (DSGWG) ha creato una recommendation per le scorciatoie da tastiera che devono essere usate nelle widget all&#8217;interno dei siti web.<\/li>\n<li><a href=\"http:\/\/www.paciellogroup.com\/blog\/?p=106\">Using WAI ARIA Landmark Roles<\/a> di Steve Faulkner (Paciello Group Blog). Include un confronto tra gli ARIA landmarks e gli elementi strutturali di HTML5.<\/li>\n<li><a href=\"http:\/\/www.accessibleculture.org\/blog\/2010\/11\/html5-plus-aria-sanity-check\/\">An HTML5 plus ARIA \u201cSanity Check\u201d: Working Around Bugs in AT<\/a> di Jason Kiss descrive alcuni dei problemi con i bug nelle tecnologie assistive quando si usano gli ARIA landmarks in HTML5.<\/li>\n<li><a href=\"http:\/\/webaim.org\/projects\/screenreadersurvey\/\">WebAIM Screen reader Survey: A survey of the preferences of screen reader users<\/a>. Questa risorsa contiene anche delle statistiche sui software per gli screen reader e le abitudini degli utenti per quel che riguarda gli upgrade.<\/li>\n<li>C&#8217;\u00e8 anche un <a href=\"http:\/\/webaim.org\/projects\/screenreadersurvey2\/\">follow-up della statistica sull&#8217;uso degli screen reader<\/a>.<\/li>\n<li><a href=\"http:\/\/wiki.codetalks.org\/wiki\/index.php\/Set_of_ARIA_Test_Cases\">Code Talks: Set of ARIA Test Cases<\/a>. Non molto recente: molte combinazioni di browser\/screen reader non sono state testate.<\/li>\n<li><a href=\"http:\/\/www.marcozehe.de\/\">Marco\u2019s accessibility blog<\/a>. Il blog di Marco Zehe copre diverse tecniche di WAI-ARIA che migliorano l&#8217;accessibilit\u00e0 e l&#8217;usabilit\u00e0 per gli utenti non vedenti, spesso basate su un software della Mozilla Foundation. Piuttosto datato (Luglio 2009): <a href=\"http:\/\/www.marcozehe.de\/2009\/07\/01\/the-wai-aria-windows-screen-reader-shootout\/\">The WAI-ARIA Windows screen reader shootout<\/a> (in Firefox 3.5)<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gli sviluppatori web che si interessano di questioni legate all&#8217;accessibilit\u00e0 spesso guardano a WAI-ARIA come ad un ponte sopra al gap di accessibilit\u00e0 creato dagli onnipresenti script, che possa rendere le applicazioni web pi\u00f9 accessibili agli utenti non vedenti e ipovedenti. Ma possiamo consigliare WAI-ARIA senza riserve? Ci sono occasioni in cui appropriati elementi HTML semantici sono da preferirsi alle widget personalizzate?<\/p>\n","protected":false},"author":818,"featured_media":7000601,"comment_status":"open","ping_status":"open","template":"","categories":[245,34],"tags":[],"coauthors":[316],"class_list":["post-127","article","type-article","status-publish","has-post-thumbnail","hentry","category-accessibilita","category-numero-20-14-dicembre-2010"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/users\/818"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/comments?post=127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media\/7000601"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=127"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}