Comparison of browser engines (HTML support)
This article compares HTML support by several browser engines.
HTML |
---|
Comparisons |
|
Support for the many new additions of the current HTML5 standard is in its own section after the items that preceded it in the history of HTML.
Explanation of the tables
Engine | Status | Embedded in |
---|---|---|
WebKit | Active | Safari browser, plus all browsers hosted on the iOS App Store. |
Blink | Active | Google Chrome and other web browsers based on Chromium, such as Microsoft Edge, Opera, and Brave. |
EdgeHTML | Active | Universal Windows Platform apps; formerly in the Edge browser[1]. |
Gecko | Active | Firefox browser and Thunderbird email client, plus forks like SeaMonkey and Waterfox. |
KHTML | Discontinued | Konqueror browser |
Presto | Discontinued | Formerly used as Opera's browser engine, prior to the migration to Chromium and Blink. |
Trident | Discontinued | Internet Explorer and versions of Microsoft Outlook prior to Outlook 2007. |
Values
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
Value | Meaning |
---|---|
Yes | Fully supported |
No | Has never been supported |
Partial | Only some values are supported |
Incorrect | Not implemented correctly in all cases |
Experimental | May be incomplete or buggy |
Nightly build | Currently in development; full support is expected |
Depends | Only supported for the specified conditions |
Dropped | No longer supported |
Prior to HTML5
Global structure elements
The global structure of the document.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Basic structure | |||||
html | <3.1[IE 5.0] | Yes | Yes | Yes | 1.0 |
head | <3.1[IE 4.0] | ||||
body | |||||
Metadata | |||||
title | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
meta | |||||
Headings | |||||
h1 | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
h2 | |||||
h3 | |||||
h4 | |||||
h5 | |||||
h6 | |||||
Grouping elements | |||||
div | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
span |
Text elements
Elements that represent text.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Phrase | |||||
em | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
strong | |||||
dfn | |||||
code | |||||
samp | |||||
kbd | |||||
var | |||||
cite | |||||
acronym | |||||
abbr | 3.1 | ||||
Quotations | |||||
blockquote | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
q | 4.0 | 1.8[note 1] | |||
Subscripts and superscripts | |||||
sub | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
sup | |||||
Lines and paragraphs | |||||
p | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
pre | |||||
br | <3.1[IE 5.0] | ||||
Marking document changes | |||||
ins | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
del |
List elements
Elements that represent lists of information.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Unordered and ordered lists | |||||
ul | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
ol | |||||
li | |||||
Definition lists | |||||
dl | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
dt | |||||
dd |
Table elements
Elements that represent tabular information.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Basic table elements | |||||
table | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
caption | |||||
tr | |||||
th | |||||
td | |||||
Row groups | |||||
thead | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
tbody | |||||
tfoot | |||||
Column groups | |||||
colgroup | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
col |
Link elements
Hyperlinks, one of the primary forces driving the success of the World Wide Web.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
a | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
link | |||||
base |
Multimedia elements
Multimedia features including images, applets, video clips, and other HTML documents.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Images | |||||
img | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
Generic inclusion | |||||
object | 4.0[note 2] | 1.0 | Yes | Yes | 1.0 |
param | <3.1[IE 6.0] | ||||
Image maps | |||||
map | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
area | 5.0 |
Frame elements
Elements to present documents in multiple views, which may be independent windows or subwindows. Frame layout is only available in the frameset profiles. All frames are not available in XHTML 1.1 (use generic object elements instead for inline frames).
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Frame layout | |||||
frameset | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
frame | |||||
noframes | |||||
Inline frames | |||||
iframe | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
Form elements
The user interface controls for interacting with the web server.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Basic structure | |||||
form | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
fieldset | |||||
legend | |||||
Form controls and labels | |||||
button | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
textarea | <3.1[IE 4.0] | ||||
input | |||||
label | 3.4.2[note 4] | ||||
List boxes (combo boxes) | |||||
select | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
optgroup | |||||
option |
Presentational elements
Elements that specify presentational information. Although not all elements are deprecated, their use is discouraged in favor of stylesheets. Deprecated elements are not available in the strict profiles and XHTML 1.1.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Font styles | |||||
b | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
i | |||||
big | |||||
small | |||||
tt | |||||
Horizontal rules | |||||
hr | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
Stylesheet elements
The ways to apply stylesheets (CSS) to the document.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
<link rel="style" … /> |
<3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
style |
6.0[note 5] |
Script elements
Elements for embedding client-side script (JavaScript). See also DOM Events for a list of attributes used to attach an event handler to an element.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
script | <3.1[IE 5.0] | 1.0 | Yes | Yes | 1.0 |
noscript | Incorrect[note 6] |
Language elements
Elements related to language information.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
bdo | <3.1[IE 5.0] | 1.0 | Yes | Partial[note 7] | 1.0 |
Generic attributes
Attributes that can be used in any elements.
Trident | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
Element identifiers | |||||
id | <3.1[IE 3.0] | 1.0 | Yes | Yes | 1.0 |
class | |||||
Inline styles | |||||
style | <3.1[IE 3.0] | 1.0 | Yes | Yes | 1.0 |
Advisory information | |||||
title | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
Language information | |||||
lang | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
dir | <3.1[IE 5.0] |
Non-standard items
In the early years of the Web, the standards which today are used in most web browsers and web pages were mostly non-existent. Different browsers and HTML editors were being offered by competing vendors such as Netscape and Microsoft, who had competing ideas for how web sites should be constructed. These varying features resulted in web developers coding for specific web browsers, using elements which could often be recognized by only one browser.
These tables list browser engine support for non-standard HTML items.
Element | Function | Supported first by | Deprecated in HTML version | Alternative solution | Trident | Gecko | WebKit | KHTML | Presto |
---|---|---|---|---|---|---|---|---|---|
applet | Insert an applet | HotJava | 4[7] | embed , object |
<3.1[IE 4.0] | 1.7 | Yes | Yes | 1.0 |
basefont | Sets font styles | Internet Explorer | 4 | CSS | <3.1[IE 3.0] | No[8] | 85 | Yes | |
center | Centers contents | Netscape[9] | 4 | CSS | 3.1 | Yes | Yes | ||
dir | Directory list | ? | 4 | ul , ol | |||||
font | Applies font styles | Netscape | 4 | CSS | |||||
isindex [10] | Adds a search field | ? | 4 | input type="search" |
<3.1[IE 5.5] | 1.7 | 312 | Partial | |
listing | Displays preformatted text | IETF | 2 | pre , samp , code , CSS |
3.1 | 125 | 3.3 | Yes | |
menu | Menu list | ? | 4 | ul , ol |
Yes | Yes | Yes | ||
plaintext | Designates that all HTML be ignored, and to display the page as is | ? | 3.2 | The text/plain MIME type | |||||
s | Strike-through | ? | 4 | del , CSS |
<3.1[IE 4.0] | 1.7 | 1.0 | ||
strike | Strike-through | ? | 4 | del , CSS | |||||
u | Underline | ? | 4 | CSS | |||||
xmp | Similar to pre and plaintext , but ignores all HTML within and displays as is | ? | 2 | pre , samp , code |
<3.1[IE 3.0] | 125 | 3.3 | ||
Attribute | Element | Alternative solution | Trident | Gecko | WebKit | KHTML | Presto |
---|---|---|---|---|---|---|---|
align | caption , div , fieldset , h1 , h2 , h3 , h4 , h5 , h6 , hr , img , input , legend , p , object , table | CSS | 3.1 | Yes | Yes | Yes | Yes |
alink | body | CSS | No | ||||
background | body | CSS | Yes | ||||
bgcolor | body , table , tr , td , th | CSS | |||||
border | img , object | CSS | Partial[note 8] | ||||
clear | br | CSS | No | ||||
compact | dl , ul , ol | CSS | No | No | |||
color | basefont , font | CSS | 3.1 | Partial[note 9][8] | Partial[note 9] | ||
height | td , th | CSS | Yes | Yes | |||
hspace | img , object | CSS | |||||
language | script | The type attribute |
No | ||||
link | body | CSS | Yes | ||||
noshade | hr | CSS | |||||
nowrap | td , th | CSS | |||||
size | basefont , font , hr | CSS | |||||
start | ol | None | |||||
text | body | CSS | |||||
type | li , ul , ol | CSS | |||||
version | html | DTD | No | No | No | No | No |
vlink | body | CSS | Yes | Yes | Yes | Yes | Yes |
width | hr , pre , td , th | CSS | |||||
vspace | img , object | CSS | |||||
Tag | Function | Introduced by | Alternative solution | Trident | Gecko | WebKit | KHTML | Presto |
---|---|---|---|---|---|---|---|---|
bgsound | Used to add sound to the background of a website | Internet Explorer | audio |
<3.1[IE 3.0] | No | No | No | Dropped[11] |
blink | Used to display a blinking text | Netscape | Javascript, CSS | No | Dropped[12] | Yes | No | 1.0 |
bq | Used to display a blockquote | WebTV, HTML 3.0 | blockquote |
No | No | No | No | Dropped[13] |
comment | Used to allow the addition of comments to HTML documents | Internet Explorer, WebTV | <!-- ... --> |
3.1 | No | No | No | No |
ilayer | Inline layers | Netscape (4 only) | iframe |
No | No | No | Partial | No |
image | Synonym of img | ? | img |
3.1 | Yes | Yes | Yes | Yes |
layer | Used to create multiple layers of text and images which lay on top of each other in a given order | Netscape (4 only) | CSS, AJAX | No | No | No | Partial | No |
marquee | Used to display a scrolling, marquee-like text. | Internet Explorer, WebTV | JavaScript, CSS3 | 3.1 | 1.7 | 125 | 3.3 | 1.0 |
nobr | Prevents any line breaks from occurring within the flow of a text | Netscape[14][15] | CSS | 3.1 | Yes | Yes | Yes | Yes |
noembed | Displays an alternative text for browsers which do not recognize the embed tag | Netscape | Child elements of object used as fallback | |||||
spacer | Adds whitespace in a layout | Netscape | CSS | No | Dropped[16] | No | No | No |
wbr | Placed inside a nobr element to add a line break | Netscape[14][15] | Unicode character zero-width space (U+200B) | Dropped[note 10] | 1.7 | Yes | 3.1 | No |
xml [18] | Includes XML data, either inline or from an URL, in an HTML page | Internet Explorer | AJAX, possibly XML namespaces | 3.1 | No | No | No | No |
Attribute | Deprecated for | Function | Supported first by | Trident | Gecko | WebKit | KHTML | Presto |
---|---|---|---|---|---|---|---|---|
bgproperties | body | Determines whether background image scrolls with the background | Internet Explorer | 3.1 | No | Yes | Yes | No |
bordercolor | body | Sets colors for 3-D table borders in the table , td , th , and tr elements | Internet Explorer | No | Yes | Yes | No | |
bordercolordark | body | Sets colors for 3-D table borders in the table , td , th , and tr elements | Internet Explorer | No | No | No | No | |
bordercolorlight | body | Sets colors for 3-D table borders in the table , td , th , and tr elements | Internet Explorer | |||||
controls | img | Uses the img element to place video or audio clips | Internet Explorer | No | No | No | No | |
dynsrc | img | Uses the img element to place video or audio clips | Internet Explorer | No | No | No | No | |
event | script | Defines function to call for an object. | Internet Explorer | Partial | ? | ? | ? | |
for | script | Defines the object to bind a scripting event. | Internet Explorer | Partial | ? | ? | ? | |
frame | table | Controls the display of the outer borders of a table in the table tag | Internet Explorer | Yes | ? | Yes | No | |
framespacing | frameset | Sets the amount of space between frames | Internet Explorer | ? | ? | No | No | |
leftmargin | body | Sets the margin between the browser window and the contents of the page | Internet Explorer | 3.1 | ? | ? | Yes | No |
loop | img | Uses the img element to place video or audio clips | Internet Explorer | No | No | No | No | |
rightmargin | body | Sets the margin between the browser window and the contents of the page | Internet Explorer | 3.1 | ? | ? | No | No |
start | img | Uses the img element to place video or audio clips | Internet Explorer | No | No | No | No | |
target | form | Specifies a target window or frame for the output of a form | Internet Explorer | No[19] | ? | Yes | No | |
valign | caption | Sets vertical alignment of table caption | Internet Explorer | 3.1 | ? | ? | No | No |
HTML5
Trident | EdgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
section |
5.0[t 1] | 12 | 2.0[g 1][g 2] | 533[w 1][w 2][w 3][w 4][w 5] | 2.7.70 |
nav | |||||
article | |||||
aside | |||||
hgroup | |||||
header | |||||
footer | |||||
ping |
No | No | Disabled | Yes | No |
time |
No | No | 22.0[g 3] | No | 2.8.146 |
mark |
5.0[t 1] | 12 | 2.0[g 4] | Yes[w 7] | 2.7.70 |
ruby ,[20] rt , rp |
3.1[t 2] | 12 | 38.0[g 5] | 533[w 8][w 9] | No |
dialog [21] |
No | No | No[g 6] | Only in Chrome[w 10] | No |
figure |
5.0[t 1] | 12 | 2.0[g 7] | Yes[w 11] | 2.7.70 |
figcaption | |||||
embed |
<3.1[IE 3.0] | 12 | 1.7 | 85 | 1.0 |
video |
5.0 (Partial)[t 3][t 4] | 12 | 15.0[g 8] | 525 | 2.5[lower-alpha 1][lower-alpha 2] |
audio | |||||
source | |||||
canvas |
Partial | 1.9.2[g 9] | Partial | 2.0[p 4] | |
Inline MathML | No | No | 2.0 | No[w 12][w 13] | 2.1[lower-alpha 3] |
Inline SVG | 5.0[t 3] | 12 | Yes[w 14] | 2.9.220[p 6] | |
details |
No | No | 47[g 10] | Yes[w 15] | No |
summary |
Yes[w 15] | ||||
command |
No[g 11] | No | |||
menu |
8.0[g 12] | No[w 16] | 2.8[p 7] | ||
bdi |
10.0[g 13] | 528[w 17] | No | ||
data |
No | No | 22.0[g 14] | No | No |
picture |
No | 13 | 38.0[g 15] | No[w 18] | No |
Trident | EdgeHTML | Gecko | WebKit | Presto |
Element-specific attributes
Attribute | Element | Trident | EdgeHTML | Gecko | WebKit | Presto |
---|---|---|---|---|---|---|
manifest |
html |
6.0[22] | 12 | 1.9 | Yes | 2.6[p 8][p 9] |
sizes |
link |
No | 13 | 8.0 (only mobile)[g 16][g 17] | Yes[w 19] | No |
charset |
meta |
4.0[23] | 12 | 1.9.2 | Yes | 2.5.24 |
scoped |
style |
No | No | 21.0[g 18] | No[w 20] | No |
async |
script |
6.0 | 12 | 1.9.2[g 19] | Yes[w 21] | |
reversed |
ol |
No | No | 18.0[g 20] | Yes[w 22] | |
download |
a,area |
No | 13 | 20.0[g 21] | Yes | |
sandbox |
iframe |
6.0[t 5] | 12 | 17.0[g 22] | 533[w 23] | |
seamless |
iframe |
No | No | No[g 23] | No[w 24] | |
Attribute | Element | Trident | EdgeHTML | Gecko | WebKit | Presto |
Global attributes
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
translate [24] |
No | |||
Datasets (data-* ) |
No | 6.0[g 24] | Yes[w 25] | 2.8[p 10] |
contextmenu |
8.0[g 25] | No[w 16] | No | |
hidden |
2.0[g 26] | Yes[w 26] | 2.7.70 | |
contenteditable [25] |
<3.1[IE 5.5] | 1.9 | Yes | 2.0 |
spellcheck [26] |
6.0 | 1.8[g 27] | Incorrect[w 27] | 2.8[p 11] |
draggable |
1.9.1[g 28] | 533[w 28] | 2.10.270 | |
dropzone |
No | No[g 29] | Yes | 2.10.270 |
Trident | Gecko | WebKit | Presto |
Form elements and attributes
Many of these features can be emulated with third-party libraries.
Trident | Gecko[g 30] | WebKit[w 29] | Presto[p 12] | |
---|---|---|---|---|
Attributes | ||||
autocomplete |
3.1 | Yes | Yes | 2.0 |
list |
6.0[t 6] | 2.0[g 31] | Yes[w 30] | |
required |
6.0[t 7] | 2.0[g 32] | 528[lower-alpha 4][w 31] | |
multiple |
6.0[t 8] | 1.9.2[lower-alpha 5][g 33] | 526[lower-alpha 5][w 32] | 2.7[p 13] |
pattern |
6.0[t 9] | 2.0[g 34] | 528[lower-alpha 4][w 33][w 31] | 2.0 |
min , max |
6.0[t 10][t 11] | 16.0[g 35][g 36] | Yes[w 34] | |
step |
6.0[t 12] | 16.0[g 37] | 528[w 35] | |
placeholder |
6.0[t 13] | 2.0[g 38] | Yes | 2.7[p 13] |
form |
No | 2.0[g 39] | Yes[w 36] | 2.0 |
autofocus |
6.0[t 14] | 2.0[g 40] | 528[w 37] | |
maxlength |
6.0[t 15] | 2.0[g 41] | 528[w 38] | |
novalidate |
6.0[t 16] | 2.0[g 42] | 528[w 39] | 2.8[p 11] |
control |
No | 2.0[g 43] | No | No |
accept |
No | 2.0[g 44] | Yes[w 40] | Yes |
formtarget |
6.0[t 17] | 2.0[g 45] | Yes[w 41] | 2.8[p 11] |
formaction |
6.0[t 18] | 2.0[g 46] | Yes[w 41] | 2.8[p 11] |
formmethod |
6.0[t 19] | 2.0[g 47] | Yes[w 41] | 2.8[p 11] |
formenctype |
6.0[t 20] | 2.0[g 47] | Yes[w 41] | 2.8[p 11] |
formnovalidate |
6.0[t 21] | 2.0[g 48] | 528[w 39] | 2.8[p 11] |
disabled (fieldset element) |
<3.1 | 2.0 | No | 2.7 |
Elements | ||||
datalist |
6.0[t 22] | 2.0[g 49] | Yes[w 42] | 2.0 |
keygen [27] |
No[t 23] | 1.0[g 50] | 125 | 1.0 |
output |
No | 2.0[g 51] | Yes[w 43] | 2.0 |
progress |
6.0[t 24] | 6.0[g 52] | Yes[w 44] | 2.7[p 13] |
meter |
No | 16.0[g 53] | Yes[w 45] | |
Input types | ||||
search |
6.0[t 25] | 2.0[g 54] | 312[w 46] | 2.7[p 13] |
tel |
6.0[t 26] | 2.0[g 55] | 528[w 47] | |
url |
6.0[t 27] | 2.0[g 56] | 528[w 47] | 2.0 |
email |
6.0[t 28] | 2.0[g 57] | 528[w 47] | |
datetime |
No | No[g 58] | No[w 48][w 49] | |
date |
No | Yes | ||
month |
No | |||
week |
No | |||
time |
No | |||
datetime-local |
No | |||
number |
6.0[t 29] | 29.0[g 59] | 528[w 47] | |
range |
6.0[t 30] | 23.0[g 60] | Yes | |
color |
No | 29.0[g 61] | Yes[w 50] | 2.7[p 13] |
Trident | Gecko | WebKit | Presto |
APIs
Trident | EdgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
getElementsByClassName [28] |
5.0[t 31] | 12 | 1.9[g 62] | 525 | 2.1 |
registerProtocolHandler |
No | No | 1.9[lower-alpha 6] | Yes[w 51] | 2.10[p 14] |
registerContentHandler |
1.8[lower-alpha 7] | ||||
Cross-document messaging | 4.0 | 12 | 1.9[g 65] | Yes | 2.0 |
Drag-and-drop | 6.0 | 12 | 1.9.1[g 28] | Yes | 2.10.270[p 15] |
pushState() and replaceState() |
6.0[t 32] | 12 | 2.0[g 66] | 528[w 52] | 2.9[p 16] |
Trident | EdgeHTML | Gecko | WebKit | Presto |
Other features
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
Microdata | No | 16.0[g 67] | No[w 53] | Yes[p 17] |
HTML5 Tokenizer | 6.0[t 33] | 2.0[g 68] | Yes[w 54] | 2.10[p 18] |
HTML5 Tree Builder | Yes[w 14] | |||
HTML5 Fragment Parser | Yes | |||
<a rel="noreferrer"> |
No | 33.0[g 69] | Yes[w 55] | No |
window.onhashchange |
4.0[t 34] | 1.9.2[g 70] | 528[w 56] | 2.6[p 19] |
element.classList |
No | 1.9.2[g 71] | Yes[w 57] | 2.8[p 11] |
dir="auto" |
No | 20.0[g 72] | 528+[w 58] | No |
Trident | Gecko | WebKit | Presto |
Next-generation additions
The WHATWG version of HTML also includes additional features that are not technically HTML5, which are described as "next-generation additions still in development" in the specification.[29]
Trident | EdgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
<track> |
6.0[t 35] | 12 | |||
<a ping> |
No | No | Depends[g 73][lower-alpha 8] | Depends[w 59][lower-alpha 9] |
Related specifications
Trident | EdgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
main element[30] |
No | 12 | 21.0[g 76] | Yes[w 60] | No |
template element[31] |
No | 13 | No | Yes[w 61] | No |
Selectors API[32] | 4.0[t 36] | 12 | 1.9.1[g 77] | 525[w 62] | 2.2[p 20] |
Web Storage[33] | 4.0 | 12 | 1.9.1[g 78] | 525 | 2.5[p 21] |
Indexed Database API[34] | 5.0[t 37] | 12 | 16.0[g 79] | Partial | No |
Web SQL Database (obsolete)[35] | No | No | No[g 80] | Yes[w 63] | 2.5[p 21] |
File API[36] | 5.0 | 12 | Yes[g 81] | Yes[w 64][w 65] | 2.8[p 22] |
File API: Writer[37] | 5.0 | No | No[g 82] | Partial[w 66] | No |
File API: Directories and System[38] | No | No | No[g 83] | Yes[w 67] | |
Media Capture API[39] | 2.0[lower-alpha 10] | No | 2.10[p 23] | ||
Server-sent events[40] | 6.0[g 85] | Yes[w 68] | 2.7[p 24][p 25] | ||
WebSocket[41] | 6.0[t 38] | 12 | 11.0[g 86] | 533 | 2.11[lower-alpha 11] |
Web Workers[42][43] | 6.0[t 39] | 12 | 1.9.1[g 87] | Yes | 2.6[p 8][p 9] |
Geolocation API[44] | 5.0[t 40] | 12 | 1.9.1[g 88] | 533[w 69] | 2.6[lower-alpha 12] |
Offline Web applications[45] | 6.0[t 41] | 12 | 1.9.1[g 89] | Yes | 2.6[p 8][p 9] |
Web Notifications[46] | No | No | 22.0[47][48] | only in Chrome[49] | 25[p 31] |
Trident | EdgeHTML | Gecko | WebKit | Presto |
Media functions
The HTML5 specification defines several tags which allow video and audio to be included natively and semantically in HTML markup.
Element attributes
Media elements allow some attributes to be set directly in the tag.
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
<audio> attributes | ||||
src |
5.0[t 1] | 1.9.1 | 525 | 2.5 |
preload |
2.0[note 11][g 90] | Experimental[note 11] | ||
autoplay |
1.9.1 | 2.5 | ||
loop |
11.0[g 91] | |||
controls |
1.9.1 | |||
<video> attributes | ||||
src |
5.0[t 1] | 1.9.1 | 525 | 2.5 |
preload |
2.0[note 11][g 90] | Experimental[note 11] | ||
autoplay |
1.9.1 | 2.5 | ||
loop |
11.0[g 91] | |||
controls |
1.9.1 | |||
poster |
1.9.2[g 92] | |||
width |
1.9.1 | |||
height | ||||
<source> attributes | ||||
src |
5.0[t 1] | 1.9.1 | 525[w 70] | 2.5 |
type | ||||
media |
15.0[g 93] | |||
<track> attributes | ||||
kind |
6.0[t 42] | 24.0[g 94] | Yes[w 71] | No |
label | ||||
src | ||||
srclang | ||||
DOM attributes
Some attributes related to media elements are exposed in the DOM.
Trident | Gecko | WebKit | Presto[p 32] | |
---|---|---|---|---|
Error state | ||||
MediaError |
5.0 [t 43] | 1.9.1 | ? | 2.5 |
Network state | ||||
src |
5.0[t 1] | 1.9.1 | ? | 2.5 |
currentSrc | ||||
networkState | ||||
preload |
2.0[note 11][g 90] | No | ||
buffered |
2.0[g 95] | |||
load() |
1.9.1 | 2.5 | ||
canPlayType() |
533[w 72] | |||
Ready state | ||||
readyState |
5.0[t 1] | 1.9.1 | ? | 2.5 |
seeking | ||||
Playback state | ||||
currentTime |
5.0[t 1] | 1.9.1 | ? | 2.5 |
startTime |
No | |||
duration |
1.9.1 | |||
paused | ||||
defaultPlaybackRate |
20.0[g 96] | No | ||
playbackRate | ||||
played |
15.0[g 97] | |||
seekable |
8.0[g 98] | |||
ended |
1.9.1 | 2.5 | ||
autoplay | ||||
loop |
11.0[g 91] | |||
play() |
1.9.1 | |||
pause() | ||||
Controls | ||||
controls |
5.0[t 1] | 1.9.1 | ? | 2.5 |
volume | ||||
muted | ||||
DOM events
Media elements introduce new events to handle conditions which apply only to those elements, such as pausing/resuming.
Trident | Gecko[g 99] | WebKit | Presto | |
---|---|---|---|---|
loadstart |
5.0[t 44] | 1.9.1 | ? | ? |
progress | ||||
suspend |
1.9.2 | |||
abort |
1.9.1 | |||
error | ||||
emptied | ||||
stalled |
8.0[g 100] | |||
play |
1.9.1 | |||
pause | ||||
loadedmetadata | ||||
loadeddata | ||||
waiting | ||||
playing |
No | |||
canplay |
1.9.1 | |||
canplaythrough | ||||
seeking | ||||
seeked | ||||
timeupdate | ||||
ended | ||||
ratechange | ||||
durationchange | ||||
volumechange | ||||
Video format support
This table documents support for video codecs by the <video>
element.
Trident | edgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
Ogg Theora | Manual install[note 12] | 1.9.1[g 101] | Depends[note 13] | 2.5 | |
H.264 | 5.0[t 46] | 33.0[50][g 102] | Depends (525)[note 13][w 78] | Depends[note 14] | |
WebM VP8 | Manual install[note 12] | Yes[51] | 2.0[g 103][g 104] | Depends (534)[w 79] | 2.6.30[p 34][p 35][p 36] |
Audio format support
This table documents support for audio codecs by the <audio>
element.
Trident | edgeHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|---|
Ogg Vorbis | Manual install[note 12] | 1.9.1[g 101] | Depends[note 13] | 2.5 | |
WAV PCM | 525[note 13] | 2.0 | |||
MP3 | 5.0[t 47] | No[g 105] | Depends[note 14] | ||
AAC | No | ||||
Speex | Manual install[note 12] | No[g 106] | Depends[note 13] | No | |
Opus | No | Yes[51] | 15.0[g 107] | Depends[note 13] | No |
Canvas functions
The following tables compare support for the drawing APIs of the Canvas element, a feature of HTML5. These tables compare native support by web browsers, without any plugins, add-ons or ECMAScript workarounds.
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
getContext |
5.0 | 1.8 | Yes | 2.0 |
toDataURL |
1.8[g 108] | Yes[w 80] | 2.1[note 15] |
Supported contexts
Trident | Gecko | WebKit | Presto | |
---|---|---|---|---|
2d |
5.0 | 1.9.1 | Partial | 2.6 |
WebGL | 7.0[t 48] | Depends[g 109] | Depends[w 81] | 2.9.220[p 37] |
Rendering Context 2D
Trident[t 49] | Gecko[g 110] | WebKit[w 82] | Presto[p 38][p 39] | |
---|---|---|---|---|
The canvas state | ||||
save |
5.0 | 1.8 | Yes | 2.0 |
restore | ||||
Transformations | ||||
scale |
5.0 | 1.8 | Yes | 2.0 |
rotate | ||||
translate | ||||
transform |
2.6[note 16][p 40][p 41][p 42] | |||
setTransform |
2.6[note 16] | |||
Compositing | ||||
globalAlpha |
5.0 | 1.8 | Yes | 2.0 |
globalCompositeOperation | ||||
Colors and styles | ||||
strokeStyle |
5.0 | 1.8 | Yes | 2.0 |
fillStyle | ||||
createLinearGradient | ||||
createRadialGradient | ||||
createPattern | ||||
Line styles | ||||
lineWidth |
5.0 | 1.8 | Yes | 2.0 |
lineCap | ||||
lineJoin | ||||
miterLimit | ||||
Shadows | ||||
shadowOffsetX |
5.0 | 1.9.1[g 111] | Yes | 2.4[note 17] |
shadowOffsetY | ||||
shadowBlur | ||||
shadowColor | ||||
Simple shapes | ||||
clearRect |
5.0 | 1.8 | Yes | 2.0 |
fillRect | ||||
strokeRect | ||||
Complex shapes | ||||
beginPath |
5.0 | 1.8 | Yes | 2.0 |
closePath | ||||
moveTo | ||||
lineTo | ||||
quadraticCurveTo |
1.8.1[note 18] | |||
bezierCurveTo |
1.8 | |||
arcTo |
1.8.1[g 112] | |||
rect |
1.8 | |||
arc | ||||
fill | ||||
stroke | ||||
clip | ||||
isPointInPath | ||||
Focus management | ||||
drawFocusRing |
No | 28.0[g 113] | No | No |
Text | ||||
font |
5.0 | 1.9.1[note 19] | Yes | No |
textAlign |
2.6 | |||
textBaseline | ||||
fillText | ||||
strokeText | ||||
measureText | ||||
Images | ||||
drawImage |
5.0 | 1.8 | Yes | 2.0 |
createImageData |
1.9.1[g 115][g 116] | 2.7[p 43] | ||
getImageData |
1.9[g 116] | 2.6[note 16] | ||
putImageData |
2.0[g 117][g 116] |
See also
Notes
-
<q>
does not support nested quotes prior to Gecko 1.8.[2] - For images, a frame will be added to the object. Other content types are not supported and the element is incorrectly implemented as an ActiveX wrapper. Nested objects fallback mechanism is not supported prior to version 7.[3]
- Prior to Internet Explorer 8.0 (trident 4.0), and in earlier compatibility modes, the innerText is submitted instead of the value attribute.[4]
-
<label>
was focusable prior to KHTML 3.4.2. - Internet Explorer 9 (trident 5.0) and earlier is limited to 31
<style>
elements.[5][6] - Trident doesn't hide CSS backgrounds and borders on a
<noscript>
element when scripting is enabled. - While alphabetic and alphanumeric words are affected, numeric (numbers only) words are not.
- Supported for only
img
. - Supported for only
font
. - Trident dropped support for
wbr
in version 5.0.[17] - Supports
preload
under the older nameautobuffer
. - Google released a WebM component for Media Foundation to allow the playback of WebM files in IE9 through the standard HTML5 <video> tag.[t 45] Xiph.org distributes OpenCodecs package, which amends Google's VP8 decoder with DirectShow-based codecs for Ogg Theora and Ogg Vorbis. VLC media player comes with "Web plugin" that uses VLC for playing multimedia from
<video>
and<audio>
tags, enabling support for all formats VLC supports. - WebKit on macOS previously used QuickTime, and supported whatever formats that does.[w 73] By default, this includes H.264, MP3, AAC and WAV PCM, but not Ogg Theora or Vorbis. These are supported only if installed as third-party codecs, such as XiphQT. However, this relied on QuickTime 7 (not QuickTime X) to play these formats, and since Safari 12 and later versions of WebKit2, Apple officially dropped support for their QuickTime plugin (since it was developed for NPAPI, not HTML5). Google Chrome supports Theora, Vorbis, WebM, and MP3.[w 74] Chromium can be compiled to support anything that FFmpeg supports, and may or may not support patented formats such as H.264 and MP3.[w 75] Origyn Web Browser for MorphOS uses also FFmpeg for playing HTML5 media content.[w 76][w 77]
- On Linux and FreeBSD, Presto 2.5 uses the system version of the GStreamer library, and is able to play any formats supported by GStreamer (including H.264, MP3, AAC and others, if codecs are installed). On other platforms, it only supports Ogg Theora for video; and Ogg Vorbis and WAVE PCM for sound.[p 33]
- Presto 2.0 had partial support for this property.
- Opera 9.5(Presto 2.1) support table claims support for this, but support tables for Presto 2.1.1 up to 2.5 indicate that this property is not supported.
- Prior to version 2.4, Presto only had partial support for this property.
- Incorrect in Gecko 1.8
- Gecko had experimental support in version 1.9, with different names.[g 114]
- Beginning in 2007,[p 1] several experimental builds have been released with Ogg Theora support. Full support for the video element is included in Presto 2.5.[p 2]
- Presto added very limited support for the ECMAScript API related to the audio element in version 2.0 using only the WAV PCM codec, while not implementing the element itself.[p 3] Full support for the audio element with the Ogg Vorbis and WAV codecs is included in Presto 2.5.[p 2]
- MathML for CSS, XHTML only[p 5]
- Form validation disabled in Safari Can I use... Support tables for HTML5, CSS3, etc.
- For file inputs only.
- Limited to the feed protocol in 1.8; fully supported in 1.9.[g 63]
- Limited to feed MIME types in 1.8 and 1.9.[g 64]
- The
ping
attribute is disabled by default, due to privacy concerns.[g 74][g 75] - The
ping
attribute is disabled by default, thus needs to be manually enabled by each port - Currently partially supported in nightly builds for the Linux platform.[g 84]
- WebSocket support was added in Presto 2.7[p 26] but was disabled due to security reasons.[p 27] In Presto 2.11 protocol implementation was updated to version RFC 6455[p 28] which resolved security issue.
- Geolocation support was added in Presto 2.5, but was not enabled by default until 2.6.[p 29][p 30][p 8][p 9]
References
- Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.
- "New Web Developer Features in Deer Park Alpha 1". Mozilla. 27 May 2005. Retrieved 25 March 2011. Cite journal requires
|journal=
(help) - "What's New in Internet Explorer 7". Microsoft Developer Network. Microsoft. Retrieved 25 March 2011.
- "button element | button object (Internet Explorer)". Microsoft. Retrieved 29 November 2012.
- "A webpage that uses CSS styles does not render correctly in Internet Explorer". Microsoft. 31 August 2010. Retrieved 25 March 2011. Cite journal requires
|journal=
(help) - Removal of style sheet limits (Windows), Microsoft
- HTML 4 Changes, W3C, 18 December 1997, retrieved 7 May 2008
- Bug 3875 – (basefont) deprecated basefont element not supported, Mozilla
- HTML 3.2 Reference Specification, W3C, 14 January 1997, retrieved 8 October 2008
- Isindex Example, archived from the original on 5 April 2008, retrieved 7 May 2008
- Tommy A. Olsen (28 November 2011). "Opera Desktop Team – Glyphs and plugins". Retrieved 28 November 2011.
CORE-34613 Drop support for <bgsound>
- "Mozilla Aurora Notes". Mozilla. Retrieved 1 June 2013.
- gsnedders (9 September 2010). "IRC logs: freenode / #whatwg / 2010-09-09". Retrieved 9 September 2010.
# [17:27] <gsnedders> I know we dropped support for the bq element :P
- "Complete List of HTML Tags". Retrieved 10 October 2011.
- "Extensions to HTML". Netscape. 1994. Retrieved 10 October 2011.
- Bug 531056 – [HTML5] Remove spacer support, Mozilla
- Zeilenumbruch erlauben (in German), Impressum
- XML Element | xml Object, Microsoft
- Bug 207900 – psychotekk.de – the target attribute in the form element is ignored, Mozilla
- Studholme, Oli (11 May 2010), The ruby element and her hawt friends, rt and rp, HTML5 Doctor
- http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element
- "HTML5". microsoft.com. Microsoft.
- W3C – Test results: HTML character encoding basics, 12 April 2010, archived from the original on 2 March 2012
- WHATWG Weekly: translate attribute and other changes to HTML, 7 February 2012
- Pilgrim, Mark (6 March 2009), The Road to HTML 5: contentEditable
- Pilgrim, Mark (4 March 2009), The Road to HTML 5: spellchecking
- "keygen", Mozilla Developer Center, Mozilla, retrieved 13 March 2010
- Koch, Peter-Paul, DOM Core, QuirksMode
- "Is this HTML5?", HTML5 (including next generation additions still in development), WHATWG, 4 May 2010, retrieved 4 May 2010
-
main
element – an HTML5 extension specification, W3C, 17 December 2012 - HTML Templates, W3C, 14 February 2013
- Selectors API Level 1, W3C
- Web Storage, W3C
- Indexed Database API, W3C
- Web SQL Database, W3C
- File API, W3C, 26 October 2010
- File API: Writer, W3C, 26 October 2010
- File API: Directories and System, W3C, 26 October 2010
- Media Capture API, W3C
- Server-Sent Events, W3C
- The Web Sockets API, W3C
- Web Workers, W3C
- Resig, John (21 July 2009), Computing with JavaScript Web Workers
- Geolocation API Specification, W3C
- 5.6 Offline Web applications — HTML5, W3C
- Web Notifications, W3C
- Available only in Firefox Mobile as of Gecko 2.0
- 594543 – Implement Desktop Notifications
- There is a bug in Chrome but is working
- via OpenH264
- https://blogs.windows.com/msedgedev/2016/04/18/webm-vp9-and-opus-support-in-microsoft-edge
- Trident
- Internet Explorer Platform Preview Guide for Developers, Microsoft
- Ruby
- Bisson, Simon (17 September 2010), Microsoft previews Internet Explorer 9 with HTML5 support, ZDNet
- Hachamovitch, Dean (23 June 2010), HTML5, Native: Third IE9 Platform Preview Available for Developers, Microsoft
- Rossi, Jacob (14 July 2011), Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox, Microsoft
- "list attribute | list property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "required attribute | required property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "multiple property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "pattern attribute | pattern property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "min attribute | min property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "max attribute | max property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "step property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "placeholder attribute | placeholder property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "autofocus attribute | autofocus property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "maxlength attribute | maxLength property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "noValidate property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "formTarget property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "formAction attribute | formAction property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "formMethod attribute | formMethod property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "formEnctype attribute | formEnctype property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "formNoValidate attribute | formNoValidate property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "datalist object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- PRB: HTML Tag KEYGEN Not Supported in Internet Explorer, Microsoft
- "Progress element | Progress object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=search object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=tel element | input type=tel object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=url element | input type=url object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=email element | input type=email object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=number element | input type=number object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- "input type=range element | input type=range object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
- getElementsByClassName, Microsoft, archived from the original on 23 July 2012, retrieved 19 April 2018
- HTML5 History in IE10, Microsoft
- HTML5 Parsing in IE10, Windows Internet Explorer Engineering Team, 6 July 2001
- onhashchange Event, Microsoft
- "track element | track object (Internet Explorer)". Microsoft. Retrieved 29 November 2012.
- Resig, John (6 March 2008), JavaScript in Internet Explorer 8
- IndexedDB Prototype Available for Internet Explorer
- WebSockets in Windows Consumer Preview, IE Engineering Team
- Leithead, Travis (2 July 2011), Web Workers in IE10: Background JavaScript Makes Web Apps Faster, Microsoft
- Acting on Feedback: IE9 Release Candidate Available for Download
- "Application Cache API ("AppCache") (Windows)". Microsoft. Retrieved 17 November 2012.
- "track element – track object (Internet Explorer)". Microsoft. Retrieved 12 July 2013.
- MSDN HTMLMediaError Object for Internet Explorer 9, Microsoft
- "video object". Microsoft. Retrieved 12 July 2013.
- Jazayeri, Mike (1 January 2011), More about the Chrome HTML Video Codec Change
- McCracken, Harry (1 March 2010), Microsoft Previews the Revamped Internet Explorer 9 Platform, Technologizer
- Branscombe, Mary (1 March 2010), Microsoft previews Internet Explorer 9, TechRadar UK, archived from the original on 22 March 2010, retrieved 19 April 2018
- "Introducing IE11: The Best Way to Experience the Web on Modern Touch Devices". Microsoft. Retrieved 8 November 2013.
- Internet Explorer Platform Preview Release Notes, archived from the original on 19 April 2010, retrieved 19 April 2018
- Gecko
- Bug 559284 – Support for HTML5 sectioning elements (article, aside, footer, header, hgroup, nav, section): style as display:block, Mozilla
- Bug 562008 – HTML5 section DOM elements should be of type HTMLElement, Mozilla
- Bug 629801 – Implement HTML5 , Mozilla
- Bug 485377 – Implement HTML5's <mark> tag, Mozilla
- Bug 33339 – HTML5 <ruby> support, Mozilla, retrieved 3 December 2014
- Implement the HTML5 dialog element, Mozilla
- Implement the figure element, Mozilla
- Support media attribute of source elements, Mozilla
- Canvas – MDC, Mozilla
- Bug 591737 – Support for HTML5's <details> and <summary>, Mozilla
- Implement the HTML5 command API, Mozilla
- Implement HTML5 toolbar menus, Mozilla
- Bug 613149 – Support HTML5 bdi element and CSS property unicode-bidi: isolate, Mozilla
- Bug 839371 – Implement HTML5 element, Mozilla
- Bug 870022 – Implement 'picture' element, Mozilla
- Bug 596650 – Use the "sizes" attribute to select the best web app icon, Mozilla
- Bug 441770 – Add 'sizes' getter/setter to link elements, Mozilla
- Bug 508725 – Implement HTML 5 scoped attribute on STYLE tag, Mozilla
- Bug 503481 – Implement async attribute of script element, Mozilla
- Bug 601912 – HTML 5's <li> reversed attribute not supported, Mozilla
- Bug 676619 – Implement proposed download attribute, Mozilla
- Bug 341604- Implement IFRAME's sandbox attribute, Mozilla
- Bug 631218 – implement the HTML5 seamless attribute for the iframe element, Mozilla
- Bug 560112 – Implement HTML5 dataset attribute, Mozilla
- Changes for web developers, Mozilla, archived from the original on 7 October 2011
- Bug 567663 – Implement the hidden attribute, Mozilla
- Controlling spell checking in HTML forms, Mozilla
- Blizzard, Christopher (15 July 2009), HTML5 drag and drop in Firefox 3.5
- Bug 723008 – Implement dropzone attribute, Mozilla
- User:Mounir.lamouri/HTML5 Forms, Mozilla External link in
|title=
(help) - Bug 556007 – Implement list attribute, Mozilla
- Bug 345822 – Implement required attribute for <input type="text">, <textarea>, Mozilla
- Bug 523771 – Support <input type=file multiple>, Mozilla
- Bug 345512 – Implement pattern attribute for <input type="text">, <textarea>, Mozilla
- Bug 635499- Implement the max attribute, Mozilla
- Bug 635553- Implement the min attribute, Mozilla
- Bug 556009 – Implement step attribute, Mozilla
- Bug 457800 – Implement placeholder attribute for text input fields, Mozilla
- Bug 588683 – Implement form attribute, Mozilla
- Bug 546995 – Implement autofocus attribute for some form elements, Mozilla
- Bug 535043 – Support maxlength on textarea, Mozilla
- Bug 556013 – Implement novalidate attribute for form elements, Mozilla
- Bug 562932 – Implement control attribute for label element, Mozilla
- Bug 377624 – Implement the accept attribute for the form and file upload controls form "image/*", Mozilla,Bug 565274 – Implement the accept attribute for the form and file upload controls for custom MIME types, Mozilla
- Bug 566064 – HTMLInputElement and HTMLButtonElement should implement formtarget attribute which override HTMLFormElement target attribute, Mozilla
- Bug 566160 – HTMLInputElement and HTMLButtonElement should implement formaction attribute which override HTMLFormElement action attribute, Mozilla
- Bug 582412 – Implement @formmethod, @formenctype, Mozilla
- Bug 589696 – Implement formnovalidate attribute for submit controls, Mozilla
- Bug 555840 – Implement datalist element, Mozilla
- Bug 101019 – Implement keygen element, Mozilla
- Bug 346485 – Implement Web Forms 2 <html:output/>, Mozilla
- Bug 514437 – Implement HTML 5 progress element, Mozilla
- Bug 555985 – Implement meter element, Mozilla
- Bug 456229 – Implement <input type="search"> for compatibility with Safari, Mozilla
- Bug 557620 – Implement <input type="telephone">, Mozilla
- Bug 344615 – Implement <input type="url">, Mozilla
- Bug 555559- Implement <input type="email">, Mozilla
- Bug 446510 – Implement <input type="date"> and other date controls, Mozilla
- Bug 344616 – Implement <input type="number">, Mozilla
- Bug 344618 – Implement <input type="range">, Mozilla
- Bug 547004 – Implement <input type="color">, Mozilla, retrieved 18 February 2010
- Bug 357450 – Implement getElementsByClassName, Mozilla
- window.navigator.registerProtocolHandler, Mozilla, archived from the original on 4 June 2011
- Navigator.registerContentHandler(), Mozilla
- Bug 387706 – (postMessage) Implement HTML5's cross-document messaging API (postMessage), Mozilla
- Bug 500328 – Add support for HTML5 History.pushState(), History.replaceState() methods, Mozilla
- Bug 591467 – Implement HTML5 Microdata API, Mozilla
- Bug 373864 – Replace HTML parser with an HTML5 parser, Mozilla
- Bug 530396 – Support for <a rel="noreferrer"> functionality, Mozilla
- Bug 385434 – Add support for HTML5 onhashchange (event for named anchor changes), Mozilla
- Bug 501257 – Implement HTML 5's HTMLElement.classList property, Mozilla
- Bug 548206 – Implement the auto value for the HTML dir attribute, Mozilla
- Bug 319368 – Implement <a ping>, Mozilla
- Bug 324645 – <a ping> support should be opt-in, not opt-out, for Gecko-based apps, Mozilla
- Bug 319368 – Implement <a ping> (Comment 64), Mozilla
- Bug 820508 – Add support for <main> element, Mozilla
- document.querySelector
- DOM Storage, Mozilla, archived from the original on 29 June 2011, retrieved 19 April 2018
- Implement Indexed Database API, Mozilla
- Bug 416327 – Implement Client-side database storage, Mozilla
- Using files from web applications, Mozilla
- Bug 557540 – Implement File API: Writer, Mozilla
- FileSystem API, Mozilla
- Bug 692955 – Camera support for desktop, Mozilla
- Bug 338583 – Add support for Server-Sent DOM Events (Remote Events), Mozilla
- Bug 472529 – Support for Web sockets' HTML5 Draft Recommendation, Mozilla
- Bug 437152 – implement worker threads, Mozilla
- Using geolocation, Mozilla
- Offline resources in Firefox, Mozilla
- Bug 548523 – HTML 5 media attribute 'autobuffer' has been renamed to 'preload', Mozilla
- Bug 449157 – Implement the looping attributes in media elements, Mozilla
- Bug 449156 – Implement the poster attribute for the <video> element, Mozilla
- Bug 449363 – Support media attribute of <source> elements, Mozilla
- Bug 629350 – Implement the track element, Mozilla
- Bug 462957 – Implement nsIDOMHTMLMediaElement::GetBuffered(), Mozilla
- Bug 495040 – Implement playbackRate, Mozilla
- Bug 462959 – Implement nsIDOMHTMLMediaElement::GetPlayed(), Mozilla
- Bug 462960 – Implement nsIDOMHTMLMediaElement::GetSeekable(), Mozilla
- Using audio and video in Firefox – Media events, Mozilla, archived from the original on 8 May 2012, retrieved 19 April 2018
- Bug 481082 – Video controls should listen for |stalled| event, Mozilla
- Shepherd, Eric (2 January 2010), Media formats supported by the audio and video elements, Mozilla, archived from the original on 27 June 2010, retrieved 11 October 2009
- Bug 799318 – [meta] Support H.264/AAC/MP3 video/audio playback on desktop Firefox, Mozilla
- Bug 566243 – Merge mozilla-webmedia repository to mozilla-central, Mozilla
- Firefox WebM Builds, Mozilla
- Bug 562730 – Reproducing Mp3 files with html5, Mozilla
- Bug 476752 – support the speex voice codec in <audio> and <video> elements, Mozilla
- Bug 674225 – support the Opus voice codec in <audio> and <video> elements, Mozilla
- https://developer.mozilla.org/en/HTML/Element/canvas
- WebGL – MDC, Mozilla
- Canvas tutorial – MDC
- Bug 310682 – Implement shadows for <html:canvas>, Mozilla
- Bug 333613 – update canvas on branch, Mozilla
- Bug 540456 – Support HTML5 canvas drawFocusRing(), Mozilla
- Bug 436904 – implementing Canvas text spec, Mozilla
- Bug 433004 – Support canvas.getContext("2d").createImageData(), Mozilla
- Pixel manipulation with canvas – MDC
- Bug 498826 – canvas putImageData doesn't implement optional arguments, Mozilla
- Webkit
- Bug 32936 – HTML5 <section> element support, WebKit
- Bug 27937 – Implement HTML5 nav element, WebKit
- Bug 32942 – HTML5 <article> element support, WebKit
- Bug 32943 – HTML5 <aside> element support, WebKit
- Bug 33369 – Implement HTML5 <hgroup> element., WebKit
- Bug 41144 – Implement the HTML5 <mark> element., WebKit
- Bug 28420 – Implement HTML5 <ruby> rendering, WebKit
- Steiner, Roland (20 January 2010), "Ruby Rendering in WebKit", Surfin’ Safari, WebKit, archived from the original on 21 December 2016, retrieved 21 January 2010
- Bug 84635 – Implement the DIALOG element, WebKit
- Bug 50684 – Default styling rules for the figure and figcaption elements, WebKit
- "Google subtracts MathML from Chrome, and anger multiplies". CNET. 5 November 2013.
- Bug 42373 – Changes to enable MathML, WebKit
- Seidel, Eric (5 August 2010). "The HTML5 Parsing Algorithm". Surfin' Safari. WebKit Project. Archived from the original on 8 August 2010. Retrieved 5 August 2010.
- Bug 50309 – HTML5 <details> and <summary> initial implementation, WebKit
- Bug 50555 – implement the HTML5 "context menu" feature (contextmenu attribute), WebKit
- Bug 50913 – [BiDi] Add support for the BDI element, WebKit
- Bug 116963 – (picture) Implement 'picture' element, WebKit
- Bug 37674 – Implement sizes attribute for link tag from HTML5, WebKit
- Bug 49142 – Implement HTML5 style scoped attribute, WebKit
- Bug 20710 – WebKit should support defer and async on script elements, WebKit
- Bug 36724 – Add support for ol reversed, WebKit
- Bug 21288 – Implement HTML5's sandbox attribute for iframes, WebKit
- Bug 45950 – Implement HTML5's seamless attribute for iframes, WebKit
- Bug 41146 – Implement the .dataset DOM property, WebKit
- Bug 40511 – Implement HTML5 hidden attribute, WebKit
- Bug 25537 – WebKit does not follow HTML5 spellcheck attribute logic for words split by spans, WebKit
- Bug 26262 – Implement HTML5 draggable, WebKit
- Bug 19264 – HTML5 Forms Implementation – Master bug, WebKit
- Bug 27247 – [HTML5][Forms] Part 5 of datalist&list: UI of 'list' attribute of <input>, WebKit
- Bug 59019 – Enable the interactive form validation feature by default, WebKit
- Almaer, Dion (6 March 2009), input type="file" multiple; now in a real browser!, Ajaxian
- Bug 25552 – Support for HTML5 Forms "pattern" attribute, WebKit
- Bug 27450 – Support HTML5 min/max attributes and associated CSS selectors, WebKit
- Bug 27451 – Support HTML5 step attribute, WebKit
- Bug 47813 – [HTML5] "form" attribute support for form control elements, WebKit
- Bug 18887 – WF2 Support for autofocus controls, WebKit
- Bug 29292 – [HTML5][Forms] Support for <textarea maxlength=N>, WebKit
- Bug 28145 – novalidate/formnovalidate support, WebKit
- Bug 45079 – HTML <input type='file' about='#mwt1390' typeof='mw:ExpandedAttrs' data-mw='{"attribs":[[{"txt":"type","html":"type<span typeof=\"mw:Nowiki\" data-parsoid=\"{}\">=</span>\"file\""},{"html":""}]]}' /> accept attribute, WebKit
- Bug 49240 – Implement formaction, formenctype, formmethod and formtarget attributes for the input tag, WebKit
- Bug 27247 – Master bug of datalist element and list attribute implementation, WebKit
- Bug 29363 – [HTML5][Forms] Support for <output> element, WebKit
- Bug 37307 – [Chromium] Support for <progress> element, WebKit
- Bug 37074 – Support for HTMLMeterElement, WebKit
- Hyatt, David (July 2004), The Search Field, archived from the original on 26 January 2010
- Bug 25554 – Implement HTML5 Input element types for Text Fields, WebKit
- Bug 29004 – [HTML5][Forms] simple implementation of date&time types of INPUT element, WebKit
- Bug 29359 – Add UIs for date and time types of <input>
- Bug 28966 – [HTML5][Forms] <input type=color> simple implementation, WebKit
- Bug 44740 – registerProtocolHandler and registerContentHandler, WebKit
- Bug 32052 – Implement HTML5 state object history API, WebKit
- Bug 68609 – Implement HTML5 Microdata (master bug)
- Bug 39259 – MASTER: WebKit needs an HTML5 Tokenizer
- Chapin, Nate (19 November 2009), WebKit nightlies support HTML5 noreferrer link relation, archived from the original on 14 March 2017, retrieved 20 November 2009
- Bug 21605 – Support for HTML5 "hashchange" event, WebKit
- Bug 20709 – Implement HTML 5's HTMLElement.classList property, WebKit
- Bug 50916 – Add support for dir=auto, WebKit
- Bug 30458 – Implement <a ping>, WebKit
- Bug 103172 – implement the HTML <main> element, WebKit
- Bug 113016 – HTMLStackItem should include <template> as a special tag, WebKit
- Smith, David (7 February 2008), querySelector and querySelectorAll, archived from the original on 16 November 2016, retrieved 19 April 2018
- Eidson, Brady (19 October 2007), WebKit Does HTML5 Client-side Database Storage, retrieved 22 October 2009
- Bug 36567 – Implement FileAPI/FileWriter, WebKit
- Bug 38157 – Implement FileReader class, WebKit
- Bug 44358 – Implement FileWriter, WebKit
- Bug 42903 – Implement FileAPI: Directories and System (a.k.a. FileSystem API), WebKit
- Bug 14997 – Support for server-sent DOM events, WebKit
- Bug 21475 – Provide support for the Geolocation API, WebKit
- Pfeiffer, Silvia (1 December 2009), [whatwg] Quality Values for Media Source Elements, archived from the original on 19 July 2011, retrieved 19 April 2018
- April 2012 HTML5 Media Element & WebAudio – WebKit
- Bug 24364 – Add HTMLMediaElement canPlayType method, WebKit
- Koivisto, Antti (1 November 2007), HTML5 Media Support, WebKit
- Look for "GOOGLE_CHROME_BUILD"
- DiBona, Chris (1 June 2009), [whatwg] Google's use of FFmpeg in Chromium and Chrome Was: Re: MPEG-1 subset proposal for HTML5 video codec, archived from the original on 19 July 2011, retrieved 19 April 2018
- Origyn Web Browser for MorphOS, Fabian Coeurjoly, retrieved 4 January 2010
- Holwerda, Thom (8 March 2010), Origyn Web Browser 1.7 Supports HTML5 Media, More, OSNews, retrieved 8 March 2010
- HTML Video Codec Support in Chrome, retrieved 22 January 2010
- Bankoski, Jim (1 May 2010), WebM and VP8 land in Chromium
- WebKit DOM Programming Topics: Using the Canvas
- Marrin, Chris (1 October 2009), WebGL Now Available in WebKit Nightlies, Surfin' Safari
- WebKit DOM reference – CanvasRenderingContext2D
- Presto
- "A call for video on the web – Opera <video> release on Labs", Opera
- "Opera Core Concerns – (re-)Introducing <video>", Opera, archived from the original on 4 January 2010
- "Web specifications supported in Opera 9.5", Opera, archived from the original on 25 February 2009, retrieved 19 April 2018
- "
canvas
Support in Opera", Opera, archived from the original on 31 January 2016, retrieved 19 April 2018 - Chavchanidze, George (12 June 2008), "Opera 9.5 released", Opera, archived from the original on 13 October 2008
- "Implemented full support for the part of the HTML5 specification entitled "Parsing HTML documents".", Opera
- "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
- Haavard (14 June 2010), "HTML5, and then some", Opera, archived from the original on 17 June 2010
- Kleinhout, Huib (1 July 2010), "Opera 10.60 goes final", Opera, archived from the original on 2 July 2010
- "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
- "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
- "HTML 5 Forms support in Opera Presto 2.2", Opera
- Ødegaard, Ruarí (6 December 2010). "Extension improvements, updates to Core and some other nice fixes". Opera. Archived from the original on 10 December 2010. Retrieved 6 December 2010.
- Opera 11.60 changelog, 6 December 2011, archived from the original on 23 October 2014, retrieved 19 April 2018
- "Web specifications support in Opera Presto 2.10 – Drag and Drop", Opera
- "Introducing the HTML5 History API", Opera
- Web specifications support in Opera Presto 2.9
- "Opera 11.60 for Windows changelog", Opera, 6 December 2011, archived from the original on 23 October 2014, retrieved 19 April 2018
- Haavard (31 May 2010), "Opera 10.60 Alpha 1: Speed, eye-candy, and bug fixing", Opera, archived from the original on 2 June 2010
- Hunt, Lachlan (22 May 2008), "Selectors API", Opera, archived from the original on 27 May 2008
- Dixit, Shwetank (16 December 2009), "Opera 10.5 Pre-Alpha build released: the new additions", Opera, archived from the original on 25 December 2009
- "W3C File API support in Opera Presto 2.8", Opera
- Web specifications support in Opera Presto 2.10, Opera Software ASA, 13 October 2011
- Bersvendsen, Arve (1 September 2006), "Event Streaming to Web Browsers", Opera, archived from the original on 16 October 2006
- van Kesteren, Anne (11 October 2010). "The long journey of Server-Sent Events (EventSource)". Opera. Archived from the original on 12 October 2010. Retrieved 11 October 2010.
- Pieters, Simon (11 October 2010). "WebSockets in Opera". Opera. Archived from the original on 12 October 2010. Retrieved 11 October 2010.
- van Kesteren, Anne (8 December 2010). "Disabling the WebSocket protocol". Retrieved 10 January 2011.
- "Web specifications support in Opera Presto 2.11". Opera Software ASA. Retrieved 23 July 2012.
- Nilsen, Petter (5 February 2010), "Skin fixes, Unite, and then some", Opera, archived from the original on 9 February 2010
- "Web specifications supported in Opera Presto 2.5", Opera, archived from the original on 12 February 2012, retrieved 19 April 2018
- Web Notifications in Opera Developer 25, Opera Software ASA
- Pieters, Simon (1 March 2010), "Everything you need to know about HTML5 video and audio", Opera
- Jägenstedt, Philip (3 December 2009), "(re-)Introducing <video>", Opera, archived from the original on 4 January 2010
- Lie, Håkon Wium (1 May 2010), "Welcome, WebM <video>!", Opera, archived from the original on 21 March 2011
- Mills, Chris (1 May 2010), "Opera supports the WebM video format", Opera
- Kleinhout, Huib (1 July 2010), "Opera 10.60 goes final", Opera, archived from the original on 2 July 2010
- Opera Desktop Team Blog
- Opera 9 canvas support, archived from the original on 31 January 2016, retrieved 19 April 2018
- Opera 9.5 canvas support, archived from the original on 3 March 2016, retrieved 19 April 2018
- Presto 2.1.1 canvas support table, archived from the original on 3 March 2016, retrieved 19 April 2018
- Presto 2.5 canvas support table, archived from the original on 4 March 2016, retrieved 19 April 2018
- Presto 2.6 canvas support table, archived from the original on 4 March 2016, retrieved 19 April 2018
- Web specifications support in Opera Presto 2.7 – Core Milestone additions since Opera Presto 2.6, archived from the original on 13 February 2011, retrieved 19 April 2018