Categorie
HTML5

Il DOCTYPE di HTML5

Il DOCTYPE (Document Type Definition) dice ai browser ed ai validatori con quale versione HTML è stata scritta la pagina, non ha nessun alto scopo! Deve essere specificato all’inizio della pagina, prima ancora del tag <html> ed è case-insensitive.

<!DOCTYPE html>
<html>
    <head>
        <title>HTML5 - DOCTYPE</title>
    </head>
    <body>
    </body>
</html>

Le precedenti versioni di HTML specificavano il numero della versione, si trattava quindi di dichiarazioni relativamente lunghe rispetto a quella di HTML5. Infatti il linguaggio HTML era basato su SGML e quindi era necessario un riferimento ad una DTD (Definizione del tipo di documento).
Prima di proseguire, un breve cenno sulle modalità di rendering a cui i vari DOCTYPEs si riferiscono. Difatti al fine di permettere che le pagine che non rispettavano le specifiche HTML e CSS venissero visualizzate correttamente dai browsers siamo arrivati ad avere 3 modalità:

  • Quirks Mode: con questa modalità i browsers violano gli standard e le specifiche contemporanee del Web, al fine di non distruggere il contenuto esistente sul Web. Si fa riferimento quindi a vecchie pagine (fine anni 1990) che ormai rappresentano una netta minoranza e che non rispettavano i nuovi standard.
  • Standard Mode: con questa modalità il comportamento (si spera) è quello descritto nelle specifiche HTML e CSS, ed i browsers cercano di dare documenti conformi alle specifiche. HTML5 chiama questa modalità la “no quirks mode”.
  • Almost Standards Mode: Firefox, Safari, Chrome, Opera (dalla 7.5) e IE8 hanno anche una modalità che implementa il dimensionamento verticale delle celle di una tabella non in base alle specifiche CSS2. In pratica La modalità “almost standards” è esattamente uguale alla modalità standards” tranne per una cosa: il layout delle immagini all’interno delle celle di tabella viene gestito come se ci si trovasse nella modalità “quirks”. HTML5 chiama questa modalità “limited quirks mode”.

Ma ora torniamo all’oggetto della nostra discussione… quello che segue è uno dei numerosi DOCTYPEs che attiva la modalità standard in tutti i moderni browsers:

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

Qua possiamo trovare un elenco di dichiarazioni valide: www.w3.org/QA/2002/04/valid-dtd-list.html.

La dichiarazione del DOCTYPE per HTML5 invece è molto più corta (solo 15 caratteri), possiamo quasi digitarlo a mano (senza copia-incolla):

<!DOCTYPE html>

Come possiamo notare è notevolmente più semplice rispetto alla maggior parte dei DOCTYPEs che abbiamo visto finora, il che è intenzionale. Ciò consente ad HTML5 per essere retro compatibile in termini di sintassi e rende la transizione verso HTML5 ancora più facile. Difatti in HTML5 è cambiato molto nel tentativo di rendere ancora più semplice lo sviluppo.
Se hai un sito valido per HTML 4.0, ma vuoi passare ad HTML5, tutto quello che devi fare è effettuare la modifica DOCTYPE.
Inoltre, tutti i browsers riconoscono il DOCTYPE accorciato e switcheranno il contenuto in modalità standard (standards mode) – anche se non implementano HTML5. Quindi non ti devi preoccupare di questo.

Attenzione il doctype deve essere sulla prima riga del file HTML. Se c’è qualcos’altro prima, anche una sola riga vuota, alcuni browser potrebbero considerare le pagina senza doctype. In assenza di un doctype, il browser renderà la vostra pagina in quirks mode, e questo potrebbe essere frutto di errori nel rendering difficilmente identificabili.

Risorse

www.w3.org/TR/html5-diff/#doctype

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.