(Last Updated on 25 February 2008)
I’ve only met Eric Meyer once, but he’s always seemed to me to be a decent, humane bloke—so it’s not surprising that he wrote about the animosity in the debate about IE8 version targeting:
Sometimes what binds us is strong enough that the few differences seem sharper by comparison. That shouldn’t keep us from remembering what we have in common, and the importance of that commonality.
Like Eric, I’ve been saddened by the vituperative tone amongst erstwhile friends lately, and I think Jeff Croft is spot-on to characterise it as a clash of ideologies: pragmatists versus purists. His analysis explains why I’ve found it so difficult to make up my mind, as I’m both pragmatist and purist at once.
I’m a purist who believes in open standards, semantics and accessibility. But I’m also a pragmatist who’s long advocated using conditional comments which are IE-specific and against the HTML spec. I’ve also advocated deliberately breaking validation in order to cater for User Agent Accessibility Guidelines shortcomings in IE.
So I could almost reluctantly accept Microsoft’s idea, although I would have to hold my nose at the disingenuous suggestion that without the IE8 Magic Microsoft Metatag™ (MMM) the web would break (it wouldn’t; some intranets and some crappy browser-based applications belonging to some powerful Microsoft customers would break, but the web wouldn’t). I don’t want to code round the market-leading browser any more, so could hold my nose if the MMM were likely to work—but I don’t believe it will.
Why it won’t work
Firstly, as I’ve written previously in Microsoft versioning: accessibility implications, “freezing the web to IE7 levels consigns much of it to perpetual inaccessibility”. Now, locking people with disabilities out of websites, that is truly breaking the web.
Secondly, what happens when scripting across frames and windows that have different MMMs? It may be that this will work perfectly, but I’ve seen the question raised a few times and seen no answer. (Caveat: there may be an answer posted on a site I haven’t seen, and maybe it’s a non-worry; I’m no DOMscripter.)
Thirdly, I just don’t believe that Microsoft will be able to guarantee that every new version of Internet Explorer will contain within it the rendering engine, scripting engine, HTML/ XML/ XSLT parsers of every single one of its preceding versions, and always guarantee that retrospective security patches applied to the ever-increasing number of codeforks in IE8, IE9, IE10 … IE∞ will not change their behaviour.
This is not because I think Microsoft are evil or incompetent, just that it’s a version control horror that nobody could possibly sustain. One day, they’ll have to cut support for old versions—and then we’ll be back to square one.
So, for purely pragmatic reasons, I don’t believe that the IE8 MMM will work. This does NOT mean that I hate Eric, Molly, Zeldman, Aaron Gustafson, PPK or Chris Wilson: it just means that I respectfully disagree with them.
But I’m also a realist (or as much of a realist as 60s-born leftie accessibility-wonk can ever be), so I’m aware that, whatever I may think (or whatever you may think), it’s likely that this is a done deal, and we’ll see the MMM in IE8.
I’m not going to use the MMM on this website. I’ve moved to an HTML5 DOCTYPE, as IE8 will not default to treating HTML5 as legacy content, and therefore will use its most up-to-date rendering engine.
I’ve done this as an experiment; I implore you do not do this on a production site – no browser can render HTML5, as it’s only just gone into Public Working Draft, so it’s not ready.
I also expect odd things to happen once some browsers begin experimental HTML5 support (for example, HTML4 has the
legend element in forms, while HTML5 has additional uses for legend, so who knows how my HTML4 forms will appear in an HTML5-aware browser?)
HTML5 is a long way from perfection (or even completion) and I’ve already had some serious worries about HTML5’s accessibility, but it feels like the future because it tries to address needs of the “application web” while maintaining support for the “documents web” and it will free us from the tyranny of one legacy browser’s rendering engine.
Oh – here’s a health warning: Using the HTML5 doctype prematurely “considered harmful”. Like I said, don’t use an HTML5 DOCTYPE except on experimental sites like this.