ripulire il codice

perché?

Il codice (sorgente) è ciò che, in una pagina web, non si vede. La stessa "apparenza visibile" può provenire da diversi codici-sorgente. Perché allora preoccuparsene? Per vari motivi:

“Nescire quaedam, magna pars sapientiae”, dice un antico adagio: “una gran parte della sapienza” consiste (non nel sapere certe cose, ma) nel “non sapere certe cose”. Parafrasando tale adagio si potrebbe dire che una gran parte del lavoro (attuale) di un webmaster consiste non nel costruire, ma nel levar via ciò che di inutile e dannoso è stato posto dagli editor visuali (i cosiddetti editor WYSING tuttofare). Si tratta essenzialmente di un'opera di ablatio. Vediamo come.

il codice scorretto di MS Office

Una pagina html scritta da un programma di MS Office (Word, Excel, Access) è decisamente "sporca", nel senso che rigurgita di codice assolutamente sovrabbondante e estraneo agli standard W3C.

Talora le dimensioni del file così ottenuto sono anche dieci volte superiori a quelle che avrebbe il medesimo file (cioè avente il medesimo contenuto visibile a chi visualizza quella pagina), una volta ripulito dal codice scorretto della Microsoft.

Non vi è però solo il codice "sporco" di MS Office: anche vari editor html usando del codice scorretto o ridondante.

il codice scorretto di molti editor html

Occorre in effetti stare attenti a evitare: a) del codice scorretto (quello "deprecated" dal W3C), o b) del codice sovrabbondante, che pur non essendo formalmente scorretto appesantisce inutilmente una pagina HTML.

Vanno ad esempio evitati e sostituiti i seguenti <elementi>
suggerimenti per un codice pulito
l'elemento come sostituirlo esempio
<FONT> usando i fogli di stile da <font color="red">rosso</font> a <span class="red">rosso</span> [avendo definito, nel foglio di stile, collegato o incluso, la classe ".red{color: red}"]
<basefont> usando i fogli di stile da <basefont face=arial size=2> a "body{font-family: arial; font-size: 11pt;}" nel foglio di stile collegato o incluso
<dir> <ul>  
<CENTER> usando i fogli di stile da <center> a <div class="center"> [avendo definito, nel foglio di stile, collegato o incluso, la classe ".center{text-align: center}"]
<u> usando i fogli di stile da <u>sottolineato</u> a <span class="u">sottolineato</span>[avendo definito, nel foglio di stile, collegato o incluso, la classe ".u {border-bottom: solid 1px black}" (tra l'altro, volendo, la sottolineatura può anche essere discontinua, o colorata o altro ancora)]
<applet>    
vanno evitati e sostituiti i seguenti "attributi"
quali attributi evitare
quale attributo di quale elemento come
"align" praticamente tutti, eccetto "COL, COLGROUP, TBODY, TD, TFOOT, TH, THEAD, TR usando i fogli di stile
"bgcolor", "text", "link", "alink", "vlink" <BODY>, <TABLE>, <TD>, <TR> usando i fogli di stile
"height", "width" <TD>,<TR> [mentre possono essere, anzi è bene siano usati dentro l'elemento <img>] usando l'elemento <colgroup> e <col>, con cui stabiliamo i valori di tutte le celle di una medesima colonna
"nowrap" <TD>, <TH> usando i fogli di stile
"type" <LI>, <UL>, <OL> usando i fogli di stile

vanno aggiunti, ove mancassero i seguenti "attributi" o <elementi>
quali attributi aggiungere
da aggiungere obbligatoriamente a quale <elemento> a che cosa serve
"summary" all'elemento <table> a chi usa browsers non-visuali, per avere una descrizione "parlata" del contenuto di una tabella
<caption> no dentro il tag <table> a descrivere, come didascalia, la tabella
"alt" all'elemento <img> (immagine) descrive in modo alternativo l'immagine (per i browsers non-visuali e per chi non volesse visualizzare le immagini)

codice sovrabbondante

E' quello che appesantisce inutilmente, come abbiamo detto.

Ad esempio non ha senso (ma quasi tutti gli editor HTML lo fanno!!!), se ho dieci paragrafi a cui voglio applicare la medesima formattazione, ripetere per dieci volte (e pensate poi se si tratta di 50 o di 100!) gli attributi di stile: è molto meglio che lo dica una volta per tutte, creando una classe di stile, che poi mi limiterà ad applicare.

Facciamo questo esempio:

A) posso ripetere per dieci volte questa formattazione: "<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>", così:

"<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>
<p style="margin-top: 2px; font-family: tahoma; text-align: justify; color: black;">testo del paragrafo</p>"
 

B) oppure posso definire che <style>.nomeclasse{margin-top: 2px; font-family: tahoma; text-align: justify; color: black;}</style> e applicare a tutti i paragrafi la classe, così:

<p class="nomeclasse">paragrafo</p> (moltiplicatelo 10 volte voi :) )

In questo modo risparmio un bel po' di codice e rendo più facile la correzione di qualche fattore che non andasse bene.

Se poi ho molte pagine a cui voglio applicare la medesima formattazione, è ancora più conveniente: creo un unico foglio foglio di stile che collego a tali molte pagine, e quando vario uno stile, tale variazione si applica a tutte le pagine.

ATTENZIONE! Il problema è che gli editor WYSING non lo fanno: o lo fate voi, o non lo fa nessuno per voi!

come ripulire il codice

Come si fa a spurgare tutta la lordura depositata da Word, Excel, Access? Si può fare in diversi modi:

Paradossalmente sia Namo sia Tidy (Pspad, HTML Kit o altro) mentre ripuliscono alla perfezione un file creato da MS Office, ossia un file html "sporchissimo", non ripuliscono altrettanto bene un file html "poco sporco" (ma comunque sporco), come quello creato con FrontPage nelle ultime versioni, o con altri editor avanzati, che infischiandosene degli standard, vanno avanti imperterriti a usare codice scorretto.

In particolare non riesce l'eliminazione dell'attributo "width" delle celle di una tabella. E' incredibile, ma tale attributo viene giustamente eliminato e sostituito se a generarlo è stato un programma di MS Office, ma non se è stato FrontPage o altro editor specifico per HTML.

Per eliminare tale errore ("deprecato" dal W3C) non resta che operare manualmente o, per chi ce l'ha, usare lo stesso autore del delitto, FrontPage o quant'altro.