"The underlying technology of the web browser has reached the point where standards compliance must take precedence. In order for the web to maintain its bullet-train rate of innovation, the web browser must become a stable building block for site designers, just as standardization on Windows has encouraged innovation in the PC space." - David Kerley, senior analyst, Jupiter Communications
Why support web standards? It's pretty clear to us here at Netscape that a standards-compliant browser provides developers and end users with the following benefits:
Document Object Model (DOM)
Netscape Gecko delivers the best support for the W3C DOM of any browser engine available. According to independent standards expert Jiri Znamenacek, the Mozilla browser (upon which Netscape 6 is based) provided the best W3C DOM1 support of any browser he tested in a recent comparison using his DOM 1 Reference.
Why is support for the W3C DOM important? As the standard itself states, the Document Object Model Level 1 provides "a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The Document Object Model provides a standard set of objects for representing HTML and XML documents, a standard model of how these objects can be combined, and a standard interface for accessing and manipulating them. Vendors can support the DOM as an interface to their proprietary data structures and APIs, and content authors can write to the standard DOM interfaces rather than product-specific APIs, thus increasing interoperability on the web."
Robust support for the W3C DOM is perhaps the most critical requirement for enabling the next generation of platform and device independent web applications that will have functionality and user interfaces equivalent to current native applications, because it is the W3C DOM that opens up the content and format of the page to manipulation from languages like JavaScript. The W3C DOM, level 1 has two parts: DOM 1 Core and DOM 1 HTML. DOM 1 Core provides a crucial set of core methods for reading, writing, and changing the content of documents on any platform or device--methods that work equally well for HTML and XML. DOM 1 HTML provides a set of convenience extensions that are specific to HTML documents only.
The methods of the DOM 1 Core are aptly named. They are truly the core of the DOM. The methods of the DOM 1 Core apply equally to HTML and XML, enabling them to manipulate the existing HTML web content of today and making them the foundation for the robust XML-based web content and web applications of tomorrow. It is for this reason that independent developer groups like the Web Standards Project have called on browser vendors to fully support all of the W3C DOM Level 1--both the Core and the HTML extensions. Only the W3C DOM will provide developers the freedom to write to the standard instead of to the idiosyncrasies and proprietary features of each browser on each platform. Only the W3C DOM will enable consumers to benefit from a new generation of powerful, easy-to-use web applications that run on any platform or device. Only the W3C DOM will empower consumers with the freedom to choose any platform or device and gain the same rich web experience from them all.
Unfortunately, testing using published, open source test suites shows that Microsoft has failed to provide in any of its browsers the support for the W3C DOM level 1 that developers are demanding--even with the Tasman layout engine that is part of IE5 for the Macintosh. Not only is IE's DOM support incomplete on all platforms, but within Version 5 of IE, the DOM support is inconsistent between platforms. Ironically, because of this inconsistency in standards support in IE5 between platforms, the fact that IE5 for the Mac has different and better support for the W3C DOM than IE5 for Windows makes developers' lives harder in one way by requiring even more complicated client sniffing code than was necessary in the past. In the past, developers writing applications using the DOM had to detect the browser vendor and browser version to determine what DOM code they could execute on the user's browser. But now, because IE5 for the Mac and IE5 for Windows have differing support for the W3C DOM, developers writing DOM-based applications will have to client-sniff the browser, the version, and the platform (a third level of sniffing and conditional code forking) before executing code that relies on the DOM, and resort to browser- and platform-specific proprietary workarounds when the needed DOM support is missing. The W3C DOM was supposed to make developers' lives easier; incomplete and inconsistent implementations by browser vendors makes developers' lives harder. It's pretty clear to us here at Netscape that browser vendors need to listen to their customers and provide the consistent standards support across platforms that developers are calling for.
Relevant Documents
W = Windows, M = Macintosh, L = Linux
Feature | Gecko | IE | "See for Yourself" URL | ||||
W | M | L | W | M | L | ||
DOM Level 0 Core support for backward compatibility with Nav3 and IE3 applications | Y | Y | Y | Y | Y | n/a | |
Best DOM Level 1 Core support | Y | Y | Y | N | N | n/a | |
Best DOM Level 1 HTML support | Y | Y | Y | N | N | n/a | |
Best DOM Level 1 support | Y | Y | Y | N | N | n/a | |
attribute.removeAttribute(name) enables removal of attributes from element's list | Y | Y | Y | N | N | n/a |
http://www.mozilla.org/quality/ngdriver/suites/dom1/cele004.html
suites/dom1/cele004.html |
element.attributes.length returns correct length of element's attribute list | Y | Y | Y | N | N | n/a |
http://www.mozilla.org/quality/ngdriver/suites/dom1/cmap001.html
suites/dom1/cmap001.html |
for HTML OPTION elements, optionElement.text returns displayed text for option element | Y | Y | Y | N | N | n/a |
http://www.mozilla.org/quality/ngdriver/suites/dom1/hopt003.html
suites/dom1/hopt003.html |
for HTML SELECT elements, selectElement.value returns current selection value | Y | Y | Y | N | N | n/a |
http://www.mozilla.org/quality/ngdriver/suites/dom1/hsel002.html
suites/dom1/hsel002.html |
supports compact property of UL elements | Y | Y | Y | N | N | n/a |
http://www.mozilla.org/quality/ngdriver/suites/dom1/huli001.html
suites/dom1/huli001.html |
document.createAttribute() method enables standards-based creation of element attributes without use of proprietary API | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.getElementsByTagName() method enables standards-based retrieval of elements by tag name without use of proprietary API | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.implementation.hasFeature()enables application to query whether implementation supports a particular feature of standard | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/DOMImplementation.dom
DOM/test.php/DOMImplementation.dom |
document.createElement() method enables creation of new elements | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.createElement() method prohibits creation of invalid HTML tags | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
NamedNodeMap getNamedItem() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/NamedNodeMap.dom
DOM/test.php/NamedNodeMap.dom |
NamedNodeMap setNamedItem() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/NamedNodeMap.dom
DOM/test.php/NamedNodeMap.dom |
NamedNodeMap removeNamedItem() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/NamedNodeMap.dom
DOM/test.php/NamedNodeMap.dom |
document.doctype attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.implementation attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.documentElement attribute | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.documentElement.ownerDocument | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.nodeName attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.nodeType attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.parentNode attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.childNodes attribute | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.firstChild attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.lastChild attribute | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.createDocumentFragment() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.createTextNode() method | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.createComment() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.createCDATASection() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Document.dom
DOM/test.php/Document.dom |
document.insertBefore() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.replaceChild() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.removeChild() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.appendChild() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.hasChildNodes() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
document.cloneNode() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Node.dom
DOM/test.php/Node.dom |
CharacterData substringData() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Text.dom
DOM/test.php/Text.dom |
CharacterData appendData() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Text.dom
DOM/test.php/Text.dom |
CharacterData insertData() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Text.dom
DOM/test.php/Text.dom |
CharacterData deleteData() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Text.dom
DOM/test.php/Text.dom |
CharacterData replaceData() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test..php/Text.dom
DOM/test.php/Text.dom |
CharacterData splitText() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Text.dom
DOM/test.php/Text.dom |
document.body.getAttributeNode() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Attr.dom
DOM/test.php/Attr.dom |
element.tagName attribute | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.getAttribute() method | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.setAttribute() method | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.removeAttribute() method | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.getAttributeNode() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.setAttributeNode() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.removeAttributeNode() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.getElementsByTagName() method enables access to contained subelements through standard API | Y | Y | Y | Y | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
element.normalize() method | Y | Y | Y | N | Y | n/a |
http://www.jeremie.com/Dev/DOM/test.php/Element.dom
DOM/test.php/Element.dom |
Extensible Markup Language (XML)
"Internet Explorer 5.0 took some credible first steps toward XML+CSS (see Tim Bray's review of Windows IE5 for details), but the latest work from Mozilla goes beyond first steps to a usable set of tools. The solid XML+CSS core and the underlying DOM support suggests that Mozilla will be a useful platform for building applications, not just web pages. Add to that a dash of XLink support, and it looks like Mozilla may be leading the pack." -- Simon St. Laurent
HTML's simplicity assisted its rapid and widespread adoption, but this same simplicity becomes a straitjacket for building complex applications. Because HTML has a small and fixed number of markup tags, HTML markup provides very limited structural information about a document and almost no information about the document's meaning or content. This makes it difficult for users and applications to exchange and process complex structured documents such as those necessary for electronic commerce. XML was invented to solve this problem by enabling users and applications to define their own application-specific markup tags and languages in an industry-standard way. XML will enable applications to process and exchange structured documents with ease, and XML support in the browser will enable users to view the increasing number of XML documents on the web as well as to manipulate those documents on the client side.
Both IE5 and Gecko support basic XML parsing, but the flaws in Microsoft's support for CSS1 formatting also reduce the usefulness of its support for XML. Rather than supporting the formatting of XML documents through CSS1, a stable, mature, nearly four-year-old specification that developer groups such as WebStandards.org have been demanding support for, Microsoft has chosen to focus on formatting through XSL, a specification that is still under development. As Tim Bray, a co-editor of the XML specification has noted:
"Microsoft's XSL efforts are very impressive, but (readers will pardon us being something of a broken record on this subject) XSL is in the future. We are convinced that from the point of view of the largest number of users, the most important things that Microsoft could do in IE 5 would be:
Microsoft Outlines XML Support in IE5 Beta 2
He further adds, "It seems obvious to me that for anyone who wants to deploy XML in production mode right now, XML + CSS is the way to go."
Relevant Documents
W = Windows, M = Macintosh, L = Linux
Feature | Gecko | IE | "See for Yourself" URL | ||||
W | M | L | W | M | L | ||
Parses XML documents | Y | Y | Y | Y | Y | n/a | |
Native XML internal representation of document | Y | Y | Y | N | * | n/a | |
Can display XML documents without using an internal transformation to HTML | Y | Y | Y | N | * | n/a | |
Display on screen XML data formatted with CSS1 | Y | Y | Y | Y | Y | n/a |
http://www.mozilla.org/newlayout/demo/jumptravel/xml/flights.xml
demo/jumptravel/xml/flights.xml |
Print XML dataformatted with CSS1 | Y | Y | Y | N | * | n/a | http://www.mozilla.org/newlayout/demo/jumptravel/xml/flights.xml |
Industry-leading support for DOM1 Core enables the creation of sophisticated XML applications with the power of the W3C DOM level 1 | Y | Y | Y | N | N | n/a | http://www.mozilla.org/newlayout/demo/jumptravel/xml/flights.xml |
Per XML Namespaces specification, enforces requirement that namespaces be declared | Y | Y | Y | N | * | n/a | http://www.xml.com/pub/1999/03/ie5/first-x.html |
Per XML Namespaces specification, permits HTML namespace to be mapped to any prefix, not just a hardcoded mapping to html: | Y | Y | Y | N | * | n/a | http://www.xml.com/pub/1999/03/ie5/first-x.html |
* Details were not available at the time of this writing.
Resource Description Framework (RDF)
RDF provides a vendor-, platform-, and application-independent way to describe the data on the web with meta data. Software applications can use meta data to understand the data on the web and process it more efficiently, saving users time searching and allowing them to process the huge volume of Internet data more effectively.
RDF will greatly increase the power and usefulness of many different applications. Search engines will find more relevant information more quickly, software agents will be able to search the web independently, and web sites will be able to present a catalog of their contents at a glance. RDF support in the browser provides a graphical front end that makes all these new applications possible.
Netscape has also been a leader in applying this technology; Netscape Communicator's What's Related Smart Browsing support, implemented using RDF and available since version 4.06, is already the most widely used XML application on the Internet today.
Relevant Documents
W = Windows, M = Macintosh, L = Linux
Feature | Gecko | IE | ||||
W | M | L | W | M | L | |
Supports W3C RDF Recommendation | Y | Y | Y | N | N | n/a |
Able to represent, describe, and index web site contents with RDF | Y | Y | Y | N | N | n/a |
Support for pluggable data sources to enable new RDF services | Y | Y | Y | N | N | n/a |
Cascading style sheets provide a vendor-, platform-, device-, and application-independent way to specify the format of documents. They enable clean separation of content (in the document file) and formatting information (in external style sheet files), which reduces development and maintenance costs and makes it easy to reformat content for different audiences. The CSS1 standard (now nearly four years old) is a stable, mature specification with the power to format HTML and XML pages.
Testing demonstrates inconsistent support by IE5 of CSS1 on Windows and the Macintosh. In contrast, independent analysts agree that the Gecko layout engine in Mozilla and Netscape 6 is delivering the best CSS support ever achieved by any browser. Mozilla and Netscape 6 are delivering this industry-leading support for CSS across platforms, and are including the ability to format and print XML data natively with CSS1. RichInStyle.com has written that "Without doubt, Mozilla is the best CSS browser available." And in a recent analysis of combined CSS1 and CSS2 support by David Baron, Mozilla received the highest score, 36.5, compared to -8.5 for IE 5.0 for Windows. Netscape Gecko is delivering the CSS support developers are demanding to enable the next generation of rich content and applications across browsers, platforms, and devices.
Relevant Documents
W = Windows, M = Macintosh, L = Linux
Feature | Gecko | IE | "See for Yourself" URL | ||||
W | M | L | W | M | L | ||
Display on screen HTML data formatted with CSS1 | Y | Y | Y | Y | Y | n/a | |
Print HTML data formatted with CSS1 | Y | Y | Y | Y | Y | n/a | |
Display on screen XML data formatted with CSS1 | Y | Y | Y | Y | Y | n/a | |
Print XML data formatted with CSS1 | Y | Y | Y | N | n/a | ||
First-letter formatting for magazine-style lead-ins to paragraphs | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec26.htm
sec26.htm |
First-line formatting | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec23.htm
sec23.htm |
Comprehensive box model | Y | Y | Y | N | Y | n/a |
http://style.verso.com/boxacidtest/vd/
http://www.fas.harvard.edu/~dbaron/csstest/shortbox.html
|
Passes zero margins test | Y | Y | Y | N | Y | n/a |
http://www.fas.harvard.edu/~dbaron/csstest/margtest.html
margtest.html |
Correct calculation of list item margins, borders, and padding | Y | Y | Y | Y | Y | n/a |
http://www.fas.harvard.edu/~dbaron/csstest/listbox.html
listbox.html |
Properties of parent elements correctly inherited by inline child elements | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec543.htm
sec543.htm |
Text-decorationcolor consistency across inlines, enabling rich formatting of structured text | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec543.htm
sec543.htm |
Small-caps support | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec524.htm
sec524.htm |
Complete"display" property support | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec43.htm
sec43.htm |
"word-spacing" property support to enable flexible spacing of text | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec541.htm
sec541.htm |
"vertical-align" support | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec544.htm
sec544.htm |
Enforces correct class-selector naming to ensure interoperability with other browsers | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec14.htm
sec14.htm |
Repeating tiling of background images | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec534.htm
sec534.htm |
Full inline elements style control for phrases and words (borders, border-color, etc.) | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec42.htm
sec42.htm |
'auto' values correctly applied to left and right margins | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec412.htm
sec412.htm |
Line-height correctly calculated. | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec44.htm
sec44.htm |
Border width control | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec5515b.htm
sec5515b.htm |
All border styles, including dotted and dashed | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec5517.htm
sec5517.htm |
Disregards invalid selectors to catch bad markup and ensure cross-browser compatibility | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
Checks validity of units to catch bad markup and ensure cross-browser compatibility | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
Disregards invalid keywords to catch bad markup and ensure cross-browser compatibility | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
Enforces correct keyword syntax to catch bad markup and ensure cross-browser compatibility | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
When one declaration in a series of property-value pairs is invalid, correctly parses and enables remaining declarations | Y | Y | Y | N | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
Skips markup in invalid at-rules to make developer aware of errors | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec71.htm
sec71.htm |
Forward-compatible parsing to ensure that CSS1-only browsers can read style sheets containing higher-level features (such as CSS2) | Y | Y | Y | N | Y | n/a |
http://www.fas.harvard.edu/~dbaron/csstest/parsing.html
parsing.html |
Cell borders | Y | Y | Y | Y | Y | n/a |
http://www.w3.org/Style/CSS/Test/current/sec5518.htm
sec5518.htm |
HTML 4.0 is the latest version of the basic markup language that made the World Wide Web possible. This new version provides enhanced support for scripting languages, style sheets, printing, internationalization, and accessibility for users with disabilities. Limited testing shows similar support for HTML 4.0 in Netscape Gecko and IE5 for the Mac, with IE5 for Windows lacking support for proportional width columns.
Relevant Documents
W = Windows, M = Macintosh, L = Linux
Feature | Gecko | IE | "See for Yourself" URL | ||||
W | M | L | W | M | L | ||
OBJECT tag | Y | Y | Y | Y | Y | n/a | |
Style sheets | Y | Y | Y | Y | Y | n/a | |
Multiple class attributes on elements | Y | Y | Y | Y | Y | n/a | http://www.fas.harvard.edu/~dbaron/csstest/twoclass.html |
IFRAME | Y | Y | Y | Y | Y | n/a | |
Forms - Fieldset | Y | Y | Y | Y | Y | n/a |
http://www.mozilla.org/newlayout/testcases/htmlforms/fieldset.html
fieldset.html |
Forms - Legend | Y | Y | Y | Y | Y | n/a |
http://www.mozilla.org/newlayout/testcases/htmlforms/fieldset.html
fieldset.html |
INS, DEL | Y | Y | Y | Y | Y | n/a | |
Table column proportional widths (via COLS) | Y | Y | Y | N | Y | n/a |
http://www.mozilla.org/newlayout/testcases/layout/columnconstraints.html
columnconstraints.html |
Web standards were not designed or intended to be used in isolation from each other, with only piecemeal support of their features, or on specific platforms only. Web standards provide a platform-, vendor-, and device-independent foundation for the next wave of innovation in software, the deployment of rich, fully-featured web applications that will run on any platform or device.
Table 6: Total Power Unleashed by Web Standards Support in Gecko and IE
Feature | Gecko | IE |
Best support for web standards of any browser ever released | Y | N |
Consistent support of web standards across platforms (Windows, Macintosh, and Linux) enables cross-platform, cross-device web content and web applications | Y | N |
Simultaneous releases provide simultaneous access for developers and users across platforms to latest features | Y | N |
Industry-leading support for DOM1 Core enables the creation of sophisticated XML applications with the power of the W3C DOM level 1 | Y | N |
Sufficient standards support to enable development of a wide range of rich XML- and DOM-based web applications without resorting to the use of proprietary vendor APIs | Y | N |
Frees developers from "lock-in" to specific operating systems. | Y | N |
Provides consumers the freedom to choose a wide variety of hardware platforms and obtain full access to the richness of the Web. | Y | N |
Open source license provides investment protection, frees developers from dependence on a vendor for enhancements and bug fixes, and enables the deployment of browser and browser engine across platforms and devices. | Y | N |
Tests were performed using
Copyright 2000