Introduzione
Un calendario in genere è costruito con una tabella.
Questa tabella è costruita da 5 o 6 righe (in dipendenza dei giorni delle settimane che costituiscono un mese oltre l’intestazione) e 7 colonne (quanti sono i giorni di una settimana).
L’effetto ottenuto con una tabella è tipicamente tra i migliori che si possono ottenere visivamente. Visivamente…Visivamente! Visivamente???
E se uno avesse problemi visivi? E se qualcuno non riuscisse affatto a vedere? Ah beh la tabella ci viene incontro. Se qualcuno ha provato a scrivere una tabella e darla in pasto ad uno screen reader ci verrà fornita un informazione simile a quanto vi accingete a leggere:
Tabella, sei righe, sette colonne.
Riga di intestazione.
Colonna uno, Abbreviazione, Lunedì.
Colonna due, Abbreviazione, martedì.
...
Riga uno,
colonna uno, lunedì primo gennaio,
colonna due, martedì due gennaio,
colonna tre, mercoledì tre gennaio,
...
Riga due
colonna uno, lunedì sette gennaio,
Insomma tante informazioni, che ci fanno immaginare una tabella. Ciascuno screen reader potrebbe interpretare tali informazioni in modo leggermente differente. Ma il senso della tabella rimane.
Proviamo insieme ad immaginare un’alternativa alle tabelle. Cosa ci potrebbe essere? Immaginato? Si proprio quello. Un elenco puntato non ordinato.
Una causa inconfutabile
Ok quello che abbiamo detto non ci giustifica completamente nell’utlizzare un elenco puntato non ordinato al posto di una tabella.
Allora prendiamo in analisi gli smart phone. Alcuni utilizzano un sistema di parsing del xhtml che linearizza le tabelle. Quale sarebbe la conseguenza di un azione simile?
-
Lunedì
-
Martedì
-
Mercoledì
-
Giovedì
-
Venerdì
-
Sabato
-
Domenica
-
Lunedì 1 Gennaio
-
Martedì 2 Gennaio
-
Mercoledì 3 Gennaio
-
…
Quante informazioni inutili, sprecate, non necessarie presentate su uno smart phone!
Lo so non siete ancora soddisfatti della spiegazione, allora cercherò di convincere anche i meno convinti di questa soluzione. Ci sono dei siti che si lodano con la frase “This site is tableless”: “Questo sito è senza tabelle”, allora questi “poveracci” (per modo di dire, non me ne vogliano a male!) dovranno fare a meno di usare un calendario che abbia la forma di un calendario sulle loro pagine? Chi ha risposto si, non ha motivo di proseguire in questo viaggio propositivo su cui si basa questo tutorial.
Ok allora proviamo a sviluppare qualcosa che visualmente somigli ad una tabella, semanticamente mantenga la sua struttura gerarchica, e che sia navigabile in modo accessibile.