Matthias: blog
Das Logfile über mein Leben im Netz.

Doctype Switch and Compatibility and IE8: We're fucked again Sonntag, 17. Februar 2008, 04:04:28

Every time I check my site stats (which doesn't happen very frequently for this domain) I find out that my Doctype Switch article from 2001 gets a lot of traffic and backlinks. It's a really old article, the whole matter is highly technical, and it shouldn't be of interest to more than a handful HTML archeologists in this day and age of Enlightenment and (mostly) standards compliant browsers and authoring tools.

(as an aside, old versions of the article can still be found in the Wayback Machine)

But what surprises me, again and again (if being repeatedly surprised is even possible at all): To find out that, apparently, the Doctype Switch debate is still alive and well after so many years.

Oh please, no! This can't be!

You know, the whole point of the exercise, back in those days of darkness, was backward compatibility.

Back in 2001, when XHTML and CSS were finally beginning to catch on, Microsoft and Mozilla didn't want to make old sites with really old and often completely non-valid HTML (which had sometimes been specifically written to accomodate bugs in Internet Explorer and Netscape/Mozilla browsers) look bad in their shiny new browsers that at least tried to support W3C standards.

So they went and built in a special feature to guarantee some backward compatibility for a while: The Doctype Switch.

At that time, they were fully expecting (or at least claiming) this feature to be phased out over the next few years, as soon as webdesigners improved their coding skills, sites changed, and the old broken code disappeared.

That was seven years ago. In Internet Years, that's an eternity.

And yet, and yet: Just a few weeks ago I realised people are still confused about this thing and actually recommend deliberately invoking Quirks Mode!

What foolishness is this? Please excuse me while I tear out my hair and laugh maniacally at this crazyness.

But the folly continues. Buckle up, if you can.

I browsed this Microsoft article a while ago, but didn't really pay much attention to it apart from acknowledging that they'd worked with the Webstandards Group to make IE8 as good as they possibly could.

I have a great deal of respect for the Wasp. I was a (fairly unproductive) member a while back. They're good people.

But. You'll never guess what they came up with now:

In IE8, non-standard rendering is the default. Even in Standard Mode.

I kid you not: Full standards support is optional. In their own words:

  1. "Quirks mode" remains the same, and compatible with current content.
  2. "Standards mode" remains the same as IE7, and compatible with current content.
  3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple element.

[...]

We also think this approach allows developers to opt in to standards behavior on their own schedule [...]

on their own schedule? What bloody schedule would that be? If, in the last seven years, these developers haven't found time in their own schedule to catch up with industry standards, what makes you think they will ever find time?

So Microsoft is not only using the Doctype Switch, which was a misguided idea anyway and apparently didn't work out as expected either, long past its reasonable sell-by date. They're also fixing the wrong problem, again, with yet another complicated feature that'll confuse developers so much they will never find time on their own schedule to learn proper HTML and CSS.

In other words: We're fucked. Again. When will this madness ever end?