Quirky Rendering and Strict Standards
Another area where the browser shines is in its implementation of what's called doctype switching. This is a mechanism by which documents are treated as either strictly standards-compliant, or bugwards-compatible with older browsers, based on the doctype (or lack thereof) in a document.
Why is this important? Because Internet Explorer uses different rendering behavior, depending on the doctype. If a document bears a strict DTD (document type definition), or a transitional DTD with a URL reference, then it's treated as strictly compliant with the standards. This means that no old bugs or quirks will be emulated, and it also means that if your document doesn't validate it probably won't render nicely, if at all. On the other hand, a doctype without a URL, or the complete absence of a doctype, will trigger the "quirks" mode. This causes Internet Explorer 5 to do its best to emulate bugs and behaviors of some older browsers.
This mechanism can also be found in Mozilla builds, and it will be a powerful tool to move forward into a standards-compliant Web without breaking older pages. Authors can create pages in the future which conform to standards, and know that browser will render those pages correctly, while still being able to display older pages which were written to conform to browser bugs.
Speaking of Standards...
So now that we have a way to author to standards, do we have a rendering engine which supports them? As always, it depends on the standard.
When it comes to Cascading Style Sheets, the answer seems to be "yes." Internet Explorer 5 boasts a truly impressive overhaul of the rendering engine. Not only does it support all of CSS1, but it does so almost flawlessly. I say "almost" because some reports of isolated bugs have surfaced here and there, and they're still being analyzed. But if you want to see something impressive, run the browser through the CSS1 Test Suite, and examine it one case at a time. Everything checks out, including forward-compatible parsing (a major source of failure in legacy browsers).
Internet Explorer 5 even supports some of CSS2, including positioning code. There is also support for all of the CSS2 selectors except attribute selectors. In fact, any part of a standard IE5 doesn't support is ignored completely. This is wonderful news, since it means that nothing was implemented halfway, or with outstanding bugs. Either something works, or it isn't there at all.
In terms of the DOM, the picture isn't quite so rosy. There are apparently some missing bits such as the DOM Core, a fact which the Mozilla folks have wasted no time gloating over. However, DOM 1.0 HTML does appear on the publicly announced list of supported standards:
- PNG 1.0
- ECMA 262
- DOM 1.0 HTML
The PNG support is particularly cool. Check out Figure 11, which shows a screenshot of part of a W3C test page for PNG support. Yes, that's a PNG graphic on top of a patterned background, and the semi-transparent parts are due to full PNG alpha channel support in Internet Explorer 5. In other words, parts of the PNG graphic are semi-transparent, or fully transparent. This causes the background to show through the image.
|Figure 8. IE5 has full support for the PNG format.|
Imagine: images with drop-shadows that match their background. You won't have to create separate versions of an image for each background on a site.
Internet Explorer 5 is a big step forward for web surfing on the Macintosh. In terms of standards, it is far and away the best browser available to Macintosh users ... although Opera 4 and Netscape 6 may give Internet Explorer 5 a run for its money in this department. The new interface will have its supporters and detractors, but the increased functionality and organizational power will win over many users. While a few people have reported crashes or slow performance while running Internet Explorer 5, my experience has been that the browser is stable and reasonably speedy.
This is a good product with a solid foundation. The new features are useful and well-implemented, and existing features are either preserved or improved. Internet Explorer 5 is now my primary web browser, and that status isn't likely to change any time soon.
Note: The author of this article was an official beta tester for Internet Explorer 5 for the Macintosh.
Do you have Internet Explorer for Mac? Join our discussion in the O'Reilly Network Browsers Forum.
Return to the O'Reilly Network Hub.