Il con­tras­se­gno <!DOCTYPE html> dovrebbe trovarsi all’inizio del codice sorgente dei documenti HTML e delle sot­to­pa­gi­ne. Grazie a DOCTYPE, è possibile capire subito con quale tipo di documento si ha a che fare. Se il tag manca dal documento, si possono ve­ri­fi­ca­re errori nella pre­sen­ta­zio­ne del sito web.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

Cos’è DOCTYPE html?

Chiunque lavori con i documenti HTML conosce già . Sebbene non sia uno dei classici tag HTML, dovrebbe essere al primo posto nei documenti HTML. Prima ancora del codice sorgente vero e proprio, DOCTYPE indica il tipo di documento che il browser deve aprire e la sintassi e la gram­ma­ti­ca del codice da uti­liz­za­re. Sebbene il tag sia uno degli elementi più im­por­tan­ti di un documento HTML, viene spesso di­men­ti­ca­to. Poiché la sua presenza è ormai scontata, non dovreste di­men­ti­ca­re di con­tras­se­gna­re il tipo di documento per ogni pagina con <!DOCTYPE html>. I migliori editor HTML offrono un controllo degli errori che segnala le righe DOCTYPE mancanti.

Consiglio

Mentre il con­tras­se­gno DOCTYPE chiarisce il tipo di documento, il tag div HTML serve come container vuoto senza si­gni­fi­ca­to semantico, che potete riempire li­be­ra­men­te con script e CSS per la pro­get­ta­zio­ne del sito web.

A cosa serve DOCTYPE html?

Il compito di DOCTYPE è quello di spiegare alle pro­gram­ma­tri­ci e ai pro­gram­ma­to­ri e ai browser di quale de­fi­ni­zio­ne del tipo di documento (o Document Type De­fi­ni­tion in inglese, ab­bre­via­to in DTD) si tratta e di come dovrebbe essere reso un sito web. La DTD indica il lin­guag­gio di codice uti­liz­za­to nella pagina o nel documento HTML. Questo vale, ad esempio, per i file in HTML, XHTML, SVG, MathML o XML. Chi volesse imparare l’HTML e creare un sito web, dovrebbe iniziare inserendo .

Se manca il con­tras­se­gno DOCTYPE, possono ve­ri­fi­car­si errori nella vi­sua­liz­za­zio­ne dei siti web. Il motivo è che i browser passano au­to­ma­ti­ca­men­te alla modalità quirks (“quirks mode” in inglese) se manca <!DOCTYPE html>. Ciò ha lo scopo di pre­ser­va­re la re­tro­com­pa­ti­bi­li­tà e la vi­sua­liz­za­zio­ne dei siti web senza lo standard di codice attuale. Allo stesso tempo, però, questo può portare a una vi­sua­liz­za­zio­ne errata no­no­stan­te il codice corrente, poiché i browser ade­ri­sco­no a elementi di codice obsoleti e non validi.

N.B.

Poiché <!DOCTYPE html> non è un tipico tag HTML in senso stretto, non esiste un tag HTML di chiusura con parentesi aperta e barra (</). Inoltre, non c’è la co­sid­det­ta “Case Sen­si­ti­vi­ty”, ossia non viene fatta alcuna di­stin­zio­ne tra lettere maiuscole o minuscole.

Quali tipi di DOCTYPE html esistono?

Poiché DOCTYPE html in HTML5 non è basato su SGML, la forma è molto facile da ricordare. Non richiede maiuscole o minuscole e precede il primo tag HTML nella prima riga del documento HTML. Tutte le in­for­ma­zio­ni di cui un browser ha bisogno sul tipo di documento e sulla vi­sua­liz­za­zio­ne appaiono dunque così:

<!DOCTYPE html>

Esempi di codice per versioni HTML meno recenti

Nei documenti che uti­liz­za­no ancora versioni meno recenti di HTML come HTML4 o XHTML, DOCTYPE appare molto più com­pli­ca­to. È per questo che anche le pro­gram­ma­tri­ci e i pro­gram­ma­to­ri più esperti spesso fanno copia incolla nel documento HTML. La com­ples­si­tà è dovuta al fatto che HTML4 e gli altri linguaggi di codice meno recenti si basano ancora sul pre­de­ces­so­re di HTML, SGML (Stan­dar­ded Ge­ne­ra­li­zed Markup Language), dove i browser ne­ces­si­ta­va­no della de­fi­ni­zio­ne esatta del tipo di documento.

Nei linguaggi di markup pre­ce­den­ti all’HTML5, si uti­liz­za­no i seguenti codici DOCTYPE all’inizio di un documento HTML:

XHTML 1.0 Strict:

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

XHTML 1.0 Tran­si­tio­nal:

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

XHTML 1.1 Strict:

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

Anche per gli ebook nello standard EPUB2 così come per i formati degli ebook meno recenti il con­tras­se­gno DOCTYPE è ancora eseguito in XHTML 1.1 Strict all’inizio del documento XHTML.

HTML 4.01 Strict:

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

HTML 4.01 Tran­si­tio­nal:

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

A dif­fe­ren­za di HTML5 e dei suoi pre­de­ces­so­ri, per il formato SVG, sia prima che dopo SVG 1.2, si rac­co­man­da di non inserire un tag DOCTYPE, perché a partire da SVG 1.2 non viene uti­liz­za­ta più alcuna DTD.

Perché è im­por­tan­te DOCTYPE html?

L’in­di­ca­zio­ne di DOCTYPE html non è una norma e può di fatto venir omessa nei documenti HTML. No­no­stan­te ciò, l’in­di­ca­zio­ne del tipo di documento è con­si­de­ra­ta una con­ven­zio­ne standard e non ufficiale. Se manca il con­tras­se­gno, verrà segnalato come errore, ad esempio quando si controlla il documento HTML. Se il browser non è in grado di ri­co­no­sce­re con certezza la gram­ma­ti­ca e la sintassi uti­liz­za­te, possono ve­ri­fi­car­si errori di vi­sua­liz­za­zio­ne e può venir com­pro­mes­sa la fun­zio­na­li­tà di un sito web.

At­ten­zio­ne: DOCTYPE non dovrebbe stare solo all’inizio del codice sorgente di un progetto web. Ogni singola sot­to­pa­gi­na del documento HTML dovrebbe disporre del con­tras­se­gno cor­ri­spon­den­te.

Vai al menu prin­ci­pa­le