CSS design e standard di lavoro

Le linee guida della BBC per i “future media” includono diverse raccomandazioni sulla scrittura dei CSS. Simili pratiche sono solo inutili complicazioni?

Uno dei siti corporate che presta più attenzione ai dettagli è quello della BBC: all’apparenza semplice ed ordinato nonostante i numerosi contenuti, si basa su molte pagine di specifiche tecniche e linee guida che devono essere rispettate dai suoi sviluppatori.

CSS – Le linee guida

Analizzando soprattutto gli standard relativi alla scrittura dei CSS, ho trovato vari spunti interessanti che potrebbero essere presi in considerazione su molti progetti:

Principi generali

  • Le pagine devono essere usabili e leggibili anche senza CSS
  • I CSS devono essere validi secondo gli standard del W3C, a meno che non sia necessario soprassedere per rispettare le linee guida interne
  • Se un browser non supporta determinate proprietà, deve essere messa in atto la graceful degradation (il sito continua a essere leggibile anche utilizzando software e browser obsoleti)
  • L’uso di !important è proibito

Uso dei file CSS

  • I file devono avere estensione .css ed essere tutti nella stessa directory
  • Le dimensioni dei CSS devono essere ridotte al minimo indispensabile
  • I CSS vanno inseriti usando <link> nella sezione <head> del documento, e @import non può essere usato
  • Niente stili inline

Tipografia

  • Deve essere sempre specificata una font-family generica come fallback (es. serif, sans-serif, monospace)
  • Le dimensioni del testo non devono essere specificate in px o pt, unità di misura non ridimensionabili su Internet Explorer (anche nelle ultime versioni)

Varie

  • Gli stili sui link vanno assegnati secondo il metodo LVHA (nell’ordine :link, :visited, :hover, :active)
  • Deve sempre essere specificato un colore di sfondo del body, anche se bianco
  • Quando viene specificato un colore per il testo, deve sempre essere indicato un colore opportuno per lo sfondo

A cosa servono le linee guida?

Sulle motivazioni tecniche dietro queste raccomandazioni c’è un’ampia spiegazione nel documento relativo, ma la questione per me è un’altra: serve davvero a qualcosa stabilire un set di regole così rigorose? Considerate che queste sono le linee guida più importanti sulla scrittura dei CSS, ma ne esistono altrettante per HTML, JavaScript, elementi audio-video, uso di cookie, design dei database, ecc.

Potrebbe sembrare una mole enorme di informazioni inutili, ma per un sito così strutturato e su cui lavorano più persone contemporaneamente non è possibile pensare a soluzioni diverse. La novità interessante, se vogliamo definirla così, è che le linee guida sono pubbliche e liberamente consultabili.

Vi è mai capitato di lavorare in progetti di grandi dimensioni? Non avere delle linee guida porta in breve tempo ad avere un codice impossibile da mantenere. Pensando in particolare ai fogli di stile diventa facilissimo scrivere regole duplicate ed aggiungere proprietà inutili.

C’è però una difficoltà da considerare: far rispettare le linee guida.

Molto spesso capita di avere documentazioni dettagliate che nessuno legge, e qui la responsabilità va suddivisa tra i singoli sviluppatori ed i loro superiori. E’ impensabile comunque che in questi casi ci sia sempre un controllore: la vera svolta si ha solamente quando tutti riescono a comprendere l’utilità di lavorare seguendo degli standard. Se per fare una minima correzione serve mezza giornata di lavoro per capire dove intervenire, significa che qualcosa non funziona.

Avete esperienze con progetti caotici da raccontare? I commenti sono a vostra disposizione.

Tommaso Baldovino

UX/UI Designer di Firenze, appassionato di tecnologia e accessibilità, esperto di WordPress, blogger, gamer e amante della fotografia.