AnySurfer blogt

Die browsers toch

23 september 2006 door Roel Van Gils · 1 reactie

Een fijn artikel op Webkit.org over de manier waarop browsers XHTML écht interpreteren. Eigenlijk komt het erop neer dat het geen barst uitmaakt of je self-closing tags gebruikt of niet. Zolang je pagina’s aanbiedt als ‘text/html’, redeneert je browser zo: “Ah zo, er is geen sluittag. Ach, het is u vergeven. Maar wat doet die rare / daar op ‘t eind? Zal wel de naam van een onbestaand attribuut zijn… negeren die handel”. De ‘vergeeflijkheid’ van browsers is het hele principe waar de ‘backward compatibility’ van XHTML op gebaseerd is. Uiteraard ook de reden waarom in XHTML alleen maar tags zijn ‘afgeschaft’ en er geen nieuwe werden toegevoegd.

In fact, the vast majority of supposedly XHTML documents on the internet are served as text/html. Which means they are not XHTML at all, but actually invalid HTML that??s getting by on the error handling of HTML parsers. All those ?Valid XHTML 1.0!? links on the web are really saying ?Invalid HTML 4.01!?.

Zo is het maar net.

Maar: als je ‘t correcte MIME-type (application/xhtml+xml) meegeeft in de HTTP-header van een pagina – eenvoudig uit te proberen met PHP overigens – dan liggen de kaarten weer helemaal anders; dan interpreteren moderne browsers je XHTML als ware het ’serieuze’ XML. Als we dat echter allemaal zouden gaan doen, zou je heel wat blanco pagina’s te zien krijgen; het minste validatiefoutje zorgt er dan immers voor dat er helemaal niks gerenderd wordt.

Conclusie: eigenlijk heeft het weinig zin om XHTML-pagina’s aan te bieden met het foute (standaard) MIME-type (text/html) als je weet dat browsers je pagina toch maar behandelen als tweederangs-HTML en je je ‘foutjes’ – zoals die self closing tags die als ‘onbestaande’ attributen worden bestempeld en dus genegeerd worden – vergeven. Hmm.

Tags: Standaard

Eén reactie