home » Articoli » Usabilità e fogli di stile
4/11/2002
[di Maurizio Boscarol]
I Fogli di stile (CSS, cascading style sheet) sono una tecnologia che si sta lentamente imponendo all'attenzione di coloro che realizzano siti. Si tratta di un linguaggio per il visual design, ovvero per controllare l'aspetto visivo degli elementi che costituiscono la vostra pagina HTML. I CSS sono una specifica diversa da HTML. HTML può contenere al suo interno delle istruzioni CSS associate ai tag HTML, oppure può fare riferimento, con un'apposita dichiarazione, ad un foglio di stile separato, che ha un URI proprio.
Perché il W3C si è preso la briga, nel 1996, di progettare una cosa come i CSS? La risposta è piuttosto semplice: per dare agli sviluppatori il pieno controllo dell'aspetto delle pagine web, senza che nell'HTML venissero usati tag e attributi che si occupassero della presentazione: ovvero, dell'aspetto visivo. Per separare, insomma, struttura e contenuto da una parte, e visualizzazione o presentazione dall'altra.
In origine, infatti, HTML è stato pensato per scopi più ristretti che per definire un visual design. Ciò che HTML fa o dovrebbe fare è definire il ruolo strutturale che gli elementi contenuti nella pagina hanno all'interno del documento: ovvero se si tratti di paragrafi, di titoli, di link, di tabelle, di immagini, di liste...
Come questi elementi dovrebbero essere presentati sullo schermo del computer dal browser, be', non dovrebbe essere HTML a deciderlo. Perché non è nato per quello, e perché la sua logica di lavoro è un'altra. In questo modo, indipendentemente da come ogni singolo browser presenta un paragrafo o una lista, si avrà la certezza che il documento sia portabile, comprensibile e riutilizzabile senza difficoltà. Il web nasce infatti proprio come ambiente di scambio e condivisione di documenti. Già molti formati esistevano per definire in maniera accurata la formattazione visiva dei documenti, ma ciascuno di essi aveva specifici problemi di portabilità e di compatibilità con alcuni sistemi operativi o con software specifici. HTML è leggibile da qualunque editor testuale, su qualunque sistema operativo, e qualunque browser ne dovrebbe consentire una presentazione che ne rispetti almeno la struttura.
La storia del web ha preso un'altra direzione: esigenze di pubblico e
commerciali hanno spinto verso un design di pagine che tentasse di replicare
il design complesso che siamo abituati a vedere su riviste e giornali,
sui manifesti e persino alla tv. Non c'è nulla di male in questa
pratica: è solo che HTML non è adatto allo scopo, mentre
è adatto alla condivisione di documenti.
Per un certo periodo si sono usati degli stratagemmi per controllare la
presentazione delle pagine web. Tag HTML nati per marcare elementi specifici
come le tabelle di dati sono stati usati per creare "gabbie"
di impaginazione, all'interno delle quali tag non previsti dalle specifiche
ma creati e incoraggiati dai principali produttori di browser consentivano
di impostare il testo con la precisione del pixel. Colori e stili diventavano
realtà, ma i tag strutturali diventavano sempre meno usati e conosciuti.
A parte il tradimento "ideale" degli scopi del web, questa pratica
porta anche a problemi concreti.
Se un documento nasce per essere presentato visivamente in un certo modo, ebbene, non appena lo si visualizzerà con una tecnologia diversa da quella per cui è stato progettato, immediatamente si avranno degli svantaggi:
Inoltre potrebbero esserci specifici problemi di fruizione della pagina per determinati utenti:
E così via.
I fogli di stile sono nati per superare questa situazione di fatto: separando
istruzioni di visualizzazione dai tag strutturali dell'HTML, è
possibile conservare i vantaggi di portabilità e di condivisione
dei documenti, e avere un ottimo design sui browser e sulle piattaforme
in grado di "capire" i CSS. La stessa pagina sarebbe comunque
fruibile in versione solo testo dai browser e dalle tecnologie che i CSS
non li capiscono.
Tutto a meraviglia, dunque? No. Perché per lungo tempo i produttori di browser non hanno supportato adeguatamente i CSS, rendendoli di fatto inutilizzabili. Ora, dopo sei anni dalla loro nascita e due versioni successive (CSS1 e CSS2), i fogli di stile si avvicinano ad un'adolescenza turbolenta ma promettente. Come dimostra il recente redesign di Usabile.it e quello di numerosi altri siti, è ora possibile utilizzare i CSS assieme ad un codice valido, cioè che rispetta le specifiche del W3C, per realizzare documenti compatibili con la più vasta quantità di dispositivi, e fornendo al tempo stesso ai principali browser visuali un design ricco ed elegante.
Il problema nell'uso di questo tipo di web design costituito da un'impiego di (X)HTML valido e CSS2 è che alcuni vecchi browser non visualizzano correttamente i fogli di stile. Questo problema può essere affrontato in diversi modi a seconda del tipo di sito e del suo target. Il browser più problematico rimane Netscape 4. Se il sito ha un'ampia utenza che utilizza ancora questo browser, è possibile usare un approccio di transizione al design, usando sempre i fogli di stile, ma mantenendo anche le tabelle per l'impostazione grafica.
In caso contrario, è possibile fare scelte più radicali e fornire ai browser più vecchi un foglio di stile ad hoc o addirittura il solo (X)HTML, che verrà così visualizzato privo del design, con le impostazioni di default del browser. E' da notare che in questo modo il contenuto sarà comunque pienamente accessibile: a non essere compatibile all'indietro è solo il visual design. E' importante però "nascondere" con tecniche opportune i CSS ai browser più datati, ma che hanno un lieve e imperfetto supporto dei CSS: in quei browser il rischio è quello di una situazione "ibrida", ovvero un visual design sballato, che comprometta anche la fruizione normale. Per fortuna, anche per questo ci sono delle tecniche. Dunque, a seconda delle esigenze è possibile adottare l'approccio migliore per il singolo sito.
Naturalmente, il visual design ha un impatto decisivo sull'usabilità. Non parliamo tanto della grafica o dello stile, quanto proprio della disposizione degli elementi e della loro affordance percepita, cioè quello che gli oggetti (ad esempio i link) comunicano all'utente in termini di significato e funzionalità. Privare i documenti del design, significa rendere sì, i dati accessibili, ma probabilmente significa incidere in qualche modo sull'usabilità. Il gioco vale comunque la candela, perché un documento ben strutturato difficilmente ha un'usabilità pessima, e perché questi utenti sono una schiacciante minoranza. Per essi, è necessario progettare una versione lineare del testo il più semplice e usabile possibile, da arricchire poi con i CSS per la maggioranza degli utenti. Queste pratiche di design non escludono nessuno e non portano a doppie versioni del documento, ma solo a multiple versioni della sua visualizzazione: dalla più semplice alla più complessa. Ognuna di esse deve funzionare a dovere.
Poiché l'argomento più usato contro i CSS è che non hanno compatibilità all'indietro (che è vero, ma solo con browser di 5 anni fa e più... e comunque il contenuto rimane accessibile), bisogna anche abituarsi a vedere il bicchiere mezzo pieno. L'uso dei CSS, infatti, può contribuire a rendere l'interazione più ricca e il sito più usabile.
Come? In diversi modi.
display dei
CSS. (Attenzione: questi espedienti non sono usabili in sè, ma
vanno valutati caso per caso. Contribuiscono comunque a rendere più
divertente la navigazione, anche se a volte questo può andare
a scapito dell'efficacia).Inoltre i CSS consentono di modificare in meglio il design con prove successive in maniera economica, anche mentre il sito è online, accorciando di fatto i tempi e i costi del processo di miglioramento e modifica. Poiché la modifica di un sito per sopperire a problemi di usabilità riscontrati dagli utenti o nei test è il processo fondamentale in un design centrato sull'utente, i CSS, consentendo di svolgere questo processo senza toccare l'html, si dimostrano una tecnologia particolarmente utile e orientata all'usabilità.
Naturalmente, non basta usare i CSS per dire di aver fatto un sito usabile. Un buon uso dei colori, dei posizionamenti, degli spazi bianchi dipende dalla capacità del designer. Una navigazione coerente e un labeling system adeguato all'utenza, delle procedure che supportino il compito che l'utente vuole svolgere, sono tutti aspetti cruciali, che i CSS possono contribuire a rendere al meglio, ma che non possono certo prescindere dalle capacità del progettista e dai risultati dei test di usabilità. Ci sono molti siti brutti o mediocri realizzati con i CSS, così come con le tabelle. Ma questo dipende dall'uomo, come sempre, e non dalla tecnologia.
Precedente:
« Feedback e conferme all'utente
Successivo:
Abbreviazioni e acronimi: usabilità e accessibilità »