Originariamente inviato da Marcolino's
E invece sbagli
il contenuto delle tabelle viene mostrato solo dopo che il codice della tabella è stato scaricato e renderizzato dal browser in uso.
Per tabelle molto complesse e nidificate questo si può tradurre in tempi di attesa lunghi, sopratutto se non si hanno connessioni veloci il che in Italia si traduce nel 50% di chi ha internet.
Tieni presente che il browser comincia a renderizzare il codice appena ha un elemento finito e non quando ha finito di scaricare l'intero documento (ecco perché bisogna sempre chiudere i tag); per esempio in un classico layout a div in cui un contenitore contiene altri div, appena si rende disponibile il div di chiusura mostrerà quello che c'è dentro, poi un altro e poi un altro fino a che l'ultimo div contenitore si chiude, a quel punto si potrebbe vedere lo spostamento che spesso si avverte in certi siti per il quale tutto si posta nel punto dove deve stare
Semplicemente perché magari si è chiuso l'ultimo div, spesso chiamato container perché raccoglie il tutto e porta le indicazioni di stile per mettere tutto centrato (o su un lato o dove si vuole).
Con le tabelle è la stessa cosa, con l'unico problema che non viene rendirizzata ogni singola cella appena scaricata, ma si aspetta la chiusura del tag table alla fine e poi si reindirizza il tutto.
Molto più lento nel modo di rappresentare specialmente se dentro il codice ci sono più tabelle annidate.
Per quanto riguarda l'uso improprio di tabelle, il buon Diodati ammise che si possono utilizzare per un layout che include una sola tabella non annidata a patto che si utilizzino tutti i mezzi a disposizione per facilitarne l'accessibilità.
Uno dei problemi dell'uso delle tabelle per realizzare siti è il rumore di fondo che generano quando si "legge" la pagina con un lettore di schermo.
Gli elementi grafici inseriti nelle celle per dare corpo al disegno confondono chi ascolta con una serie di dati superflui e inutili, usare i div per lo stesso scopo con gli elementi grafici inseriti via CSS vengono ignorati dai lettori di schermo se non contengono dati significativi.
Usare sempre l'attributo summary nell'elemento table per raccontare ai lettori di schermo cosa troveranno all'interno della tabella.
Usare bene i vari componenti della tabella come caption, thead, tfoot, tbody come riportato nel manuale:
http://www.diodati.org/w3c/html401/s...tml#edef-TFOOT
Insomma ne vale la pena? non è un problema di "talebanesimo" ma di rendere il sito accessibile a tutti, browser che non leggono i div non ne esistono più, già IE4 e Netscape 4 li leggevano, il concetto Anybrowser è oramai superato dalla standirdazione quindi non c'è motivo di usare le tabelle per reggere il layout.
Vedi
CSS Zen Garden