When a popular tool deviates from the standards, a lot of development using it deviates too. And that is what happened with IE 6, and a lot of sites developed to work around its deviations. So much so that, the deviations from the standards were very close to becoming the new standards themselves. The
DOCTYPE switch let developers not confirm to standards, and in my opinion was the first step towards posing the standards against the populace.
When IE7 came with better standards compliance, it broke all those sites which relied on that deviation. And so it is said that IE7 broke the Web, by confirming to the standards. Sad!
IE8 is supposed to be better, in fact it even passed the acid test. But it is dreaded to break many more things than its predecessor, and yet again by being a better standards boy. So it needed a new way of finding out whether the site developer wants to follow standards or not. So we got code to instruct IE8 to comply with standards.
<meta http-equiv="X-UA-Compatible" content="IE=8" />
If you have still not heard about it, Aaron Gustafson gives the details. I think it will work, but it still just a better hack, not a solution. Along with the fact that it asks us to insert code specific for a browser, it also brings over one of the critical faults.
The default does not support the standards
If I do not add the
meta declaration, IE8 would operate in the old mode. Which works fine for the sites which do not want it to, but the other ones which are coded to standards now have to take an explicit effort to ask IE8 to behave in standards mode. Shouldn’t it be the other way round? Should IE8 not comply with standards by default? I think this is another step towards alienating the standards.
No matter how IE8 behaves, this approach asks us to add code to develop with the standards. The problems caused because of the difference in IE6, IE7 and IE8 behavior is to help and encourage the site developers to comply to the standards. Which means that the IE6 or IE7 specific sites should be changed to comply with the standards. They should be changed, not others. This approach will force the new sites that get developed by standards to include this declaration. We are continuing to punish the future for mistakes in the past.
Not a long term solution
I also feel that this will not work as a long term solution. IE’s development is not going to be linear, there are multiple aspects where its behavior will evolve.
DOCTYPE worked for two versions, and this declaration might work for some more. But it will fail at some point of time when it will fall short of compensating for the deviations, just like
Here are some thoughts by others:
I feel a bit better that the everyone in WaSP does not back it and I sincerely hope that the default behavior is given some consideration. Let us try to not adulterate the Web because of tools. Otherwise I find that we are getting worse through standards. And the one who loses the most in this is neither Microsoft nor the developers – it will be the developers, sooner or later.