Internet Explorer 6 and Standards
As of December 2011, this topic has been archived. As a result, it is no longer actively maintained. For more information, see Archived Content. For information, recommendations, and guidance regarding the current version of Internet Explorer, see Internet Explorer Developer Center.
March 26, 2001
Inevitably, the topic of standards support invokes a great deal of passionate debate and strong feeling, and unfortunately a few inaccurate statements are often made regarding what is and what is not a standard, and which products support which standards. I fully understand that those that make such inaccurate statements often do so inadvertently, as keeping track of the multitude of different standards and levels can be extremely difficult.
Not to be one to duck from such a controversial topic, I have decided to discuss the topic of standards once again in this column. The topic is of course relevant with the availability of Internet Explorer 6 and its improved support for certain key standard recommendations.
Looking back at last year's column on standards, I think the final paragraph deserves repeating, as it is representative of Microsoft's position on Internet Standards:
Microsoft believes very strongly in Internet standards and the standards process, and is committed to implementing appropriate standards when driven by customer demand. However, standards compliance is part of a larger effort that includes many constituencies. By innovating, and driving customer requirements into Internet Explorer and then into the standards groups, we'll make the Internet a richer platform for all users.
The position is very clear—because a standard exists, that does not mean Microsoft will automatically implement it. Microsoft will implement appropriate standards that we believe are useful to our customers.
I believe that this is an appropriate position for any company to take. Some may take the position that because it's a standard, it must be good, and if it isn't in a standard, then it must be bad. This isn't a position I can subscribe to myself. I find it both refreshing and interesting that Netscape/Mozilla recognized the usefulness of innerHTML functionality and included it in their latest efforts, despite the fact that this is not part of any standard recommendation.
Standards Supported by Internet Explorer 6
Internet Explorer 6 takes two important World Wide Web Consortium (W3C) standard recommendations forward:
- Cascading Style Sheets (CSS)
- Document Object Model (DOM)
The Internet Explorer team has put a great deal of effort into providing fast and stable implementations of 100 percent of CSS 1 and 100 percent of DOM level 1 with this release. With the emergence of other browser versions over the last year supporting these standards, this is clearly a step forward in interoperability of browsers.
This does not, of course, guarantee interoperability of browsers for many reasons, and I'm afraid I don't foresee a time when Web developers will not need to test their creations in a wide variety of browsers. I'll list a few of these reasons here:
- Old Browser Versions. Many people use older browsers and have no immediate plans to upgrade. The ability of a user to upgrade their browser may be limited by their knowledge of computing, or perhaps their company has standardized on an older browser preventing an upgrade. One particular set of advocates for standards support the Web Standards Project (WaSP) is running a campaign to encourage users to upgrade their browser to the version 5 releases. You may wish to visit http://www.webstandards.org/ and decide if the audience for your site is likely to be receptive to this message.
- Other Devices. Some emerging devices for connecting to the Internet are less capable than a full personal computer, and are equipped with a browser that cannot be upgraded. As a result, if it is important for your site to be accessible from any device, support for HTML 3.2 without any use of stylesheets may be essential.
- Interpretation and Implementation of Standards. While the recommendation documents for many of the standards go into a great amount of detail, it is almost inevitable that some details go undefined or are open to different interpretation. Many of these details arise out of interpretation of HTML and CSS content that is not written to be fully compliant to a standard, and different browsers may interpret such illegal syntax in different ways. To avoid some of these issues for CSS, you may wish to run your CSS through a validator such as the one provided by the W3C at http://jigsaw.w3.org/css-validator/.
While support for key standards is clearly important for interoperability, there are no guarantees, and as a result, Web developers need to be careful. With the availability of good authoring tools and validation tools, we should be able to create content that looks good in a wide variety of browsers and devices. Of course, many of us recognize the clear benefit of using CSS to separate content from style so that they can be updated independently. Like many Web developers, I dream of the day when we can make use of CSS and DHTML technologies without having to concern ourselves with how content will display in older browsers. Maybe that day will be a long time coming on the Internet, but for many corporations who have standardized on a recent version of a browser that day is already a reality. On many corporate intranets, productivity solutions such as absence and expense reporting can be deployed on a server without having to install additional bits to client machines. This ease of deployment saves money and allows updates to be deployed quickly and easily, as well ensuring that everyone is using the latest version.
For specific types of content, the audience may be willing and able to upgrade their browser; for other audiences this may not be acceptable. As every audience is likely to be slightly different, the decision is yours as to whether or not you can make the step towards using these capabilities without alienating existing visitors to your site.
Compatibility vs. Standards
One of the constant concerns we have in developing newer versions of Internet Explorer is protecting compatibility with existing content. We definitely want to ensure that existing DHTML content continues to function and appear as it was designed to. This is difficult when driving the platform forward with new capabilities. In order to complete the support for CSS1 and DOM level 1 standards in Internet Explorer 6, the same DOCTYPE switch as used in other standards compliant browsers needs to be placed in the HTML document. This switch needs to occur before the HTML element and forces the fully compliant CSS functionality that would otherwise break existing content. Take a look at an example document in the MSDN Library to see this switch used, and the effect that it can have on the page.
Full details of the DOCTYPE switch and the CSS enhancements in Internet Explorer 6 can be found at CSS Enhancements in Internet Explorer 6.
With these changes, Internet Explorer 6 passes the W3C CSS1 test suite at 100 percent to complete the steps taken in previous versions. As a point of reference, Internet Explorer 5.5 passed at around 86 percent.
I realize that many of you will be saying, "When are you going to fully implement standard X?" with X being your favorite standard, such as MathML, SVG, CSS2, and so on. The answer is that Microsoft will look at each standard individually and determine how important it is for the customer. An emerging standard such as MathML is a particularly interesting one.
Clearly, the ability to display Math content using markup is useful in education and technical scenarios to convey potentially complex information. Microsoft follows the philosophy that this content is not applicable to everyone and could be a heavy burden to pay every time you fired up your Web browser. Microsoft therefore provides the hooks through the component technology of Behaviors introduced in Internet Explorer 5 so others can supply this functionality. This allows specialists in this area to supply a Math rendering component that integrates very tightly with an HTML document.
Another example that deserves pointing out is the stylistic enhancement in Internet Explorer 6 that automatically provides ellipses for text when it will not fit into an available area (this feature does require that the text-overflow style be set appropriately). Click here to see the effect of CSS property text-overflow. This is an example of how Microsoft has listened to customer requirements and added functionality to the platform to help build great solutions, while working with the W3C and members of the CSS working group to ensure its inclusion in the emerging CSS3 standard.
Over the coming months, I’ll discuss some of the interesting capabilities of Internet Explorer 6. I know the development team is looking forward to getting feedback on this first public preview of the product.
David Massy occasionally wears sun glasses and pretends to be a dude, but when the dark glasses are removed, he works as a technical evangelist on Windows and Internet Explorer technologies, which means he talks to customers of Microsoft about how they might best use the technologies. Before becoming a technical evangelist, Dave worked on the Internet Explorer team as a program manager. Since Dave is originally from England, he is valiantly struggling to educate his American colleagues on how to correctly pronounce "tomato."