Internet Explorer 8: taking quirks and hacks into the future
Microsoft are looking to punish web users and developers by releasing another broken version of internet explorer in its 8th incarnation. They say they are helping people by not making it standards compliant, that people want things to remain the same. Well, web developers have to work bloody hard to make sure their content looks nearly as presentable in IE as it does in standards compliant browsers.
They say that if they start following standards, the web pages of their current userbase will no longer look right. That’s the same argument they’ve been using since version 6, and if they carry on, the issue will still remain in 10 years time. They managed to get some individuals at the Web Standards Project to help them find a workaround (Some other individuals at the same organisation aren’t happy about this btw.) Those guys came up with an idea for adding a meta tag to lock your page to a certain version of Internet Explorer, like the following example:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
This enables … wait for it … the “Super Standards” mode. This is basically following W3C standards, what other browsers call “standards compliant” mode. Its normal standards compliant mode is basically another quirks mode which makes it compatible with IE7.
So, what do we have? Two different quirks modes, and another mode where IE8 does what it thinks is standard compliant. What a terrible idea! Which standards will it try to comply with? Whatever is specified in the DOCTYPE declaration? What happens when IE9 comes out? how many renderers will that have? Just take a look at backward compatibility in other microsoft software to see how poor they have been at this.
The hired “experts” also say they hope the other browser vendors follow suit. I most certainly hope not! This would do nothing but force browsers to preserve their mistakes, and for a lot of the “developers” (i.e. the ones that currently make ie-specific pages) this would be just another endorsement that the code they write is fine, and its fine for them to carry on in the same fashion! They will simply use whichever meta tag “makes their page look right” in their favourite browser! At least one of the browser developers will use the statistics of this meta tag to keep from fixing their issues.
This proprietary lock-in is simply advising developers in general to forget about standards and to work with whatever the browser supports. If you list a number of browsers in your meta tag, you end up having to work with the lowest common denominator of what html/css these browser versions support. As a developer the only choice you’ll have is which browser versions’ bugs you want to work around. In a system that’s been developed over time, this will be multiple sets of bugs. You’ll need to be familiarity with all the bugs the your pages have been working around since the beginning. You’ll need familiarity with the quirks of each version listed in the pages. So, basically absolutely no improvement over today!
In fact, it has several disadvantages over the commented IE version detection we have today, as it has the potential of becoming a maintenance nightmare! It is much better to work to standards while keeping browser quirks in separate conditional sections or hacks. As newer versions are release, they should work with the standard code, and if they don’t, you include them in the hacks. This is a better way just like it is better in JavaScript to check for the availability of a feature, rather than the version of the browser. Your hack is more localised and can easily be removed when you no longer need to support the problematic browser. The meta tag is just like the browser version check, it applies to your entire page or entire site if you set it in your http header. It’s meaning also changes over time i.e. when IE8 is new, you’re specifying that your page should not follow the IE7 quirks, but when IE9 is released and IE8 is old news, you’re saying not only the same as before, but also that your page shouldn’t use any IE9 features!
You may say “aah, there’s the IE=edge” option. You’ll always use the latest standard compliance with that. I say, that should be the default, without any of this meta tag malarky! That’s how it will be in the other browsers.
I haven’t even started on what this means for web usability and accessibility. The web is currently in its infancy when it comes to these issues, and with some of the heavily ajaxified sites out there, it appears we are regressing. When you have your pages locked to a certain browser version, you are never going to reach the people who couldn’t access the content on that version.
The only way to ensure that these non-developers start writing proper code is to have the standards compliant mode enabled by default. They don’t have to totally ditch the quirks mode. Their meta tag could instead be used for “opting in” to quirks mode. That way, when developers with bad pages install IE8 and realise their site doesn’t work, they can quickly fix it with the meta tag. When they are creating web pages from scratch and see something doesn’t look right, they’d be more inclined to comply with web standards unless for whatever reason they start with that tag already in there.
I fear, however, that microsoft aren’t about to change this. So what can we hope for? Well, according to statistics the user base of this broken browser is on the decline, albeit in a somewhat slow fashion. That won’t be quick enough to make them reconsider their decision and make them actually do some work. The only solution to this monopolistic behaviour would be to force them to decouple Internet Explorer from Windows, and to have them distribute Opera and Firefox alongside IE with windows installations.
I agree with HÃ¥kon Wium Lie, the Opera CTO, who says that the European Commission should as part of their current investigations into microsoft demand that IE comply with web standards. The release of IE8 should be blocked until that happens. If things went that way, microsoft would have no choice but to change Internet Explorer into a browser that works or they’d be forced to see it die the slow death that it deserves.
Is that likely to happen though? We can only hope!
Update: facing a huge backlash from web developers, they’ve decided to have standards compliance mode enabled by default.
Get Email updates











Comments
Be the first to comment.
Pingbacks/Trackbacks
[...] Internet Explorer 8: taking quirks and hacks into the future [...]
[...] Full Article: Internet Explorer 8: taking quirks and hacks into the future [...]