DOCTYPE html: definizione ed esempi
Il contrassegno <!DOCTYPE html> dovrebbe trovarsi all’inizio del codice sorgente dei documenti HTML e delle sottopagine. Grazie a DOCTYPE, è possibile capire subito con quale tipo di documento si ha a che fare. Se il tag manca dal documento, si possono verificare errori nella presentazione del sito web.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax
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 grammatica del codice da utilizzare. Sebbene il tag sia uno degli elementi più importanti di un documento HTML, viene spesso dimenticato. Poiché la sua presenza è ormai scontata, non dovreste dimenticare di contrassegnare 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.
A cosa serve DOCTYPE html?
Il compito di DOCTYPE è quello di spiegare alle programmatrici e ai programmatori e ai browser di quale definizione del tipo di documento (o Document Type Definition in inglese, abbreviato in DTD) si tratta e di come dovrebbe essere reso un sito web. La DTD indica il linguaggio di codice utilizzato 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 contrassegno DOCTYPE, possono verificarsi errori nella visualizzazione dei siti web. Il motivo è che i browser passano automaticamente alla modalità quirks (“quirks mode” in inglese) se manca <!DOCTYPE html>. Ciò ha lo scopo di preservare la retrocompatibilità e la visualizzazione dei siti web senza lo standard di codice attuale. Allo stesso tempo, però, questo può portare a una visualizzazione errata nonostante il codice corrente, poiché i browser aderiscono a elementi di codice obsoleti e non validi.
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 cosiddetta “Case Sensitivity”, ossia non viene fatta alcuna distinzione 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 informazioni di cui un browser ha bisogno sul tipo di documento e sulla visualizzazione appaiono dunque così:
<!DOCTYPE html>
Esempi di codice per versioni HTML meno recenti
Nei documenti che utilizzano ancora versioni meno recenti di HTML come HTML4 o XHTML, DOCTYPE appare molto più complicato. È per questo che anche le programmatrici e i programmatori più esperti spesso fanno copia incolla nel documento HTML. La complessità è dovuta al fatto che HTML4 e gli altri linguaggi di codice meno recenti si basano ancora sul predecessore di HTML, SGML (Standarded Generalized Markup Language), dove i browser necessitavano della definizione esatta del tipo di documento.
Nei linguaggi di markup precedenti all’HTML5, si utilizzano 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 Transitional:
<!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 contrassegno 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 Transitional:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
A differenza di HTML5 e dei suoi predecessori, per il formato SVG, sia prima che dopo SVG 1.2, si raccomanda di non inserire un tag DOCTYPE, perché a partire da SVG 1.2 non viene utilizzata più alcuna DTD.
Perché è importante DOCTYPE html?
L’indicazione di DOCTYPE html non è una norma e può di fatto venir omessa nei documenti HTML. Nonostante ciò, l’indicazione del tipo di documento è considerata una convenzione standard e non ufficiale. Se manca il contrassegno, verrà segnalato come errore, ad esempio quando si controlla il documento HTML. Se il browser non è in grado di riconoscere con certezza la grammatica e la sintassi utilizzate, possono verificarsi errori di visualizzazione e può venir compromessa la funzionalità di un sito web.
Attenzione: DOCTYPE non dovrebbe stare solo all’inizio del codice sorgente di un progetto web. Ogni singola sottopagina del documento HTML dovrebbe disporre del contrassegno corrispondente.