Why XHTML is doomed, at least in its strict validation form
Right now, if you are doing 'XHTML' there are basically three options for what is actually going on:
- you are smart and clever and knowledgeable about XHTML (and masochistic).
- your pages are actually
text/htmlpages and thus not real XHTML (regardless of what the validators may tell you).
- your pages are not displaying in IE.
The vast majority of people doing 'XHTML' are in the second category. (The third category is not popular for the obvious reason.)
Almost all of the pages in the second category either don't validate as XHTML or wouldn't actually work as intended if they were actually interpreted as XHTML. And there are a lot of them, because 'XHTML' has become a technical superstition, a kind of prophylactic good housekeeping seal of approval that is invoked to bless your pages with 'modern web standards'.
In practice this huge number of existing invalid XHTML pages means that it is too late to introduce strict validation. If you introduce strict validation, either almost no one would use it (people keep doing 'XHTML', not real XHTML), or almost no one would pass it, creating a huge pressure to give in on strict validation. Believing that people will rewrite their pages to pass strict validation in any volume is a fantasy; most people simply do not do all that much pointless work (and yes, it is pointless work).
(But we have strict validation now, you cry. Not really. What we have
right now is an illusion that is sustainable because IE does not do
XHTML, which creates the excuse to serve pages as
text/html so that
IE can see them, which lets people not have their noses very forcefully
rubbed in all the validation failures. If you make IE do XHTML, you
remove the excuse, destroy the illusion, and things come tumbling down
into one of the two options above. I expect the first option, with a
lot of denial and plain ignorance about it because we already have
The net result is that strict XHTML is doomed in either case. In the first case, it is doomed to demonstrated irrelevance; in the second case it is just plain doomed.
(And if you remove strict validation from XHTML, I think that what you are left with is more or less HTML5 plus namespaces with some syntactic differences. Or possibly no syntactic differences, as I haven't been keeping up with the latest news.)