Skip to navigation

malevolent design weblog

This blog is now defunct, but you can find more stuff over at my personal site

XHTML Rules, OK?

This morning something made me let out a world-weary, Napoleon-Dynamite-type sigh: another well-meaning article recommending developers use HTML.

Every now and then a technical purist analyses the current situation and announces that XHTML cannot be used fully and so HTML is the way to go. They’re correct… and very, very wrong.

You see, they’re thinking in terms of what seems most ‘pure’ to them instead of considering the best path forward for the web and the people who build it. There’s a chaotic, messy, broken world out there that needs stepping stones like XHTML Transitional and text/html.

See last year’s entry about this very same topic for a full explanation, and I’ll stop going on about it. Well, for another year or so, anyway.


I wish it were just a matter of purity. But actually, trying to use XHTML with the current level o support causes practical problems. See my post for some specific examples.

While HTML is in some ways less regular than XHTML, there is a validator around to make sure you got it right, and nothing stops you from including tags that are implied.

The problem with XHTML as a stepping stone is that, so far, it seems to be a stepping stone to nowhere. In the 6 years since the XHTML 1.0 REC was published, real adoption (in the sense of documents published with an XML MIME type) is almost nil. Contrast this with past specs like HTML 3.2 and HTML 4 which almost completely took over the web within a year or two. And already the W3C is working on completely breaking backwards compatibility with XHTML 2.

Maciej Stachowiak, 23rd Sep, 1:19am

I do understand the point you were making about the problems caused, but I still think it's best to push transitional XHTML now so that the web (and developers, and web dev software) is in a slightly better position to make use of true XHTML once browser support allows it.

Matt Round, 23rd Sep, 12:35pm

Comments are now closed for this entry.