This document is a summary of the content in the web browser standards support resource. Please refer to that page for information about how this data was collected and how to use it.
The following is a brief summary of all of the standards and maturing technologies covered by this resource. Values are weighted based on the number of features in the next level of detail. Percentages are rounded, while a “Y” indicates perfect support. More information.
Some technologies are, in practice, more important than others, although that is not reflected in this summary. Percentages only concern the features tested by this resource. This includes every normative non-deprecated element, attribute, property, property value, DOM attribute, and DOM method in the corresponding specifications.
Understand this page before you link to it or quote it: These percentages are derived from the feature-by-feature testing in the HTML, CSS, DOM, and ECMAScript support tables. Every feature with bugs is treated equally in the calculation, regardless of the subjective real-world severity or number of perceivably distinct bugs with that particular feature. These tables attempt to detail every case in which the browser conflicts with the standard, so some of these bugs that have relatively little real-world severity, such as the handling of some illegal CSS property values, are calculated with the same significance as nearly unsupported values. Doing otherwise would introduce subjectivity and bias, which this resource attempts to avoid. As a result, these percentages should only be regarded as general ballpark figures.
Technology | IE 6 | IE 7 | IE 8 | Firefox 3 | Opera 9 | Konqueror 3.5 |
---|---|---|---|---|---|---|
HTML / XHTML | ||||||
HTML 4.01 | 80% | 81% | ? | 92% | 86% | ? |
XHTML 1.0 changes | 17% | 17% | ? | 92% | 92% | ? |
XHTML 1.1 changes | N | N | ? | 63% | 58% | ? |
CSS 2.1 | ||||||
CSS 2.1 Units | 96% | 96% | Y | Y | 97% | 99% |
CSS 2.1 Importance | I | I | Y | Y | Y | Y |
CSS 2.1 At-rules | 21% | 21% | Y | 43% | Y | 29% |
CSS 2.1 Basic selectors | 23% | 59% | Y | 86% | 77% | 77% |
CSS 2.1 Pseudo-classes | 29% | 36% | 86% | Y | 93% | 64% |
CSS 2.1 Pseudo-elements | 25% | 25% | Y | 63% | 63% | 88% |
CSS 2.1 Basic properties | 55% | 58% | 99% | 99% | 97% | ? |
CSS 2.1 Print properties | 46% | 46% | Y | 33% | Y | 33% |
CSS 2.1 Conformance | 43% | 43% | Y | Y | 86% | 57% |
CSS 3 changes | ||||||
CSS 3 Units | 75% | 75% | ? | 82% | 79% | ? |
CSS 3 At-rules | N | N | ? | N | 26% | ? |
CSS 3 Basic selectors | N | 50% | ? | 63% | 63% | ? |
CSS 3 Pseudo-classes | N | N | ? | 30% | 20% | ? |
CSS 3 Pseudo-elements | N | N | ? | N | N | ? |
CSS 3 Basic properties | 14% | 14% | ? | 19% | 5% | ? |
CSS 3 Print properties | N | N | ? | N | N | ? |
DOM | ||||||
DOM Level 3 Core | 31% | 31% | ? | ? | 66% | ? |
DOM Level 2 Events | 47% | 47% | ? | ≈100% | Y | ? |
DOM Level 2 HTML | 89% | 89% | ? | Y | ≈100% | ? |
DOM Level 3 Load and Save | N | N | ? | ? | 71% | ? |
DOM Level 2 Style | 31% | 31% | ? | ? | 77% | ? |
DOM Level 2 Traversal and Range | N | N | ? | ? | Y | ? |
DOM Level 3 Validation | N | N | ? | ? | N | ? |
DOM Level 2 Views | 38% | 38% | ? | Y | Y | ? |
ECMAScript | ||||||
Language constructs | 99% | 99% | ? | Y | Y | Y |
Objects | ≈100% | ≈100% | ? | Y | Y | 98% |
Total | ||||||
HTML / XHTML | 73% | 73% | ? | 90% | 85% | ? |
CSS 2.1 | 51% | 57% | 99% | 93% | 94% | ? |
CSS 3 changes | 10% | 13% | ? | 27% | 19% | ? |
DOM | 50% | 51% | ? | ? | 84% | ? |
ECMAScript | 99% | 99% | ? | Y | Y | 99% |
World Wide Web Consortium specifications are included in this resource once they have reached the Candidate Recommendation (CR) status for the first time. Some of the technologies detailed here, such as the changes in CSS 2.1 over CSS 2 and the included sections of CSS 3, are still at this stage or have been regressed from CR status. This means that these technologies are not yet technically considered web standards and it is incorrect for these new features to be used on webpages. The CR stage is when web browsers are expected to begin implementing support for the relevant features. After the specification is implemented by a predetermined number of user agents, it moves on to Proposed Recommendation status and eventually becomes a Recommendation. It isn't until a specification reaches this Recommendation stage that it is technically considered a web standard. For more information, see Advancing a Technical Report to Recommendation.
Although HTML is the base language on which webpages are constructed, CSS tends to be given the most attention in modern practical web design. There are relatively very few problems developers have with HTML, and they are usually very easy to work around. On the other hand, considerable attention is given to CSS and the many bugs and quirks developers experience in different browsers. Web professionals most often refer to CSS as the area they would most like to see improve in less compliant browsers.
Web professionals generally consider it best practice to provide graceful fallbacks for client-side scripting such as with ECMAScript and DOM. These technologies also make it easy to write workarounds and fallbacks for unsupported features. Because of this and other factors, there is relatively little pressure from web developers for improved DOM support in many areas. This is expected to change as CSS gains better support.
The figures in the table above may change over time as more bugs and inconsistencies with the standards are documented. For information about what has been changed and when, see the changelog.