Il DOCTYPE di HTML5

19 Nov

Out Of Date Warning

Questo post è stato pubblicato più di 2 anni fa (il 19 novembre 2011). Le idee vanno avanti velocemente, le prospettive cambiano quindi i contenuti potrebbero non essere aggiornati. Ti prego di tenere in considerazione questo, e di verificare le informazioni tecniche presenti nell'articolo prima di farne affidamento per i tuoi scopi.

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.

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:

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):

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