Originariamente inviato da santino83
ho accolto le nuove direttive (ormai quasi vecchie) di passare all'uso massiccio dei div
Attenzione, attenzione e ancora attenzione. Le specifiche non dicono affatto questo. Approcciarsi in maniera intelligente alla progettazione web non significa abbandonare le tabelle e tuffarsi ciecamente nell'uso dei <div>: sarebbe lo stesso errore concettuale delle tabelle-layout, nè più, nè meno.

Il concetto è ben diverso e ovviamente più profondo: occorre utilizzare in maniera appropriata gli strumenti che abbiamo a disposizione. (X)HTML ha circa un centinaio di tag: non è una velleità, quanto un vero e proprio set di attrezzi, ognuno con il proprio significato. Bisogna quindi imparare a scelgliere tra questi in base all'esigenza che si presenta.

Per assurdo - ma neanche tanto - si può realizzare una pagina standard e accessibile senza usare nemmeno un div. Non dimentichiamoci che il nome di questo deriva dal termine division, che nella nostra lingua possiamo tradurre come 'macroarea'.

Il div, in sè, non ha alcun significato semantico preciso: è uno strumento a disposizione del progettista per realizzare una sotto-struttura con significato arbitrario: quest'ultimo si può attribuire, ad esempio, usando le classi o gli identificatori univoci (id).

Pertanto, occhio a come si interpreta la nuova filosofia di progettazione. Dobbiamo realizzare una struttura in cui i dati contenuti al suo interno sono in relazione riga-colonna? Bene. Lo strumento che ci permette di fare questo sono proprio le tabelle. Esse non sono state abolite: si dice solo di usare quando ce n'è motivo, come peraltro per tutti gli altri marcatori.

Una struttura di markup che potrebbe rispecchiare quella che ci proponi, con l'aggiunta di qualche accorgimento per preservare l'accessibilità alle informazioni, potrebbe essere la seguente:
codice:
<table summary="Elenco clienti 2006">

   <caption>Elenco clienti per l'anno 2006</caption>

   <thead>
      <tr>
         <th scope="col">Nome</th>
         <th scope="col">Cognome</th>
         <th scope="col">Anno</th>
         <th scope="col">Partita <acronym title="Imposta sul Valore Aggiunto">IVA</acronym></th>
      </tr>
   </thead>

   <tbody>
      <tr>
         <td>Aieie</td>
         <td>Brazov</td>
         <td>1900</td>
         <td>123456789</td>
      </tr>
      
   </tbody>

</table>