HTML/XHTML  »  Guide  »  Guida XHTML 

Supporto dei browser



La questione del supporto di XHTML da parte dei browser è delle più interessanti. Nel corso delle precedenti lezioni abbiamo più volte accennato all'argomento. Qui raccoglieremo le idee e fisseremo i punti chiave del problema.

Compatibilità con il passato

XHTML 1.0 è un linguaggio che garantisce la compatibilità con il passato. Basta salvare il documento con estensione .html e il gioco è fatto. Tutti i browser saranno in grado di rendere il documento, soprattutto se si rispettano alcune semplici regole. Ne ricordiamo due che risolvono problemi con Netscape 4 e con Explorer 4 e 4.5 per Mac:

  1. lasciare uno spazio prima della slash nei tag vuoti: <br /> e non <br/>
  2. omettere la dichiarazione XML

Compatibilità con il futuro

Uno dei concetti su cui tante volte si è insistito è quello di documento valido e ben formato. Nell'ultima lezione abbiamo imparato tutto sulla validazione. Tenetelo in mente e fatela sempre. Perchè fin quando ci saranno questi browser è l'unico modo che avete per assicurarvi che i vostri documenti rispettino gli standard. I browser attuali non hanno infatti un meccanismo di controllo della correttezza formale di un documento. Chiariamo subito.

Nel listato 2 abbiamo riportato lo stesso codice della prima pagina XHTML, ma con una piccola modifica: abbiamo eliminato il tag di chiusura del paragrafo. Copiate il codice, incollate e salvate come "test2.html". Aprite nel vostro browser. Nessuna differenza rispetto al primo esempio. Ora procediamo alla validazione. Il validatore vi avvertirà che avete omesso il tag di chiusura: il documento non è valido.

Cosa impariamo da questo? Che i browser di oggi hanno le maglie molto larghe, lasciano passare tutto, per loro le DTD non esistono. Visto che per anni ha regnato l'anarchia del codice i loro parser HTML sono abituati a tutto. Come stupirci? Pensate se fossero stati rigidi censori del nostro codice! Non riusciremmo a vedere che una percentuale irrisoria di pagine (solo quelle scritte in modo corretto).

Ma facciamo un passo avanti e cerchiamo di capire come potrebbe essere il futuro. Non abbiamo bisogno di costruire ipotesi. Possiamo provarlo sin da ora.

XHTML è XML, ricordate? Bene. I browser recenti (quelli di quinta e sesta generazione) sono tutti in grado di gestire, più o meno bene, il formato XML. Ognuno di essi ha un parser XML, un processore che analizza il documento. I parser XML sono di due tipi:

  • processori non validanti: verificano soltanto che il documento sia ben formato
  • processori validanti: oltre alla correttezza formale devono verificare che il documento sia conforme alla DTD di riferimento

Quelli implementati nei principali browser sono parser del tipo non validante.

Ora prendete i due documenti (la prima pagina e la sua versione modificata). Rinominateli, assegnando questa volta l'estensione XML (trovate una copia dei file "test.xml" e "test2.xml" nel file zip con i materiali del tutorial).

I browser hanno comportamenti diversi nel modo di visualizzare l'output del primo documento (quello corretto), ma tutti fanno la stessa cosa con quello che non è ben formato: interrompono la visualizzazione e segnalano l'errore. Non è una bizzarria. È quanto viene esplicitamente richiesto nella specifica XML: quando incontra un errore un processore deve interrompere l'elaborazione del documento.

Abbiamo riportato per comodità l'output dei due file prodotto dai seguenti browser (le immagini sono accompagnate da note di commento):

Concludendo: i browser attuali tollerano, ma in futuro? Quando e se ci saranno browser XHTML una pagina con errori non verrà caricata. Torna il discorso di fondo: ciò che oggi è facoltativo domani sarà necessario, perchè non prepararci per tempo al futuro?

Ultimi articoli HTML/XHTML

Inserire video nelle pagine Web con HTML5

Codec, compatibilità dei browser, tools, codice e best practices per...

LungoJS: semantica HTML5 per il mobile

Realizzare layout per dispositivi mobili tenendo conto della...

Web storage, i cookies secondo HTML5

Come rendere persistenti i dati con HTML5

HTML5, section o article? ...E il div?

Cerchiamo di fare chiarezza sull'uso di questi due nuovi elementi e...

HTML5, la validazione del codice

Gli strumenti per verificare l'aderenza agli standard di pagine e...

Altri articoli

Guide HTML/XHTML

Guida HTML5

Una guida per conoscere e applicare da subito le novità introdotte...

Guida XHTML

XHTML è il nuovo standard per il WEB ed è la transizione verso...

Altre guide

Newsletter @Daily HTML.it

Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti