Versione di sito alternativa e accessibile

Chi si occupa di accessibilità e la deve applicare a un sito prima o poi arriva a chiedersi se può valere la pena crearne una o più versioni alternative, per soddisfare esigenze diverse.

In linea generale la risposta è no, perché impiegando opportunamente le tecnologie web (markup sensato e fogli di stile tra tutti) è possibile creare un sito graficamente attraente a accessibile.

Se però consideriamo l’accessibilità nella sua accezione più ampia e corretta (non solo disabili con problemi fisici e psichici, ma anche dispositivi e ambienti di fruizione diversi), ci scontriamo con categorie che hanno delle esigenze a volte in contrasto.

Un browser della vecchia generazione, ad esempio, non è in grado di interpretare la pagina allo stesso modo delle ultime versioni. Certo, è possibile adattare il codice perché il risultato sia almeno mediocre, ma così facendo non stiamo trattando l’utente di quel browser come una persona di seconda classe?

Va anche considerato che non sempre il problema è di presentazione, ma a volte anche di organizzazione e trasformazione.

Basti pensare alla paginazione degli articoli, che rende sicuramente la pagina ordinata per i più, ma costringe chi sta utilizzando uno screen reader a dover caricare più pagine prima di rendersi conto della struttura del contenuto, quando magari sarebbe bastato saltare tra le diverse intestazioni presenti in un’unica pagina. Anche la versione di stampa dovrebbe essere composta di un’unica pagina.

Pensiamo poi alla fruizione di contenuto in un telefonino. Il foglio di stile magari consentirebbe anche di visualizzarlo, ma un articolo di 100 righe su un piccolo display non è la soluzione ideale. In questo caso andrebbe presentato solo il sommario ed eventualmente il contenuto suddiviso in parti molto piccole, con la possibilità di passare agevolmente da una pagina alla successiva.

Stesso discorso con i moduli da compilare. Su un telefonino è forse più semplice utilizzare dei combobox per i campi giorno, mese, anno di nascita, ma forse per chi utilizza una tastiera è più veloce scrivere direttamente il dato piuttosto che selezionarlo da una lista.

Per queste esigenze (e per molte altre) non è sufficiente applicare uno stile di presentazione diverso, è necessario costruire una versione ad hoc della pagina. Il che però non vuol per forza dire moltiplicare il lavoro per il numero di versioni da creare, a meno che non si tratti di un sito statico.

Nel caso il sito sia completamente statico è infatti impensabile costruirne versioni alternative, perché troppo oneroso. Esiste però una situazione in cui chiedersi se realizzare versioni alternative potrebbe essere una buona idea:

  • se il sito è dinamico (cioè se il contenuto della pagina viene costruito utilizzando uno o più template predefiniti)
  • se il sito è di discrete dimensioni
  • se il sito ospita principalmente contenuti in forma di testo e multimedia

Situazione questa solo a prima vista rara, i quanto vi cadono praticamente tutti i siti della pubblica amministrazione.

In questo caso vale la pena verificare se il sistema di gestione dei contenuti (CMS) ha la possibilità di associare al contenuto una serie di regole che stabiliscano come deve essere trasformato per i diversi fruitori. Si tratta molte volte di semplici regole che associano un template ad uno o più documenti.

Sarà poi l’utente del sito a scegliere quale configurazione meglio si adatta alle sue esigenze o a quelle del dispositivo che sta utilizzando, oppure sarà direttamente il codice del sito ad adattare il proprio aspetto riconoscendo il richiedente.

Quanto detto ha ancora più senso se inquadrato nella visione del web chiamata Web 2.0, ovvero del web come piattaforma. Lo strato di presentazione avrà sempre meno importanza o – meglio – sarà sempre meno importante che lo stesso sito sia in grado di soddisfare le aspettative di tutti gli utenti. Sarà invece sempre più probabile che i siti realizzino interfacce specifiche con l’informazione di altri, integrando più fonti.

In questo senso l’utente di uno screen reader potrebbe accedere ad una versione del sito specificatamente pensata per la sua periferica di utilizzo, versione che potrebbe essere ospitata dallo stesso sito, oppure da tutt’altra parte.

Il web arriva alla versione 2.0

Una ricerca di Web 2.0 su del.icio.us restituisce una serie di articoli e discussioni di quella che è una (non troppo nuova) visione del web.

Chi lavora pesantemente con il web sta infatti maturando una consapevolezza segnata da un lato dalla diffusione inarrestabile dei contenuti, dall’altro dalla solidità dei servizi che rendono disponibili interfacce per facilitarne l’integrazione da parte del mondo esterno. Questa consapevolezza è che il sito web tradizionale non è più il centro del web e, cosa ancora più importante, non più una scatola a tenuta stagna dei contenuti che ospita.

Diventerà sempre più importante (e per alcuni lo è già) favorire lo scambio di dati tra diverse realtà che siano in grado di trasformare, integrare, presentare e riproporre il contenuto (l’informazione e i dati) nei modi più diversi agli utenti più disparati.

Pensate ad esempio agli sforzi fatti da Amazon e Google per rendere disponibile una serie di interfacce applicative (API) così da facilitare il lavoro di quanti, utilizzando i loro servizi, vogliano costruire delle interfacce assolutamente personalizzate. Rss, Api, Xml, Soap, Web Services sono alcuni degli standard e delle architetture che già consentono di realizzare tutto questo e il cui successo è dovuto principalmente dall’incremento esponenziale dei dati da gestire e integrare e dall’impossibilità per un unico attore di farlo.

Questa nuova strada ha delle ripercussioni non solo sul lavoro di chi sviluppa l’architettura hardware e software di un sito, ma anche di chi si occupa della costruzione dell’interfaccia di presentazione.

Lo dice bene Richard MacManus in un suo articolo per Digital Web Magazine dello scorso Maggio:

In the early days, designers used tricks like aninated GIF’s and table hacks in cliever, interesting an horrible ways. In the last few years, CSS came into fashion to help separate style from structure.[…] Even so, the focus was still on visual design.[…] Designers need to become more like programmers.

Non possiamo che essere d’accordo con MacManus anche perché è da qualche anno che, attraverso questo sito, diciamo la stessa cosa. Lo abbiamo fatto in “Chi ha paura di Xhtml8?“, un articolo in risposta a chi (troppo legato all’aspetto visuale di un sito) si preoccupava dell’obsolescenza di un sito solo per la variazione delle specifiche Html:

Perché preferire Xhtml a Html? Tra tutti i pregi, sicuramente il fatto che un documento Xhtml è anche un particolare tipo di documento Xml.

E qual è il vantaggio di Xml? Perché preoccuparsi di questo standard a prima vista esoterico? Con Xml potete definire accuratamente i dati e la struttura delle informazioni della realtà in esame (un libro, un listino prodotti, ecc.). Non solo: avete la possibilità di trasformare agevolmente un documento Xml per ottenere risultati molto diversi (una pagina web, un file di testo, un documento Pdf, un altro documento Xml). Per farlo si utilizzano le trasformazioni Xsl (Xslt), un linguaggio decisamente potente che è possibile imparare e addomesticare in poco tempo.

Ma lo abbiamo fatto in modo ancora più marcato (suscitando anche qui qualche malumore da parte di chi si preoccupa solo dell’aspetto grafico di una pagina) in “Gli standard web sono inutili da soli“. Ecco cosa abbiamo detto a proposito di un sito complesso, con audience diversificato:

Certo è vero, con i Css è teoricamente possibile servire un maggior numero di dispositivi. Tutto bene fin che si tratta di browser, ma provate ad immaginarvi mentre leggete la pagina di un sito in un monitor grande come il display di un cellulare. Non basta presentare l’informazione in modi alternativi, ma essere in grado di trasformarla (anche ridurla). Nel nostro caso, al browser verrà inviato l’intero articolo, mentre al cellulare solo il titolo, il sommario e un abstract.

Nessun problema comunque: abbiamo infatti scelto di adottare lo standard Xsl e quindi, con semplicissime trasformazioni riusciamo a rendere disponibili diverse interfacce di fruizione. Non solo, mentre con i Css possiamo variare la presentazione, ma il contenuto rimane lo stesso (possiamo al limite cercare di nasconderlo), con opportune trasformazioni l’utente può decidere quali informazioni ricevere, e in che ordine. Riusciamo quindi non solo a presentare in modi diversi le informazioni con documenti Xslt diversi, ma anche a filtrarle in modo da presentare ad un palmare solo la versione essenziale, al posto di quella completa.

Insomma, l’aspetto visivo di un sito è certamente importante, e deve essere realizzato con la massima cura e aderenza agli standard, così da essere accessibile al maggior numero di dispositivi.

Ma in futuro la probabilità che per ottenere questo risultato sia sufficiente cambiare solo l’aspetto dell’informazione sarà sempre minore, perché sempre più spesso è necessario integrare diverse fonti e trasformare lo stesso dato. Cercare di risolvere tutti questi problemi focalizzandosi solo sulla costruzione di uno o più fogli di stile, come se questi rappresentassero la risposta a tutti i mali, è puramente utopistico.

Questo vuol dire che un browser di vecchia generazione, uno screen reader, un palmare o un browser potrebbero ricevere lo stesso contenuto base da siti diversi, ma trasformato e adattato secondo le esigenze, a dei costi irrisori. Il costo infatti non è certamente dato dalla costruzione di qualche foglio di stile o dalla definizione di regole di traformazione, ma dalla produzione dei dati e del contenuto. Per questo lo sforzo principale dev’essere quello di rendere semplice ed efficace la diffusione e il consumo dell’informazione.

Il nostro suggerimento (per la verità già espresso più volte) verso chi si occupa di design di siti e non l’ha già fatto, è quello di affrontare lo studio delle architetture di siti governate dai Cms e di cominciare a realizzare qualche semplice esempio di trasformazione con Xml e Xsl, così da rendersi conto delle potenzialità di queste soluzioni.

Interventi efficaci in aiuto ai motori di ricerca

Scalare posizioni nei risultati di ricerca sembra essere il pensiero fisso di molti gestori di siti. In effetti il traffico proveniente da Google e compagni non è sicuramente trascurabile, e comparire nella prima piuttosto che nella seconda pagina dei risultati fa una bella differenza.

Esiste un’intera scuola (Seo, Search Engine Optimization) che con metodi più o meno discutibili cerca di migliorare il posizionamento dei siti (doorway pages, inclusione di link cross sito, ecc.), ma in realtà molto può essere fatto in fase di costruzione delle pagine.

Bastano pochi accorgimenti per istruire, senza trucchi, il motore di ricerca riguardo ai contenuti del nostro sito.

Regole di markup

L’abbiamo detto più volte: una pagina web non è un contenitore di elementi posti tutti allo stesso livello di importanza. Se state inserendo un titolo, non limitatevi a specificarne la dimensione, ma utilizzate un tag che indichi ai lettori – soprattutto quelli automatici, quindi gli screen reader e i motori di ricerca – qual è il testo principale (titoli, capitoli, ecc.) rispetto al normale contenuto. Per questo esistono gli heading (h1…h6).

Stesso discorso per il tag title, molte volte lasciato in bianco (avete mai provato a cercare ‘Untitled Document’ in Google?) oppure invariato in ogni pagina del sito. Il title è tra i campi più importanti per un motore di ricerca, anche perché è tra le poche informazioni che compare nella schermata dei risultati. Cercate di specificarne sempre uno di significativo che illustri qual è il contenuto della pagina in oggetto, magari completandolo con il nome della società o del sito (ma senza esagerare nella lunghezza).

Nomi negli Url

Anche l’indirizzo al quale si trova la vostra pagina – nonché, ovviamente, il nome del dominio – possono aiutare il motore di ricerca a privilegiare il vostro sito rispetto agli altri. A parità di contenuto, un Url nella forma http://nomesito/ilmioprodotto.html comparirà generalmente prima rispetto a http://nomesito/0001.html nell’elenco dei risultati per chi cerca il vostro prodotto.

Questo è relativamente semplice per un sito statico, un po’ meno per uno che utilizzi un sistema di gestione dei contenuti (Cms) che si appoggia a un database. In realtà molto si è fatto anche in questo senso. Il sistema di publishing utilizzato per Fucinaweb, WordPress, aiuta in questo senso lasciando al redattore la possibilità di specificare il testo presente nella seconda parte dell’Url.

Come vedete sono semplici accorgimenti, ma che possono fare una bella differenza.