Le due modalit� di funzionamento dei browser: standard e retrocompatibile. Come attivarle tramite il doctype.
Introduzione
In alcuni browser è prevista la possibilitÃ? di funzionare in due modalitÃ? , una più aderente agli standard W3C (standards-compliant mode o standards mode) e una detta modalitÃ? retro compatibile (o quirks mode), che fa funzionare il browser come le versioni precedenti del software, garantendo, appunto, una maggiore retrocompatibilitÃ? .
Il doctype switch è l’utilizzo del doctype come fosse un interruttore per far leggere un documento in modalitÃ? standard o quirks.
Il doctype serve per definire il tipo di linguaggio di marcatura utilizzato nello scrivere il documento (ad esempio XHTML 1.0 transitional o XHTML 1.0 strict).
Prendiamo ad esempio questo DTD:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
Nella prema riga sono riportate varie informazioni legate al doctype (che potrete approfondire con i link a fondo articolo) seguite, nella seconda riga, da un URL (facoltativo) in cui sono definite le regole grammaticali del linguaggio.
Se il linguaggio di marcatura utilizzato è una versione di XHTML (come in questo caso), il doctype puÃ?² essere preceduto dal preambolo XML: <?xml version='1.0' encoding='UTF-8'?>.
Come attivare la modalit� compatibile agli standard?
Vediamo come attivare la modalit� compatibile agli standard per i seguenti browser:
- Internet Explorer 6 per PC (ad oggi l’unica versione di IE per PC che supporta la doppia modalitÃ? di funzionamento);
- IE 5 per Macintosh (il primo Explorer ad introdurre il Doctype Switch);
- Opera dalla versione 7.0 alla 7.03 (le prime versioni di Opera ad introdurre le due modalit� di funzionamento);
- Opera 7.1 e superiori;
Io ho scelto solo questi. In realtÃ? il browser che più crea problemi causati alla doppia modalitÃ? di funzionamento, e che più spesso è citata nella varie guide sui CSS, è Internet Explorer, ma come vedremo nei prossimi articoli, il quirks mode di Opera è strettamente legato a quello di IE.
Nella seguente tabella, a seconda del doctype specificato (e del modo in cui è specificato), sono riportate le modalitÃ? di funzionamento dei suddetti browser.
| Tipo | IE 5 per Mac | IE 6 PC, Opera 7 - 7.03 | Opera 7.1 e superiori |
|---|---|---|---|
| Doctype non presente | Quirks mode (Q) | Q | Q |
| Doctype sconosciuto | Q | Standards mode (S) | S |
| HTML 4.1 transitional, frameset + URL | S | S | S |
| HTML 4.1 transitional, frameset | Q | Q | Q |
| HTML 4.1 strict | S | S | S |
| XHTML | S | S | S |
| XML + XHTML | S | Q | S |
| WML | S | S | S |
Approfondimenti e risorse correlate:
Fonti ufficiali:
- Microsoft: CSS Enhancements in Internet Explorer 6.
- Opera: The Opera 7 and 8 DOCTYPE Switches.
- Mozilla: Mozilla’s DOCTYPE sniffing.
Altre fonti:
- Recommended DTDs to use in your Web document, l’elenco dei doctype consigliati dal W3C.
- Activating the Right Layout Mode Using the Doctype Declaration, una comparazione tra i doctype switch dei diversi browser.
- Il <!DOCTYPE> ed il <!DOCTYPE> switch nei moderni browser, cos’è il doctype, storia del doctype switch e comparazione tra i diversi browser.
tag: browser, CSS, doctype switch, internet explorer, Opera, quirks mode.
post correlati:
- Il box model
- Filtri CSS per Opera browser
- L'allineamento orizzontale degli elementi XHTML con i CSS
- Effetti di attivazione per i link costituiti da immagini
- Diversi stili per diversi browser
- Selezionare i link di un documento navigato con la tastiera
- Firefox 2, IE7 ed i moduli di ricerca

25 September 2007 alle 09:51
[…] leggeranno il documento in modalitÃ? standard o retrocompatibile (vedi l’articolo Il doctype switch), e dopo di che scegliere il più adatto tra i tanti metodi possibili. Ad esempio, nel caso solo IE […]