La passione degli sviluppatori web per i CSS è fuori discussione. Usciti dall’epoca delle tabelle come mezzo universale per l’impaginazione, i fogli di stile hanno da subito accompagnato l’idea della completa separazione fra semantica e aspetto, un amore che potrebbe essere affiancato alla ricerca di codice JavaScript completamente
unobtrusive. Ciononostante alcune prospettive sono cambiate negli ultimi anni, e anche un progetto di grande rigore come
XHTML 2 ha dovuto cedere il passo alle reali esigenze di chi col Web ci lavora ogni giorno.
Nel suo intervento nel corso dell’incontro
An Event Apart,
Nicole Sullivan ha ripreso questi concetti in parte per riaffermare i
principi generali dell’
Object-Oriented CSS, e in parte per
sfatare alcuni miti e pregiudizi propri della lunga frequentazione con i fondamenti più “classici” dei CSS. Siamo ad esempio abituati a considerare negativo tutto quel markup che nelle pagine HTML non ha un ruolo specificatamente semantico, ed è unicamente motivato da questioni stilistiche.
Ciononostante un codice estremamente semantico porta a costruire fogli di stile difficilmente riusabili e di complessità maggiore, che fanno un grande uso del
cascading e che quindi possono facilmente introdurre una certa imprevedibilità. E l’esito è quello di aumentare le ore passate a stretto contatto con
Firebug, aumentare la probabilità di doversi rifugiare nella direttiva
!important, e nell’uso piuttosto disinvolto di numerose
regole di padding: in alcuni siti se ne contano più di tremila, come ci riporta
Luke Wroblewski. Sarebbe forse meglio cercare — secondo la Sullivan — un
equilibrio fra gli elementi semantici e quelli introdotti per descrivere le strutture astratte, e possibilmente ripetibili e riusabili, che definiscono l’aspetto della pagina.