Applicazioni AJAX accessibili

URL:
http://diegolamonica.info/smau-2008/

Cos’è IWA/HWG ( 1 di 2 )

IWA/HWG è un’Associazione professionale no profit riconosciuta leader mondiale nella fornitura dei principi e delle certificazioni di formazione per i professionisti della Rete Internet; è presente in 100 paesi, con 130 sedi ufficiali in rappresentanza di più di 165.000 associati.

La sua missione.

Cos’è IWA/HWG ( 2 di 2 )

Partecipazioni e attività

Network:

http://www.iwa.it - http://webaccessibile.org - http://www.itlists.org - http://blog.iwa.it - http://www.skillprofiles.eu

Contatti

comunicazione@iwa.it

In principio...

...Dio creò il cielo e la terra.
La terra era informe e deserta e le tenebre ricoprivano l'abisso e lo spirito di Dio aleggiava sulle acque.
Dio disse: «Sia la luce!». E la luce fu.
Dio vide che la luce era cosa buona e separò la luce dalle tenebre.

(Genesi 1. Versi 1-4)

Uh... Forse ho sbagliato il testo!

In principio...

... Tim Berners Lee pensò al World Wide Web, una rete capace di far condividere documentazione scientifica indipendente dalla piattaforma utilizzata.

Sono passati ben 17 anni da allora e le cose si sono evolute...

Si è partiti da un web informativo

per giungere ad un web partecipativo

poi a un web collaborativo

per sfociare in un web sociale

...In fine

La nuova tendenza è il web applicativo.

Evolvendosi, il web, ha fatto sì che i siti si siano trasformati in vere e proprie applicazioni.

Grazie ad un massivo uso di JavaScript, si è trasportato nel web quelle che tipicamente erano pensate come applicazioni desktop.

Alcuni esempi di applicazioni desktop sul web

Queste applicazioni sono AJAX oriented.

Cos'è Ajax?

Ajax è il nome di un'ottimo

che ha raggiunto l'apice delle vendite in Italia alla fine degli anni '80.

La sua confezione era una bottiglia con un dosatore spray particolarmente comodo e maneggevole.

Credo che dobbiate scusarmi. È l'emozione che mi fa confondere...

Cosa vuol dire AJAX? (tratto da wikipedia)

AJAX, acronimo di Asynchronous JavaScript and XML, è una tecnica di sviluppo web per creare applicazioni web interattive. L'intento di tale tecnica è quello di ottenere pagine web che rispondono in maniera più rapida, grazie allo scambio in background di piccoli pacchetti di dati con il server, così che l'intera pagina web non debba essere ricaricata ogni volta che l'utente effettua una modifica.

Senza AJAX, per ogni pagina, esiste un'elaborazione server.
Per ciascuna piccola variazione che si prevede per la pagina,
viene fatta dal browser una richiesta al server che risponde con il refresh dell'intera pagina.
Mentre con AJAX, possono esistere più elaborazioni client/server.
Infatti per ciascuna elemento della pagina (in gergo tecnico "nodo del DOM") per il quale è richiesto un aggiornamento, esiste uno o più script che reagiscono di conseguenza aggiornando solo il necessario, proponendo pagine che si adattano, progressivamente, al comportamento dell'utente.
Si è ottenuta quindi un ottimizzazione della banda,
a favore di elaborazioni più complesse,
offrendo (non sempre) una migliore usabilità.

Questa tecnica riesce, quindi, a migliorare l'interattività, la velocità e l'usabilità di una pagina web.

...

AJAX è asincrono nel senso che i dati extra sono richiesti al server e caricati in background senza interferire con il comportamento della pagina esistente.

Col tempo AJAX ha assunto un significato (impropriamente) più esteso: è AJAX tutto ciò che modifica il DOM.

Quando si parla di AJAX

immaginiamo:

Ma l'accessibilità è garantita?

No!

Perchè no?

Le tecnologie assistive non sono in grado di verificare quello che succede nella pagina, perchè per ciascun cambiamento che noi percepiamo a video, è cambiato qualcosa nel Document Object Model.

Mantenere traccia di tutti i cambiamenti potrebbe portare ad una confusione totale delle tecnologie assistive che potrebbero quindi leggere le informazioni in modo disordinato e senza alcun criterio.

Un pratico esempio

Leggi il testo che segue

capirò disordinato non questo leggo in nulla modo testo Se!

Chiaro?

Se leggo questo testo in modo disordinato non capirò nulla!

Ma allora non si può far nulla?

È comunque possibile fare qualcosa per assicurare l'accessibilità delle applicazioni Web!

ARIA di cambiamento!

Il gruppo di lavoro Protocols & Formats istituito dal W3C, sta lavorando ad una serie di documenti nel quale vengono definite delle specifiche che (se utilizzate nel modo corretto) possono consentire al miglioramento dell'accessibilità delle applicazioni Web. Il documeto principale prende il nome di: Accessible Rich Internet Applications (WAI-ARIA) Version 1.0. È inoltre corredato dei seguenti documenti:

In quei documenti sono indicate le regole e le modalità con le quali è possibile sviluppare applicazioni web comprensibili dalle tecnologie assistive.

Sei solo chiacchiere e distintivo, chiacchiere e distintivo!

Robert De Niro in "Gli intoccabili" ha usato questa frase alla fine del film per offendere un giovanissimo Harison Ford.

ARIA è solo un piccolo ma importante passo per il conseguimento di un obiettivo più grande: la possibilità di avere un web realmente utilizzabile da tutti!

"Non bisogna smettere di combattere... Qui finisce la lezione!".

Ma in pratica?

Un paio di esempi pratici potrebbero chiarire lo scopo delle specifiche indicate dal gruppo di lavoro Protocols & Formats

Esempio Stazione meteo

Link: http://jastegg.it/tests/weather6/

Nell'esempio è stato impostato su ogni riga della tabella l'attributo aria-live="polite" così da segnalare eventuali variazioni. Infatti, l'attributo aria-live, consente di indicare ad una tecnologia assistiva eventuali cambiamenti nella struttura del documento comportandosi secondo quanto indicato in questo valore.

(Esempio tratto da un test di Gez Lemon )

Esempio Utenti online

Link: http://jastegg.it/tests/im-users/index.html

Oltre all'utilizzo dell'attributo aria-live in questo esempio è stato fatto uso dell' attributo aria-relevant che in congiunzione con il precedente attributo consente di indicare in che modo interpretare il cambiamento (al nostro scopo è bastato "additions removals")

Ancora non siete soddisfatti?

Fino ad oggi, per consentire alle tecnologie assistive di ottenere dei risultati quantomeno accettabili, sono state utilizzate delle soluzioni non troppo semplici da implementare, con una certa complessità nella manutenzione e un margine di successo abbastanza basso e vincoli progettuali abbastanza rigidi (che non sempre corrispondono alla realtà).

Un form di login

Link: http://soci.iwa.it/old.login.php

Questo form fa uso di AJAX per autenticare l'utente ovviamente degradando in caso di assenza di JavaScript. Il difetto di questo script è che per consentire allo screen reader di leggerne il contenuto è di dare il focus al messaggio di notifica.

Quanto è correta la cosa? Proviamo a vedere lo stesso form "ARIA Compliant"

Link: http://soci.iwa.it/

In conclusione

La necessità di avere applicazioni accessibili, non pregiudica dall'avere caratteristiche avanzate. Molti Social Network attuali non supportano queste caratteristiche tagliando fuori un certo target di utenze.

Facciamone una questione economica!

Se questa utenza fosse solo il 5% del mercato internet, quanto traffico potrebbe generare?

Le statistiche pubblicate da Nielsen//NetRatings indicano come utenza globale 360.985.492 utenti al 31 Dicembre 2000.

E se fosse solo l'1%?

Butteresti via una fetta di mercato che vale 1,45 milioni di euro?

Una piccola osservazione: il mercato elettronico italiano è tra quelli che in europa fatturano di meno (la media europea è oltre il 3.5%) (Rapporto Assinform anno 2007)

Non basta?

Questa presentazione è stata ascoltata grazie all'utilizzo degli attributi definiti in ARIA.
In alternativa lo screen reader sarebbe stato muto!

Per maggiori dettagli sulla modalità di costruzione di questa presentazione per il web consultare i link di approfondimento.

Ma chi supporta ARIA?

L'elenco degli strumenti software che già implementano ARIA e delle tecnologie assistive che supportano o sono prossime al suo supporto, è molto lungo.

Mozilla Developer Center presenta un elenco costantemente aggiornato

Per approfondimenti sul tema.

Termini e licenza del documento

Creative Commons License

Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione-Non commerciale-Non opere derivate 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-nc-nd/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Diritti, marchi registrati e siti web riportati in immagini e url sono riservati e proprietà dei diretti interessati e relative aziende.
IWA/HWG e l’associazione IWA Italy non sono direttamente o indirettamente responsabili dei contenuti riportati nel presente documento che sono ad esclusiva cura e responsabilità del relatore.