di Michael Cohen
Traduzione da A List Apart #181
http://www.alistapart.com/articles/separationdilemma/
Con tutte le discussioni sul separare la presentazione dal contenuto (e dalla struttura), è facile perdere di vista l’obiettivo. Quindi facciamo un passo indietro, definiamo le nostre regole, e guardiamo perchè questo è importante.
Presentazione
La maggior ragione per separare la presentazione dal resto della pagina è semplice: per semplificare ogni modifica, da un piccolo aggiustamento nel design a un completo redesign. Per ottenere la completa separazione della presentazione, dobbiamo isolare ogni cosa in modo specifico e potenziarla tramite gli stili.
Contrariamente a quello che potrete pensare, questo non è limitato esclusivamente ai CSS, addirittura nel caso di un sito come CSS Zen Garden.
Questo riguarda i tags HTML e le proprietà che esistono esclusivamente per offrire un elemento per il designer al quale applicare stili. Dopotutto, che uso può avere una dichiarazione .pageheader{…} se non esiste un elemento con questa classe nella pagina?
Tenete a mente questo e continuate la lettura.
Contenuto
La ragione per separare il contenuto dal resto della pagina è semplice quanto la ragione per isolare la presentazione. Isolare il contenuto permette di aggiungere o aggiornare cose in modo semplice mantenendo la coerenza della presentazione attraverso l’intero sito. Nonostante questo, come per la presentazione, può esserci confusione rispetto a cos’è esattamente il contenuto.
Per i nostri obiettivi, il contenuto è (di solito) testo e viene accompagnato da codice semantico: tags come h1-h6, paragrafi, em, strong, code, cite, etc. Il contenuti non dovrebbe richiedere ulteriori tag o stili per la presentazione per convogliare correttamente il suo messaggio.
In casi isolati, possiamo aggiungere tag addizionali per presentare più correttamente il contenuto. Per esempio, una poesia - dove i ritorni di linea sono importanti - può essere definita tramite un tag pre class=”poem”, o semplicemente può fare uso dei tag br per spezzare le linee.
Struttura
Qui è dove le cose si fanno impegnative. Prima di tutto, cos’è la struttura? Possiamo descrivere come struttura tutto ciò che compone la pagina, tranne gli elementi di presentazione e il contenuto. Nonostante questo, è come minimo una definizione troppo semplificata che può facilmente creare confusione non desiderata.
Prendete il menù di navigazione di ALA come esempio:
- Cambiate un colore qui, lo spessore di un bordo lì, e avete una modifica nella presentazione.
- Cambiate il testo del primo elemento di navigazione fa “Up front” in “Home” e avrete una modifica nel contenuto.
- Ultimo, avete i tag <div id=”menu”>, <ul>, e <li id=”…”> come struttura.
Trasformate questa in una riga di una antica tabella, e avrete una modifica nella struttura.
Ma aspettate - ricordate cosa ho detto prima? Questi tag includono elementi di presentazione: gli ID. Come sia Doug Bowman che Eric Meyer hanno sottolineato, la presentazione non ottiene il suo obiettivo senza struttura. Inoltre, vi mostrerò che è ugualmente inutile provare a separare la struttura dal contenuto.
Prendete l’esempio più semplice di contenuto web a cui potete pensare:
Title
< p>Lorem ipsum dolor met. p>
I tag <h1> e <p> sono nettamente parte del contenuto, giusto?
Noi non possiamo scrivere contenuto HTML corretto senza questo markup basilare. Ancora, questo markup è anche parte della struttura del documento, separando un blocco altrimenti uniforme di parole in una testata e un paragrafo. (E ovviamente, se volete essere precisi, potete considerare il markup com parte allo stesso modo di una presentazione. Dopotutto, il browser ha un modo predefinito per mostrare testo <h1> e <p> no?)
Quindi questo dove ci porta?
Contenuto e struttura
E’ possibile in teoria separare contenuto e struttura, ma in questo caso rimarreste con
<ul> <li> </li> </ul> per la struttura e testo piano senza definizione per il contenuto. E’ forse inutile dirlo, ma costruire un sito funzionale senza questi elementi è pressochè impossibile.
Quindi possiamo concludere che la struttura non può e non dovrebbe essere separata dal contenuto.
Presentazione e struttura
Come abbiamo visto, senza elementi strutturali, non c’è modo di applicare stili al contenuto. La struttura non può essere separata dalla presentazione - e non dovrebbe esserlo.
Il che ci porta a…
Presentazione e contenuto
Anche se la presentazione si affida ancora dalla struttura, parte della quale è integrata nel contenuto come notato sopra, la presentazione può e dovrebbe essere separata dal contenuto. E mentre le maggiori modifiche alla presentazione possono richiedere modifiche nella struttura, il contenuto può essere cambiato senza alcuna necessità di effettuare modifiche strutturali oltre agli elementi di struttura già integrati.
Strumenti di separazione reali
Con tutto questo in mente, vediamo il sistema di separazione per il perfetto sito internet.
Dovrà memorizzare il contenuto in un database, permettendo l’isolamento e la gestione delle informazioni di contenuto. La presentazione e la struttura dovranno essere gestite assieme; la presentazione potrà essere gestita tramite un foglio di sitle e gli elementi strutturali corrispondenti dove richiesto.
La struttura potrà essere gestita al meglio tramite un sistema di templates, costruito tramite un linguaggio di scripting server-side (come PHP o ASP). Ogni “pacchetto” di templates potrà avere uno o più fogli di stile (come CSS Zen Garden), ma ogni “pacchetto” di templates si connetterà allo stesso modo allo stesso database per ottenere contenuto da mostrare.
Molti sistemi di gestione contenuto provvedono vari livelli di supporto a questo tipo di templates. Nonostante questo, sistemi di template completi che rendono CSS Zen Garden speciale - come l’uso dei fogli di stile - e specialmente quelli che vengono offerti con un sistema di gestione integrato, sono decisamente pochi e lontani.
Ma per un webmaster competente, costruire qualcosa di simile da zero non dovrebbe essere così difficile. O no?
American-Israeli webmaster Michael Cohen has been coding web pages since 1995. He is currently vice president of the Internet design and hosting company Revolution Media LTD.. During his free time, he enjoys haunting (and administrating) the still-very-much-active Freespace-oriented Hard Light Productions.

Un trackback
[...] nei fogli di stile. Ricordatevi che bisogna sempre separare il contenuto dalla presentazione (Separazione: il Dilemma del Web Designer - [...]