back to top

Il DOCTYPE di una pagina HTML

Prima di parlare dell’header dei documenti HTML è opportuno dedicare una lezione ad un elemento importante e molto spesso sottovalutato: il doctype. Il doctype è (o dovrebbe essere) la prima riga di codice di un documento HTML e serve per indicare al browser il tipo di documento di cui si tratta. Il termine doctype, infatti, è la contrazione di Document Type Declaration (DTD) e consiste in una dichiarazione, dello sviluppatore della pagina web, circa il linguaggio utilizzato, la versione di tale linguaggio, la lingua, ecc.

Segue un esempio di doctype di una pagina HTML:

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

All’interno di questa linea, che come detto deve essere la prima dell’intero documento prima dell’apertura del tag <html>, sono contenute una serie di informazioni:

  • !DOCTYPE – Apertura del doctype;
  • HTML – Indica che il linguaggio utilizzato per il documento corrente è l’HTML;
  • PUBLIC – Indica che il documento è pubblico;
  • -//W3C//DTD HTML 4.01 Transitional//EN – Indica che il documento si riferisce ad una specifica del W3C, che il DTD è HTML versione 4.01 Transitional e che la lingua è l’inglese;
  • http://www.w3.org/TR/html4/loose.dtd – E’ la URL alla quale è rinvenibile la specifica relativa alla DTD del documento; questa indicazione è facoltativa (e nella prassi frequentemente omessa).

E’ bene precisare alcune cose in merito al doctype:

  • <!DOCTYPE> non è una tag HTML, ma si tratta di un’istruzione indirizzata al browser affinché adotti le giuste regole per il rendering del documento;
  • L’indicazione del doctype NON è case-sensitive: non ci sono differenze se viene scritta in maiuscolo o in minuscolo!

Per quanto riguarda specificatamente il linguaggio HTML le DTD possibili sono tre:

HTML Strict

E’ la specifica più rigorosa del linguaggio che non ammette l’utilizzo di tag deprecati e frameset. Nel DTD Strict, inoltre, la definizione dell’aspetto degli elementi della pagina deve essere gestito mediante CSS.

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

HTML Transitional

E’ una specifica piuttosto permissiva che ammette l’utilizzo di tag deprecati ma non di frameset. Nel DTD Transitional, inoltre, sono ammessi tag di presentazione HTML utilizzati per definire l’aspetto degli elementi (come ad esempio bgcolor).

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

HTML Frameset

E’ la DTD utilizzata per le pagine composte da frames:

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

Il doctype di HTML 5

A differenza di HTML 4, HTML 5 non è un linguaggio SGML (Standard Generalized Markup Language) e, pertanto, l’indicazione del DTD non è necessaria. All’interno di una pagina basata sul markup HTML 5 sarà sufficiente inserire:

<!DOCTYPE html>

L’importanza del doctype

Molto spesso, purtroppo, l’indicazione del doctype viene omessa dagli aviluppatori di pagine web, tuttavia ciò deve essere considerato un errore in quanto tale omissione potrebbe compromettere il corretto rendering della pagina.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).
Articolo precedente
Articolo successivo