Because of IE's overwhelming market share, many developers have historically coded their sites to the nonstandard methodologies and work-arounds required to support IE6 and earlier browsers. Those sites often don't render properly when viewed from competing browsers, even if those browsers follow W3C standards. To address that, many developers keep two sets of cascading style sheets -- one for IE and one for everything else.
But times have changed. It used to be that everyone developed for IE first. Now it is the special case. Many developers code to a standards-compliant browser such as Firefox first and then present a different style sheet to IE users.
That's what Eric Meyer does. Meyer, a prominent Web developer, author and principal at Complex Spiral Consulting, says he might develop in Firefox first, using an extension like Firebug, then test it in Safari, Opera and other standards-compliant browsers. "In the end, I'll fire it up in IE, find out what went wrong and work the code around that," he says.
Looking toward IE8
As it develops its next version, Internet Explorer 8, Microsoft has gotten serious about supporting standards first. "In the past we've focused more on [backward] compatibility than interoperability. Now we're trying to be as interoperable as possible," says Wilson.
Microsoft's IE group is also playing a larger role at the W3C. "Microsoft has expressed that they want to support standards 100% on several occasions, and they are participating in our groups," says Le Hegaret.
Despite the progress, Microsoft still lags behind other browser vendors in incorporating the latest standards, such as Scalable Vector Graphics (SVG), which is implemented in Firefox, Safari and Opera. (See box below for more information about the core W3C standards.)
But with many parts of Internet Explorer in need of updating, Microsoft had to choose where to focus its attention when it developed IE8. "We tried to move everything forward across the board in IE8, but we picked one area we wanted to get right," and that was support for CSS 2.1, says Wilson.
Wilson's goal is to have a complete implementation of CSS 2.1 when IE8 finally ships. But the CSS 2.1 specification is still in the Candidate Recommendation stage. Wilson says IE's release will go forward next year whether CSS 2.1 is final or not.
He's confident, he adds, that there will be "minimal interoperability problems." If definitions do change in the final Recommendation, future versions of IE will change to support that, he says.
As with any other fully standards-compliant browser, IE8 will work on all Web sites that follow the standards -- and break when visiting sites that were designed to exploit the proprietary features and other idiosyncrasies of Internet Explorer 6 and 7. To fix that, Web site designers will either need to make their Web sites conform to standards or add a tag in the Web page header that tells IE8 to switch to IE7 behavior.