La parola “tabelle” tende a generare un sentimento di ripulsa tra molti sviluppatori web, anche al di là del ragionevole a parere di chi scrive.
Naturalmente, non si sta parlando dell’uso delle tabelle per realizzare un layout di pagina. Si tratta di una prassi oggettivamente superata, sia per la sovrabbondanza di codice generato, sia per la mancata corrispondenza semantica tra i tag usati e risultato ottenuto.
L’uso del tag table e dei tag relativi è invece da considerarsi semanticamente corretto quando occorre rappresentare dei dati appunto in forma tabellare, con righe e colonne.
Ipotizziamo dunque una semplicissima tabella a cui viene assegnata una classe:
<table class=”datiVendita”>
…
</table>
Tramite la classe .datiVendita formatteremo graficamente la nostra tabella, usando le proprietà border, padding e width invece dei corrispondenti attributi precedentemente usati nell’HTML di pagina (border, cellpadding e width).
Supponendo di volere assegnare dei bordi solo alle righe e non alle colonne, la corrispondente regola dovrebbe essere:
.datiVendita tr {
border-bottom: 1px solid #333333;
}
Ma ecco la sorpresa: mentre Firefox, Safari, Google Chrome, Opera raffigurano correttamente il bordo inferiore della riga, Internet Explorer 7 e precedenti non lo visualizzano.
Ho googlato per trovare soluzioni a questo baco e ne ho trovate alcune abbastanza demenziali, ma in realtà il tutto si risolve molto semplicemente riscrivendo la regola come segue:
.datiVendita tr td {
border-bottom: 1px solid #333333;
}
Quanto sopra offre lo spunto per discutere se e quanto sia ragionevole continuare ad offrire piena compatibilità con le versioni precedenti di IE.
Quest’ultimo è ancora di gran lunga il browser più usato, a dispetto dalle statistiche troppo ottimistiche sulla diffusione di Firefox.
Personalmente, nello sviluppo dei siti ai quali lavoro garantisco retrocompatibilità con IE6 e versioni successive, anche perché spesso tale risultato è ottenuto con relativamente poca fatica (come nell’esempio riportato in questo articolo).
IE può non piacere – e di certo non piacciono le versioni zeppe di bachi e di interpretazioni errate quali appunto IE6 e soprattutto IE 5.5 – ma finché non sarà stato soppiantato del tutto, è a mio avviso necessario considerarlo.