Tabelle usate a scopo d'impaginazione



Le tabelle usate a scopo d'impaginazione ("layout tables") – cioè non per convogliare dati realmente tabellari, ma per tenere insieme la struttura grafica della pagina, come nel file di esempio tabforma.htm – possono creare alcuni seri problemi di accessibilità:

  • pagine troppo pesanti, soprattutto nel caso di tabelle annidate e di uso intensivo di elementi ed attributi di presentazione
  • contenuti che vengono visualizzati più lentamente rispetto a pagine che non contengono tabelle (o che addirittura possono mandare in blocco il computer, su certi browser vecchi e bacati)
  • lunghi elenchi di link e di contenuti secondari, da dover saltare (o ascoltare integralmente...) prima di giungere ai contenuti principali della pagina, se la navigazione avviene per mezzo di un sintetizzatore vocale

L'ultimo è probabilmente l'effetto più dannoso per l'accessibilità. Questo problema si verifica quando gli elenchi sono contenuti in una o più celle che precedono (a sinistra o in alto) la cella o le celle in cui si trovano i contenuti principali della pagina. Ma più della teoria, vale in questo caso un esempio concreto. Nell'immagine seguente è riportata la visualizzazione del file tabforma.htm (il nostro file di esempio basato sulle tabelle) in Lynx 2.8.4, un browser testuale che linearizza automaticamente il contenuto delle tabelle.

Figura 7
La visualizzazione nel browser testuale Lynx del file tabforma.htm basato su tabelle d'impaginazione e non sui fogli di stile

Come si può notare dall'immagine, il menu di navigazione viene a trovarsi prima del testo degli articoli: alla prima visita lo si può anche leggere integralmente (o farselo leggere dal sintetizzatore vocale), ma trovarselo ad inizio pagina ogni volta è davvero un grosso fastidio... Ed in genere nei siti reali i menu ed i contenuti accessori sono molto più lunghi di quelli che appaiono nell'immagine riportata sopra!

Lavorando con i CSS al posto delle tabelle, si può invece riuscire, con certi accorgimenti, a produrre un codice che faccia apparire il menu di navigazione sotto il contenuto principale nelle versioni linearizzate della pagina, lasciando che appaia normalmente a sinistra del contenuto principale nei browser grafici.

Ecco di seguito alcune raccomandazioni di accessibilità per chi decide di costruire pagine basate sull'uso di tabelle di impaginazione:

  • se dei contenuti ripetitivi (menu di navigazione, intestazioni, slogan ecc.) appaiono prima del contenuto principale nella versione linearizzata della pagina, ponete allora, prima degli elementi ripetitivi, un collegamento che consenta all'utente di saltare direttamente al contenuto principale della pagina: sarà un'attenzione sommamente gradita da chi usa uno screen reader o un browser testuale
  • cercate di non utilizzare tabelle annidate o tabelle troppo complesse: il loro utilizzo rallenterà il caricamento della pagina ed aumenterà la quantità di metainformazioni che i sintetizzatori vocali leggeranno all'utente
  • cercate di non riempire le celle di elementi e attributi di presentazione: ciò rischierebbe di appesantire enormemente la pagina e di creare indesiderati vincoli di presentazione. Meglio utililizzare i CSS per definire l'aspetto grafico di righe e colonne e dei loro contenuti
  • non utilizzate a fini di presentazione gli elementi e gli attributi strutturali progettati per le tabelle di dati. Per esempio non utilizzate TH per generare un effetto di grassetto: ciò confonderebbe chi naviga con un sintetizzatore vocale, perché gli comunicherebbe un'errata informazione strutturale sulla tabella. Lasciate l'uso di COL, COLGROUP, THEAD, TBODY, TFOOT, TH alle tabelle di dati. Per le tabelle d'impaginazione una serie di normali td andrà più che bene.

Ultimi articoli Web design

Metro, il "linguaggio di design" di Windows 8

I principi ispiratori del "linguaggio di design" utilizzato da...

Bootstrap: il framework di Twitter

Sviluppare applicazioni web sfruttando il framework con cui è stato...

Sfondi a tutta pagina con jQuery

Come avere degli sfondi a tutta pagina sui vostri siti web, per...

Grid design, dalla tipografia al web

Design coerenti e layout consistenti, usando principi di...

Art Direction e Design

Capire la differenza tra la direzione artistica di un progetto e il...

Altri articoli

Guide Web design

Guida Pubblicare un sito web

Le verifiche fondamentali da effettuare prima del lancio di un nuovo...

Guida Web Writing

Saper scrivere per il Web è una delle armi per attirare utenti e per...

Guida Accessibilità dei siti Web teorica

Questa guida è finalizzata sostanzialmente a una conoscenza e a una...

Altre guide

Newsletter @Grafica e Web Design

Ogni settimana, direttamente nella tua e-mail: guide, articoli, tutorial e FAQ su Web Design e grafica per il Web.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti