Gdesign.it :: Come progettare siti web accessibili ed efficaci ::


Home » How To » Riparate il vostro sito con i DOCTYPE corretti!

Riparate il vostro sito con i DOCTYPE corretti!

di Jeffrey Zeldman, traduzione di Gdesign e Chenoa, 15 Dicembre 2003

Versione Stampabile

L'articolo (in lingua inglese) proviene da A List Apart ed è stato tradotto e riprodotto per gentile concessione dell'autore.


Avete fatto tutto nel modo migliore, ma il vostro sito non si vede o non funziona come dovrebbe nei browser recenti.

Avete scritto XHTML e CSS validi. Avete usato il Document Object Model (DOM) standard del W3C per gli elementi dinamici della pagina. Però, il vostro sito non funziona nei browser destinati a supportare questi modelli standard. Probabilmente la colpa è di un DOCTYPE difettoso.

Questo breve articolo vi fornirà dei DOCTYPE funzionanti e vi spiegherà l'effetto pratico e reale di queste modifiche apparentemente astratte.

Perchè un DOCTYPE?

Secondo gli standard di XHTML e HTML, un DOCTYPE (abbreviazione di "dichiarazione del tipo di documento") informa il validatore quale versione di (X)HTML state usando e deve comparire in cima ad ogni pagina Web. I DOCTYPE sono dei componenti chiave nelle pagine Web standard: i vostri codici e i CSS non funzioneranno senza di essi.

Come accennato nei precedenti articoli in A List Apart (ed in altri siti interessanti), i DOCTYPE sono essenziali per un perfetto funzionamento e rappresentazione dei documenti Web nei browser standard come Mozilla, IE5/Mac ed IE6/Win.

Un DOCTYPE recente che include un intero URI (un indirizzo Web completo) dice a questi browser di interpretare la vostra pagina web in modalità standard, utilizzando i vostri (X)HTML, CSS e DOM come volete che vengano utilizzati.

Utilizzando un DOCTYPE incompleto o datato, o non utilizzandolo del tutto – si vengono a creare dei problemi all’interno dei browser, i quali presumono abbiate scritto dei codici e markup non validi secondo le norme di applicazione degli ultimi anni 90.

In questo modo, il browser tenterà di analizzare la vostra pagina in modalità standard, interpretando il vostro CSS come se venisse probabilmente visualizzato in IE4, e ritornando ad un DOM proprietario di uno specifico browser. (IE ritorna nel DOM di IE; Mozilla e Netscape 6 non si sa).

Chiaramente, questo non è quello che volete. Ma è quello che troverete spesso, a causa di informazioni DOCTYPE incomplete ed errate che questo articolo spera di correggere.

(Nota: Il browser di Opera non interpreta queste regole; tenta sempre di interpretare le pagine in modalità standard! D'altro canto, Opera non offre ancora un valido supporto per il DOM W3C. Ma ci stanno lavorando su.) {Editore: Dalla prima pubblicazione di questo articolo, Opera ha fornito dei DOM standard per i browser di Opera 7.}

Dove vengono trasferiti tutti i DOCTYPE?

Siccome i DOCTYPE sono vitali per il corretto funzionamento degli standard web nei browser, e poiché il W3C è il principale creatore degli standard Web, è probabile aspettarsi che il sito del W3C vi fornisca un lista dei corretti DOCTYPE, e potreste anche pensare di poter trovare rapidamente queste informazioni tutte insieme. Ma cio’ non è possibile. {Editore: Richiamando in parte questo articolo, il W3C ora elenca DOCTYPE standard sul proprio sito. Troverete l'elenco di alcuni schermate nel tutorial di W3C: "My Web site is standard. And yours?"}.

W3C.org non è A List Apart, WebReference, o Webmonkey. Non intende aiutare i web designer e gli sviluppatori, e soddisfare le persone ad esaltarsi sulle ultime raccomandazioni e pratiche tecnologiche. Non è questo il suo lavoro.

W3C pubblica una serie di tutorials, benchè la maggior parte degli sviluppatori non lo sa. Principalmente, il sito del W3C ospita una collezione di proposte, progetti, e raccomandazioni, scritte dai geeks per i geeks. E quando dico "geeks", non mi riferisco ai professionisti del web. Per geeks intendo coloro che passano il loro tempo libero sul computer.

Potete cercare tutto il giorno dei DOCTYPE sul sito W3.org senza trovare una pagina che li elenchi tutti. E quando scovate un DOCTYPE (generalmente in relazione ad un progetto particolare o ad una bozza), è spesso uno di quelli che non funziona sul vostro sito.

In tutto il sito del W3C vi sono dei DOCTYPE con degli URI mancanti, e DOCTYPE con i relativi URI che vi indirizzano verso i documenti dello stesso sito del W3C. Una volta rimossi dal sito del W3C ed utilizzati sulle vostre pagine Web, questi si collegano a URI che hanno dei documenti inesistenti, rovinando cosi' sul browser tutti i vostri sforzi.

Per esempio, molti siti mettono in mostra questo DOCTYPE, copiato e incollato direttamente da w3.org:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

Se osservate l'ultima parte del DOCTYPE ("DTDxhtml1-strict.DTD"), vedrete che è un collegamento relativo ad un documento del sito del W3C. Siccome questo documento è sul sito del W3C ma non sul vostro, l'URI è inutile per il browser.

ll DOCTYPE che si dovrebbe utilizzare è:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Così vi starete chiedendo che DOCTYPE dovremmo usare? I seguenti DOCTYPE completi sono quelli di cui abbiamo bisogno:

HTML 4.01 Strict, Transitional, Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict, Transitional, Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Prossimi passaggi

Come posso aiutarvi a migliorare il supporto per gli standard sul web? Oltre ad aggiungere ai preferiti questa pagina (e copiando ed incollando questi DOCTYPE per il vostro uso personale), se il vostro web editor inserisce i DOCTYPE, potete verificarli e confrontarli con quelli elencati sopra.

Diversi sviluppatori di software, anche se ben intenzionati, hanno copiato ed incollato i DOCTYPE incompleti dal W3C nei loro software. Risultato: quando utilizzate le funzione automatiche di un web editor per inserire i DOCTYPE nelle vostre pagine, i browser fanno i capricci, rendendo vano tutto il vostro lavoro..

È doveroso mettersi in contatto con coloro che hanno creato il vostro software di sviluppo preferito, mostrando loro i DOCTYPE adeguati ed invitandoli ad aggiornarli. (in alcuni casi, anche voi stessi potete modificare il vostro web editor.)

Prossimamente

Abbiamo diverse ragioni di credere che presto il sito del W3C mostrerà una lista di DOCTYPE accurati ed usabili ed altre informazione essenziali facili da trovare. Infatti, Karl Dubost, Conformance Manager del team Quality Assurance del W3C ha contribuito alle informazioni contenute in questo breve articolo.

Allo stesso modo, quando il Web Standards Project verrà rilanciato (molto presto), offrirà anche queste informazioni. {Nota dell’editore: Il Web Standards Project è stato rilanciato alla fine del 2002.}

Ma i siti web vengono progettati e realizzati ogni giorno, e voi avete bisogno di queste informazioni ora, così come sono.

Buon sviluppo e rendering!

^Top

Dai un voto a questo articolo:   HITS: 114419 | VOTI: 106 | MEDIA VOTI: 8.3    

Home:: Html:: Principi:: How To:: Download:: Tips:: Link:: Collabora:: Partners:: News&Updates:: Contatto:: Info

© 2001 - 2006 Giuseppe Di Carlo :: Riproduzione vietata ::

Utenti on line: 5