If you’re a web developer, there’s only one issue this week that deserved your attention: Browser version targeting.
On Monday, A List Apart published an article — Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 — that described a new, Microsoft-led method, of instructing browsers to use a particular version of its rendering engine to render a web page — in other words, which set of prior bugs or incorrect/missing parts of particular specifications a page needs to appear as originally intended. Version targeting uses a meta-tag in the head of a web page to specify what particular version of a browser the page was written to work with.
Questions about the motive or necessity for version targeting aside, one side-issue that has stirred up a lot of attention is the default behaviour of Internet Explorer 8, which will implement the proposed targeting. If the version targeting meta-tag is absent, IE8 will not use the most recent, standards compliant code to render your page, but will instead fall back to rendering as IE7!
To convince IE8 to render your nice, clean (X)HTML and CSS using its most standards-compliant engine, you need to add this meta-tag to your pages, which, I agree, sounds completely backwards.
The reasoning for this behaviour is that it is Standards-savvy developers that will know to implement the meta-tag, while legacy content that goes unmaintained will still render as originally intended. However, I’m not convinced that the proposed default behaviour will actually solve anything.
Surely, most of the problems that Microsoft are trying to address with this proposal are incorrectly coded sites, created for IE6 and earlier. Falling back to IE7’s rendering would only benefit those who have developed their sites using IE7’s ‘Standards’ mode, or at least updated it to render correctly in IE7.
IE7 was a big leap forward for Web Standards, as it was the first new release of Internet Explorer for around 5 years, and supported parts of the CSS 2.1 specification that had been missing or incorrect in Internet Explorer 6. However, this leap forward came at a cost for developers not adhering to Web Standards, as sites that looked correct in IE6 now looked broken in the more standards-compliant IE7.
If IE7 is the default choice for rendering sites that do not feature the meta-tag, then websites developed for earlier versions of Internet Explorer will still reveal their problems under ‘No meta-tag, IE7 mode’, anyway. Meanwhile, while IE7 does still have its issues, I believe that tightening up the Standards-support is hardly going to have catastrophic effects for any sites that were developed for IE7’s ‘Standards’ mode.
It’s also worth mentioning that sites that rendered in IE7’s ‘Quirks’ mode (that is, using IE5.5’s rendering engine) should be unaffected, as they will still be rendered in ‘Quirks’ mode in IE8.
I haven’t seen this particular point raised anywhere in the various blogs commenting on the proposal, or the associated comments left, so I wouldn’t be surprised if there is some detail that I have missed that may invalidate my point. However, the more I think about and read up on version targeting, the less I like the idea.