Web browser standards support

来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:29:06
This document will summarize the level of support for standard web technologies by popular web browsers. It deals primarily with the Internet Explorer, Firefox, and Opera web browsers, with focus on the HTML, CSS, DOM, and ECMAScript technologies.
Not all of the standards are displayed here. In particular, some technologies that have consistently good or poor support by all major browsers or are seldom used aren‘t listed. These tables attempt to be as comprehensive as possible.
Pick browsers to display.
Table of Contents
Quick linksAccessibility featuresHow to interpret these tablesHow features are ratedWeb technology standards (summaries)HTMLCSSDOMECMAScriptSummary
About other browsersDisclaimer
Quick links
Up
The following are links to the full tables of information.
HTML supportCSS supportDOM supportECMAScript supportSummary
Accessibility features
Up
Visitors with visual impairments may take advantage of a magnified version or a monochrome version of these documents. In most web browsers, you can select your preferred view by going to the View menu and then Page Style or Style. This mechanism is not supported by Internet Explorer.
How to interpret these tables
Up
Each row corresponds to a feature of the particular web technology standard. In the full pages, the browser support for that feature is indicated by a single letter: Y (yes), N (no), or I (incomplete support). A question mark (?) means that the support for that feature is currently unknown. The values have been colored for readability. Most feature names in the full tables are links to the official standards definitions.
The tables on this page are in summarized form. Instead of Y, N, and I, percentages are listed, showing the estimated percent of features with support. Incomplete support for a feature is calculated as a 50% support. Features with unknown levels of support are ignored. If more than 5% of the data under a particular standard is unknown, it simply lists a question mark. Feature names are links to the corresponding sections of the full tables.
Some feature ratings in the full pages have explanations associated with them, particularly for those with an "I" rating. The explanations are stored in the title attribute of the table cell, which can usually be accessed by user agents with mouse support by hovering the mouse cursor over the table cell. In browsers that support CSS attribute selectors, these rating symbols are marked with an overline.
There are three families of web browsers shown here by default: MSIE, Firefox, and Opera. MSIE includes Microsoft Internet Explorer for Windows, Maxthon, Netscape in "I Trust This Site" or Internet Explorer mode, Avant Browser, AOL Browser, and other browsers that use the Trident rendering engine. (It should be noted that Internet Explorer for the Mac uses a different rendering engine.) Firefox includes Mozilla Firefox, the Mozilla suite, Seamonkey, Netscape in "I‘m Not Sure" or Netscape mode, Camino, Flock, Galeon, Epiphany, and other browsers that use the Gecko rendering engine. For features that are specific to the interface of the browser rather than simply the rendering engine, the named web browser is the browser being tested.
How features are rated
Up
If the browser doesn‘t recognize a given feature or admits that the feature is not yet implemented, and the browser is supposed to do something with the feature, it receives an automatic N. If the browser appears to support a given feature completely with no significantly impairing bugs, the feature receives a Y. In other cases, the feature generally receives an I, often with an explanation attached (see above). For consistency reasons, it will receive an I even if the feature never performs a correct task or always returns an incorrect value, as long as the browser shows that it recognizes the feature and attempts to utilize it.
A Y value can only be given if the feature is supported natively or by a plugin distributed as an official optional component of the web browser. If it requires a plugin not officially endorsed and distributed by the creators of the web browser, it can at best receive an I rating. If the feature requires a plugin, but there is no such plugin that is officially promoted by the creators of the browser, it receives an N. This is done because all major browsers have a variety of third party plugins available to extend the browser‘s standards support, and including them would defeat the purpose of judging the browser itself.
All features are tested with webpages using valid HTML or XHTML markup with strict doctypes and doctype URLs. Some browsers will purposefully implement some features incorrectly when there are errors on the page, particularly when no doctype is used, or whencertain types of doctypes are used. In order to see the following results, make sure that you are using valid strict markup on your webpage. You can check an HTML or XHTML document for validity by using theW3C HTML validator.
Web technology standards
Up HTML
Up
HTML is the primary language that makes up a webpage. It puts together all of the text, images, scripts, and other content.
In most web browsers, you can view this page‘s HTML code by going to the View menu and selecting "Page Source" or "Source".
This table is in summarized form.View the full tables
HTMLFeatureMSIE 6.0Firefox 1.0Firefox 1.5Opera 8.5
HTML 4.01
a82%85%85%94%
abbr0%100%100%75%
acronym88%88%88%75%
address88%88%88%100%
area88%96%96%92%
b88%88%88%100%
base100%100%100%100%
bdo88%88%88%100%
big88%88%88%100%
blockquote90%90%90%100%
body92%92%92%100%
br75%75%75%100%
button79%96%96%96%
caption88%88%88%100%
cite88%88%88%100%
code88%88%88%100%
col64%50%50%50%
colgroup64%50%50%50%
dd88%88%88%100%
del92%92%92%100%
dfn88%88%88%100%
div88%88%88%100%
dl88%88%88%100%
dt88%88%88%100%
em88%88%88%100%
fieldset88%88%88%100%
form92%96%96%100%
frame85%80%85%85%
frameset92%92%92%83%
h188%88%88%100%
h288%88%88%100%
h388%88%88%100%
h488%88%88%100%
h588%88%88%100%
h688%88%88%100%
head67%67%67%67%
hr88%88%88%100%
html100%100%100%100%
i88%88%88%100%
iframe88%88%92%96%
img88%96%96%92%
input87%91%91%78%
ins92%92%92%100%
kbd88%88%88%100%
label69%69%69%100%
legend90%70%90%80%
li88%88%88%100%
link95%95%95%100%
map90%90%90%90%
meta100%100%100%100%
noframes0%88%88%88%
noscript50%88%88%50%
object53%68%71%76%
ol88%88%88%100%
optgroup42%83%83%58%
option44%69%69%56%
p88%88%88%100%
param100%100%100%100%
pre88%88%88%100%
q80%90%90%100%
samp88%88%88%100%
script100%80%80%80%
select92%96%96%83%
small88%88%88%100%
span88%88%88%100%
strong88%88%88%100%
style100%100%100%100%
sub88%88%88%100%
sup88%88%88%100%
table86%86%86%95%
tbody80%80%80%90%
td82%91%91%91%
textarea93%97%97%93%
tfoot80%80%80%90%
th82%91%91%91%
thead80%80%80%90%
title50%50%50%50%
tr80%80%80%90%
tt88%88%88%100%
ul88%88%88%100%
var88%88%88%100%
Core attributes75%88%88%100%
Event attributes100%100%100%100%
Internationalization (i18n) attributes100%100%100%100%
Cell alignment attributes25%25%25%25%
XHTML 1.0 changes
HTML in XML0%100%100%100%
Documents must be well-formed100%100%100%100%
Media types33%100%100%100%
name fragment identifiers are now id100%100%100%100%
XHTML 1.1 changes
rb50%25%25%25%
rbc0%25%25%25%
rp25%25%25%25%
rt83%17%17%17%
rtc0%25%25%25%
ruby75%25%25%25%
CSS
Up
CSS is the primary language for adding presentation elements to a webpage. These presentation elements include colors, fonts, backgrounds, and layout.
The voice properties, which include the Angle, Frequency, and Time units, are accessibility extensions and are not necessarily required for all conforming web browsers.
View this page without CSS
This table is in summarized form.View the full tables
CSSFeatureMSIE 6.0Firefox 1.0Firefox 1.5Opera 8.5
CSS 2.1 Units
Angle0%0%0%0%
Color100%100%100%100%
Counter0%0%100%50%
Frequency0%0%0%0%
Integer100%100%100%100%
Length100%100%100%100%
Number100%100%100%100%
Percentage100%100%100%100%
String0%50%50%100%
Time0%0%0%100%
URI100%100%100%100%
CSS 2.1 Importance
!important50%100%100%100%
CSS 2.1 At-rules
@charset100%100%100%100%
@import50%100%100%100%
@media100%100%100%100%
@page0%0%0%100%
CSS 2.1 Selectors
*50%100%100%100%
E50%100%100%100%
E F100%100%100%100%
E > F0%100%100%100%
E + F0%100%100%100%
[attr]0%100%100%100%
[attr="value"]0%100%100%100%
[attr~="value"]0%100%100%100%
[attr|="value"]0%100%100%100%
.class50%100%100%100%
#id50%100%100%100%
CSS 2.1 Pseudo-classes
:active50%100%100%50%
:first-child0%100%100%100%
:focus0%100%100%100%
:hover50%100%100%50%
:lang(C)0%100%100%100%
:link50%100%100%100%
:visited50%100%100%100%
CSS 2.1 Pseudo-elements
:after0%100%100%100%
:before0%100%100%100%
:first-letter50%100%100%100%
:first-line50%100%100%100%
CSS 2.1 Basic properties
background79%100%100%100%
background-attachment63%100%100%100%
background-color75%100%100%100%
background-image75%100%100%100%
background-position90%100%100%100%
background-repeat83%100%100%100%
border50%100%100%100%
border-bottom50%100%100%100%
border-bottom-color50%100%100%100%
border-bottom-style75%100%100%100%
border-bottom-width75%100%100%100%
border-collapse63%100%100%100%
border-color50%100%100%100%
border-left50%100%100%100%
border-left-color50%100%100%100%
border-left-style75%100%100%100%
border-left-width75%100%100%100%
border-right50%100%100%100%
border-right-color50%100%100%100%
border-right-style75%100%100%100%
border-right-width75%100%100%100%
border-spacing0%100%100%100%
border-style75%100%100%100%
border-top50%100%100%100%
border-top-color50%100%100%100%
border-top-style75%100%100%100%
border-top-width75%100%100%100%
border-width75%100%100%100%
bottom70%100%100%100%
caption-side0%100%100%100%
clear83%100%100%100%
clip0%100%100%100%
color67%100%100%100%
content0%57%90%80%
counter-increment0%0%100%90%
counter-reset0%0%100%90%
cursor95%95%100%88%
direction75%100%100%100%
display31%86%86%89%
empty-cells0%88%88%88%
float70%100%100%100%
font93%100%100%100%
font-family88%100%100%100%
font-size92%100%100%100%
font-style80%100%100%100%
font-variant75%100%100%100%
font-weight93%100%100%100%
height70%100%100%100%
left70%100%100%100%
letter-spacing75%100%100%100%
line-height83%100%100%100%
list-style80%100%100%100%
list-style-image75%100%100%100%
list-style-position75%100%100%100%
list-style-type59%100%100%100%
margin60%100%100%100%
margin-bottom60%100%100%100%
margin-left70%100%100%100%
margin-right70%100%100%100%
margin-top60%100%100%100%
max-height0%100%100%100%
max-width0%100%100%100%
min-height0%100%100%100%
min-width0%100%100%100%
outline0%0%100%100%
outline-color0%0%100%100%
outline-style0%0%100%100%
outline-width0%0%100%100%
overflow75%100%100%100%
padding63%100%100%100%
padding-bottom63%100%100%100%
padding-left75%100%100%100%
padding-right75%100%100%100%
padding-top63%100%100%100%
position67%100%100%100%
quotes0%50%88%63%
right70%100%100%100%
table-layout75%100%100%100%
text-align83%100%100%100%
text-decoration71%100%100%100%
text-indent75%100%100%100%
text-transform83%100%100%100%
top80%100%100%100%
unicode-bidi80%100%100%100%
vertical-align67%100%100%100%
visibility60%90%100%90%
white-space57%71%71%86%
width70%100%100%100%
word-spacing75%100%100%100%
z-index75%100%100%88%
CSS 2.1 Print properties
orphans0%0%0%83%
page-break-after71%71%71%86%
page-break-before71%71%71%86%
page-break-inside0%0%0%100%
widows0%0%0%83%
CSS 2.1 Voice properties
azimuth0%0%0%0%
cue0%0%0%100%
cue-after0%0%0%100%
cue-before0%0%0%100%
elevation0%0%0%0%
pause0%0%0%100%
pause-after0%0%0%100%
pause-before0%0%0%100%
pitch0%0%0%0%
pitch-range0%0%0%0%
play-during0%0%0%0%
richness0%0%0%0%
speak0%0%0%100%
speak-header0%0%0%0%
speak-numeral0%0%0%0%
speak-punctuation0%0%0%0%
speech-rate0%0%0%0%
stress0%0%0%0%
voice-family0%0%0%100%
volume0%0%0%0%
CSS 2.1 Conformance
Conformance43%86%100%100%
CSS 3 Units
Appearance5%5%5%5%
Color91%97%97%96%
Counter0%0%0%0%
ID0%0%0%0%
Target name0%0%0%0%
CSS 3 At-rules
@color-profile0%0%0%0%
@media0%0%0%31%
@page0%0%0%0%
CSS 3 Selectors
E ~ F0%100%100%0%
[attr^="value"]0%100%100%0%
[attr$="value"]0%100%100%0%
[attr*="value"]0%100%100%0%
CSS 3 Pseudo-classes
:root0%100%100%0%
:nth-child(N)0%0%0%0%
:nth-last-child(N)0%0%0%0%
:nth-of-type(N)0%0%0%0%
:nth-last-of-type(N)0%0%0%0%
:last-child0%100%100%0%
:first-of-type0%0%0%0%
:last-of-type0%0%0%0%
:only-child0%0%100%0%
:only-of-type0%0%0%0%
:empty0%100%100%0%
:target0%100%100%0%
:enabled0%0%100%0%
:disabled0%0%100%0%
:checked0%100%100%0%
:indeterminate0%0%0%0%
:contains(C)0%0%0%0%
:not(S)0%100%100%0%
:default0%0%0%0%
:valid0%0%100%0%
:invalid0%0%100%0%
:in-range0%0%100%0%
:out-of-range0%0%100%0%
:required0%0%0%0%
:optional0%0%0%0%
:read-only0%0%0%0%
:read-write0%0%0%0%
CSS 3 Pseudo-elements
::selection0%0%0%0%
::value0%0%0%0%
::choices0%0%0%0%
::repeat-item0%0%0%0%
::repeat-index0%0%0%0%
CSS 3 Basic properties
appearance0%0%0%0%
box-sizing0%0%0%100%
color0%0%0%0%
color-profile0%0%0%0%
content0%0%0%0%
cursor41%3%94%3%
display0%0%0%0%
font50%50%50%50%
icon0%0%0%0%
nav-down0%0%0%0%
nav-index0%0%0%0%
nav-left0%0%0%0%
nav-right0%0%0%0%
nav-up0%0%0%0%
opacity0%100%100%0%
outline-offset0%0%100%0%
rendering-intent0%0%0%0%
resize0%0%0%0%
ruby-align0%0%0%0%
ruby-overhang0%0%0%0%
ruby-position0%0%0%0%
ruby-span0%0%0%0%
CSS 3 Print properties
image-orientation0%0%0%0%
page0%0%0%0%
page-policy0%0%0%0%
size (@page)0%0%0%0%
DOM
Up
DOM is a model that allows scripting languages to handle browser input and output and manipulate information on webpages. This is essential for high-end web applications.
This table is in summarized form.View the full tables
DOMFeatureMSIE 6.0Firefox 1.0Opera 8.5
DOM Level 3 Core
Interface DOMStringList0%0%100%
Interface NameList0%0%0%
Interface DOMImplementationList0%0%0%
Interface DOMImplementationSource0%0%0%
Interface DOMImplementation40%80%70%
Interface DocumentFragment100%100%100%
Interface Document34%80%55%
Interface Node53%91%70%
Interface NodeList100%100%100%
Interface NamedNodeMap61%100%100%
Interface CharacterData100%100%100%
Interface Attr50%64%64%
Interface Element33%76%79%
Interface Text40%40%40%
Interface Comment100%100%100%
Interface TypeInfo0%0%0%
Interface UserDataHandler0%0%0%
Interface DOMError0%0%0%
Interface DOMErrorHandler0%0%0%
Interface DOMLocator0%0%0%
Interface DOMConfiguration0%0%70%
Interface CDATASection0%100%100%
Interface DocumentType0%86%86%
Interface Notation0%0%0%
Interface Entity0%0%0%
Interface EntityReference0%0%0%
Interface ProcessingInstruction0%0%0%
DOM Level 2 Events
Interface EventTarget0%88%100%
Interface EventListener50%50%50%
Interface Event18%100%100%
Interface DocumentEvent0%100%100%
Interface UIEvent0%88%88%
Interface MouseEvent81%100%100%
Interface MutationEvent0%100%100%
HTML event types83%96%92%
DOM Level 2 HTML
Interface HTMLCollection100%100%100%
Interface HTMLOptionsCollection75%100%50%
Interface HTMLDocument85%100%97%
Interface HTMLElement100%100%100%
Interface HTMLHtmlElement100%100%100%
Interface HTMLHeadElement75%100%100%
Interface HTMLLinkElement90%100%100%
Interface HTMLTitleElement100%100%100%
Interface HTMLMetaElement100%100%100%
Interface HTMLBaseElement83%100%100%
Interface HTMLIsIndexElement0%100%100%
Interface HTMLStyleElement100%88%88%
Interface HTMLBodyElement93%100%100%
Interface HTMLFormElement95%95%100%
Interface HTMLSelectElement97%100%100%
Interface HTMLOptGroupElement100%100%100%
Interface HTMLOptionElement100%100%100%
Interface HTMLInputElement93%96%100%
Interface HTMLTextAreaElement100%100%100%
Interface HTMLButtonElement94%100%100%
Interface HTMLLabelElement100%100%100%
Interface HTMLFieldSetElement100%100%100%
Interface HTMLLegendElement75%100%100%
Interface HTMLUListElement100%100%83%
Interface HTMLOListElement100%100%100%
Interface HTMLDListElement100%100%100%
Interface HTMLDirectoryElement100%100%100%
Interface HTMLMenuElement100%100%100%
Interface HTMLLIElement100%100%100%
Interface HTMLDivElement100%100%100%
Interface HTMLParagraphElement100%100%100%
Interface HTMLHeadingElement100%100%100%
Interface HTMLQuoteElement75%100%100%
Interface HTMLPreElement100%100%100%
Interface HTMLBRElement100%100%100%
Interface HTMLBaseFontElement100%100%100%
Interface HTMLFontElement100%100%100%
Interface HTMLHRElement100%100%100%
Interface HTMLModElement83%83%100%
Interface HTMLAnchorElement97%97%100%
Interface HTMLImageElement92%96%100%
Interface HTMLObjectElement88%98%98%
Interface HTMLParamElement80%100%100%
Interface HTMLAppletElement92%100%100%
Interface HTMLMapElement100%100%100%
Interface HTMLAreaElement94%100%100%
Interface HTMLScriptElement94%100%94%
Interface HTMLTableElement100%100%100%
Interface HTMLTableCaptionElement100%100%100%
Interface HTMLTableColElement86%100%100%
Interface HTMLTableSectionElement88%100%100%
Interface HTMLTableRowElement91%100%100%
Interface HTMLTableCellElement91%100%100%
Interface HTMLFrameSetElement100%100%100%
Interface HTMLFrameElement80%100%100%
Interface HTMLIFrameElement83%96%96%
DOM Level 3 Load and Save
Interface DOMImplementationLS0%0%100%
Interface LSParser0%0%94%
Interface LSInput0%0%100%
Interface LSResourceResolver0%0%0%
Interface LSParserFilter0%0%25%
Interface LSProgressEvent0%0%0%
Interface LSLoadEvent0%0%0%
Interface LSSerializer0%0%93%
Interface LSOutput0%0%100%
Interface LSSerializerFilter0%0%50%
DOM Level 2 Style
Interface StyleSheet75%100%0%
Interface StyleSheetList100%100%0%
Interface MediaList0%100%0%
Interface LinkStyle0%100%0%
Interface DocumentStyle100%100%0%
Interface CSSStyleSheet0%90%0%
Interface CSSRuleList0%100%0%
Interface CSSRule0%100%0%
Interface CSSStyleRule0%100%0%
Interface CSSMediaRule0%100%0%
Interface CSSFontFaceRule0%0%0%
Interface CSSPageRule0%0%0%
Interface CSSImportRule0%88%0%
Interface CSSCharsetRule0%100%0%
Interface CSSUnknownRule0%0%0%
Interface CSSStyleDeclaration20%95%60%
Interface CSSValue0%0%0%
Interface CSSPrimitiveValue0%0%0%
Interface CSSValueList0%0%0%
Interface RGBColor0%0%0%
Interface Rect0%0%0%
Interface Counter0%0%0%
Interface ViewCSS0%75%75%
Interface DocumentCSS0%0%0%
Interface DOMImplementationCSS0%0%0%
Interface ElementCSSInlineStyle100%100%100%
Interface CSS2Properties64%100%90%
DOM Level 2 Traversal and Range
Interface NodeIterator0%0%88%
Interface NodeFilter0%100%100%
Interface TreeWalker0%69%100%
Interface DocumentTraversal0%67%100%
Interface Range0%100%100%
Interface DocumentRange0%100%100%
DOM Level 3 Validation
Interface DocumentEditVAL0%0%0%
Interface NodeEditVAL0%0%0%
Interface ElementEditVAL0%0%0%
Interface CharacterDataEditVAL0%0%0%
DOM Level 2 Views
Interface AbstractView100%100%100%
Interface DocumentView0%100%100%
ECMAScript
Up
ECMAScript is a language used to access and work with the DOM. It was developed as a standardized replacement for JavaScript and JScript.
This table is in summarized form.View the full tables
ECMAScriptFeatureMSIE 6.0Firefox 1.0Firefox 1.5Opera 8.5
Language constructs
Types100%100%100%100%
Basic expressions100%100%100%100%
Unary expressions100%100%100%100%
Math expressions100%100%100%100%
Relational expressions100%100%100%100%
Binary expressions100%100%100%100%
Assignment expressions100%100%100%100%
Statements100%100%100%94%
Objects
Global100%100%100%100%
Object100%100%100%100%
Function100%100%100%100%
Array100%100%100%100%
String100%100%100%100%
Boolean100%100%100%100%
Number100%100%100%100%
Math100%100%100%100%
Date100%100%100%100%
RegExp100%100%100%100%
Error100%100%100%100%
Summary
Up
A brief summary of the information on this page is available here:Summary
About other browsers
Up
I am currently in the process of testing other browsers and versions, including Safari and Konqueror. I do not yet have estimated dates for when this information will be available.
Other web browsers may be considered for future inclusion. If you would like to suggest a web browser or help collect data for any web browser not shown here, please post the relevant information in thediscussion forums.
Disclaimer
Up
Most of the above information comes from testing and research conducted by one person. It is possible that these tables contain errors. If you wish to correct an error or otherwise contribute to this information, please e-mail me atnanobot@gmail.com or visit thediscussion forums. Contributions are highly appreciated.
This article was written byDavid Hammond. It may be copied and distributed freely as long as it remains unaltered from its original form. See the license for details.
This work is copyright ?2005 David Hammond and is licensed under aCreative Commons License.
Icons used here were adapted from the Crystal icon theme, copyright ?2004 Everaldo and licensed underLGPL.