Ajax e l’accessibilità dei siti web

(Vedi anche Ajax e l’usabilità)

Di Ajax si parla ogni giorno e sono ormai decine i framework per sviluppare applicazioni basate su questo tipo di architettura.

Occupandomi da anni di sviluppo web non posso che esserne contento: finalmente i limiti di interfaccia di una pagina possono essere superati! Subito dopo mi sono però chiesto se sono tutte rose e fiori, se con Ajax ci sono solo risvolti positivi.

Pensiamo a un argomento delicato come quello dell’accessibilità web. Già è difficile riuscire a realizzare una semplice pagina Html accessibile, per non parlare di una pagina con immagini, video e audio. Cosa succede se cominciamo a impiegare massicciamente Javascript e Dhtml?

Ho pensato allora di farmi dare una mano da Nicola, visto che utilizza quotidianamente uno screen reader, sottoponendogli due esempi.

Il primo, più semplice, è Google Suggest. L’aspetto è quello della classica ricerca di Google, ma non appena si comincia a digitare qualcosa, appaiono dei suggerimenti pescati direttamente dal server. Ho espresso a Nicola il dubbio che il suo screen reader non fosse in grado di segnalargli la presenza di questi suggerimenti, dubbio che mi ha subito confermato.

Come era largamente prevedibile, Jaws non dà alcun riscontro della presenza di un’eventuale lista di suggerimenti nella pagina di ricerca di Google.

A questo punto sono passato all’opposto e ho scelto un sito che si basa interamente sull’architettura Ajax: il nuovo client web di Yahoo! Mail, in versione beta e utilizzabile quasi esclusivamente oltreoceano.

Graficamente e a livello di funzionalità si tratta di un prodotto stupefacente: sembra quasi impossibile utilizzare questo tipo di applicazione in un browser, tanto è simile a un vero client di posta. Ma, anche in questo caso, Nicola ha evidenziato dei seri problemi di accessibilità.

Per quanto riguarda la mail di Yahoo!, riesco a leggere la tabella contenente il sommario dei messaggi, ma nessuna voce viene vista da Jaws come un link. Mi pare di aver capito che, per leggere un messaggio, bisogna cliccare sull’oggetto. Questo con una manovra si può anche fare. Poi però rimane il problema di riuscire a leggere il messaggio. Mi sembra di aver capito che il testo del messaggio appare sotto alla tabella contenente l’elenco dei messaggi. Tuttavia Jaws legge solo il nome del mittente e quello del destinatario, poi per lui la pagina web finisce lì. Ancora una volta, ricorrendo all’emulazione del mouse, cioè al cosiddetto cursore Jaws, si riesce a raggiungere la zona sottostante e a cliccare. A questo punto si apre una nuova finestra, che Jaws legge normalmente. Conclusione: non accessibile.

Tutt’altro che un successo, quindi. In effetti quella di aver realizzato un vero client di posta dentro un browser è una mossa azzeccata a livello di immagine. Ma la soluzione migliore sarebbe stata probabilmente un’altra, come ad esempio costruire un’applet Java, sempre da presentare dentro un browser. Certo, un po’ pesante da scaricare la prima volta (comunque qualche tonnella di Javascript dovete pur digerirla con Ajax), ma se non altro, se ben sviluppata, completamente accessibile.

E non venitemi a dire che comunque Google può essere usato anche senza suggerimenti, e che la mail di Yahoo! può essere letta anche in semplice formato Html, perché è un problema che ho già affrontato a proposito delle versioni di sito accessibile. A parità di funzionalità anche in questo caso una versione alternativa accessibile può andare bene, l’importante è che chi la realizza non se ne dimentichi dopo qualche mese senza riportare i relativi aggiornamenti (argomento delicato, visto il perenne stato di beta di molti applicativi web).

(Vedi anche Ajax e l’usabilità)

Ebook di Apress gratuiti

Non sono sicuramente freschi di stampa, ma fa comunque comodo sapere che all’occorrenza è possibile scaricare alcuni ebook gratuiti dal sito di Apress.

Per il momento sono disponibili:

  • A Programmer’s Introduction to PHP 4.0
  • Writing Perl Modules for CPAN
  • Programming VB .NET: A Guide For Experienced Programmers
  • COM and .NET Interoperability

L’importanza del prototipo nello sviluppo web

Da qualche tempo ho radicalmente cambiato il mio rapporto con i clienti e gli utenti. Ho affiancato al solito documento con l’analisi delle funzionalità del sito una serie di mappe chiarificatrici su quello che approssimativamente diventerà il risultato finale.

Questo pensiero ce l’avevo in realtà da diverso tempo, ma non ho mai trovato uno strumento che mi permettesse di realizzare prototipi con quello che mi verrebbe da definire un buon rapporto risultato/tempo impiegato. Non voglio neppure ricorrere al carta e matita, non tanto perché li trovi strumenti obsoleti (tutt’altro), ma piuttosto perché voglio avere la possibilità di modificare e integrare successivamente quello che realizzo.

Ho però recentemente provato a usare delle estensioni gratuite (stencili) per Visio di Microsoft, realizzate da Henrisk Olsen di Guuui.com, sito dedicato all’usabilità che vale una visita e forse anche una iscrizione al feed Rss.

Finalmente riesco in pochi minuti – e per pochi intendo anche 10, 20, a seconda della complessità della pagina, a realizzare un dignitoso e non ambiguo prototipo che chiarisce le idee a me e (soprattutto) al cliente.

La cosa che ho trovato particolarmente comoda di queste estensioni è la possibilità di definire uno sfondo comune a tutti i template senza doverlo ripetere in ogni pagina, e il corredo veramente ricco di controlli da inserire nella pagina.