Three reasons sites break in Internet Explorer 7
Readers of the IE Blog were warned multiple times before the release of IE 7 that some of the bug fixes included in the latest version of the browser could break websites. Because of Microsoft's commitment to backwards compatibility, websites based on Web standards would be at the greatest risk of breaking, especially sites that use CSS files full of hacks to compensate for bugs in IE 6.
A non-scientific study of one hundred websites seems to confirm that generally, sites based on junk code display the same in IE 7 as they did in IE 6, while a number of sites that use CSS based layouts have issues. The details of the study are available in IE7: Were they ready?.
My guess is that most sites that have rendering issues fall into one of three categories:
- Sites that have an XML declaration before the DOCTYPE, making IE 6 use quirks mode, but not IE 7. Both browsers still get the same CSS, so IE 7 renders it differently.
- Sites that depend heavily on CSS hacks that no longer work in IE 7.
- Sites that use conditional comments to feed a bugfix stylesheet to IE without specifying a version number, thereby making IE 7 load the bugfixes and mess up rendering.
I'm guessing (again) that the reason for the majority of tag soup sites passing the IE 7 test is that they almost always trigger IE's quirks mode, which if I understand correctly has not been changed from IE 6.
I know that it would be complete business madness for them to do so, but wouldn't it have been interesting to see what would have happened if Microsoft had shipped IE 7 with no quirks mode? Perhaps seeing their Frontpage and Visual Studio-generated IE-only sites break pretty much the same way in Internet Explorer as in fully standards compliant browsers like Firefox or Safari would have helped some hardcore Microsoft fanboys realise that there are people using other browsers and operating systems.