Il concetto di base che forse manca all'amico WebDesign74 è che oggi si sta cercando di rendere il web DI TUTTI. Cosa significa?
Significa che le informazioni in esso contenute vanno organizzate e strutturate in modo tale da poter essere accessibili anche in modi diversi a come siamo soliti immaginare. E' uso comune pensare che una persona navighi dal proprio computer, con un browser dipo IE, FF o Opera e con capacità medie. Il nuovo web si propone di ampliare questa gamma.
Il progetto WAI (Web Accessibility Initiative) promosso dal W3C ha in questi ultimi anni sensibilizzato i progettisti e gli sviluppatori, avvicinandoli ai problemi che persone disabili possono affrontare durante la navigazione in rete e conseguente ricerca o scambio di informazioni.
Non so se lo sai, ma anche le persone non vedenti hanno la possibilità di avere accesso al web. Esse infatti hanno a disposizione dispositivi, chiamati screen-reader, in grado di leggere le pagine. Ci sono anche barre Braille a tempo che, collegate al computer, traducono la pagina nel relativo linguaggio.
Rimanendo comunque nell'ambito degli screen-reader, capirai bene che una macchina, per quanto sviluppata possa essere, non è in grado di capire da sola in che lingua è scritto un documento. Ecco perchè occorre che noi esplicitiamo questa informazione: la macchina sarà così in grado di caricare il sintetizzatore vocale corrispondente alla lingua e pronunciare le parole in modo appropriato.
Guardando l'HTML con ampia visuale comprendendone anche i significati più profondi, si capisce che l'attributo lang è un ulteriore strumento che ci permette di DESCRIVERE il contenuto del documento che stiamo costruendo.
Per non parlare poi di eventuali facilitazioni in fase di impaginazione. Usando quell'attributo, oltre a dare un forte significato semantico all'informazione, possiamo formattarla con i CSS in modo semplice. Mettiamo il caso di avere due brevi testi uno dopo l'altro in una pagina: il primo è il testo originale in inglese, il secondo la traduzione in italiano. Con i CSS potremmo dare uno sfondo di diverso colore ad entrambi per evidenziare la diversa natura linguistica. Un piccolo esempio.
codice:
HTML
<p lang="en">
Testo in inglese: bla, bla, bla.
</p>
<p lang="it">
Testo in italiano: bla, bla, bla.
</p>
CSS
p[lang="en"] { background-color:red }
p[lang="it"] { background-color:blue }
Questi sono solo piccoli esempi delle potenzialità che un documento può raggiungere se scritto in modo standard, semantico e arrichito con tante e corrette meta informazioni.