It's nice to hear that IE7 is going to address many of the well-known "sidesteps from convention" when it comes to CSS standards, but isn't the damage already done?
Sure, box model variations and various other anomalies in Microsoft's flagship internet-facing client have annoyed web developers and designers alike for years on end. But the short-term effects are often countered with various hacks, at least on sites written and designed by fairly competent individuals.
The true long-term effects are surely the pollution in the internet gene pool of all the crappy code which has seeped into circulation thanks to the less competent individuals who have only written with IE in mind.
For example
The problems created by these people fall into two main categories:
- Code which has not been tested on Firefox (often because no one saw any logical need to) and thus looks totally wrong in standards-compliant browsers;
- Code which errors out in other browsers because it's incorrect, but works in IE because it has a lax approach to taking shorcuts.
The most obvious example of the latter problem is in JavaScript, where people use a generic element ID as an object instead of locating an element in the DOM with the document.getElementById()
method.
For example, the following will work fine in newer IEs but error out in real browsers:
The outcome in IE is that 'Some text' gets replaced with 'Different text'.
The correct way to do this is:
It's hardly a strenuous change, but because IE will allow the erroneous former version, a lot of new scripters or novice website owners don't realise that what they're doing is incorrect and won't work anywhere else but on IE. Especially when they aren't aware of the whole standards compliancy issue and in cross-browser compatibility issues.
So we find that IE passively, or perhaps actively, encourages bad code to seep onto the internet and before long you have packaged scripts on developer sites with such errors inside.
Solution on the horizon?
I've strayed a little from the CSS issue at hand, but in my mind Microsoft's alleged continued drive towards compliancy encapsulates — or should encapsulate — Javascript, CSS and all sorts alike.
So what's the problem with their claims about increased compatibility in IE7's standards-compliant mode?
Well, I don't think that there's any "problem" per se, even when I see comments around the web implying that the developers at Microsoft might not actually be working true to their word.
However, I'm sceptical as to what good it'll do us all now. In my mind, the damage has been done, and a long time ago at that. There are countless websites out there designed for IE, with buggy CSS and JavaScripts full of errors.
Although the Standards Mode vs Quirks Mode concept is supposed to help get around the immediate pain of transition, the fact is that only proper developers know about Standards Mode and know/want to use it. These are the people who write valid code anyway. I see no evidence that breaking half the sites on the web, however gently, is going to fix anything now.
Now don't get me wrong, I am very hopeful that future IE versions are going to come back to Earth with real standards, and quickly. I'm just not convinced it's going to be that easy to get the amateur webmaster to start writing proper code which takes advantage of the newly-enforced standards.