This article is being considered for deletion in accordance with Wikipedia's deletion policy. Please share your thoughts on the matter at this article's deletion discussion page. |
This article needs to be updated.(April 2018) |
HTML |
---|
Comparisons |
This article compares HTML support by several browser engines.
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.
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 | Maintained | 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 | Maintained | Konqueror browser |
Presto | Discontinued | Formerly used as Opera's browser engine, prior to the migration to Chromium and Blink. |
MSHTML (Trident) | Maintained | Internet Explorer and versions of Microsoft Outlook prior to Outlook 2007. |
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 |
The global structure of the document.
MSHTML | 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 |
Elements that represent text.
MSHTML | 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 |
Elements that represent lists of information.
MSHTML | 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 |
Elements that represent tabular information.
MSHTML | 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 |
Hyperlinks, one of the primary forces driving the success of the World Wide Web.
MSHTML | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
a | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
link | |||||
base |
Multimedia features including images, applets, video clips, and other HTML documents.
MSHTML | 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 |
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).
MSHTML | 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 |
The user interface controls for interacting with the web server.
MSHTML | 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 |
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.
MSHTML | 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 |
The ways to apply stylesheets (CSS) to the document.
MSHTML | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
<link rel="style" ... /> | <3.1[IE 4.0] | 1.0 | Yes | Yes | 1.0 |
style | 6.0 [note 5] |
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.
MSHTML | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
script | <3.1[IE 5.0] | 1.0 | Yes | Yes | 1.0 |
noscript | Incorrect [note 6] |
Elements related to language information.
MSHTML | Gecko | WebKit | KHTML | Presto | |
---|---|---|---|---|---|
bdo | <3.1[IE 5.0] | 1.0 | Yes | Partial [note 7] | 1.0 |
Attributes that can be used in any elements.
MSHTML | 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] |
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 | MSHTML | 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 | MSHTML | 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[ citation needed ] | ||||
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 | MSHTML | 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 | MSHTML | 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 |
MSHTML | 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] [w 6] | 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 |
MSHTML | EdgeHTML | Gecko | WebKit | Presto |
Attribute | Element | MSHTML | 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 [ citation needed ] | 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 | MSHTML | EdgeHTML | Gecko | WebKit | Presto |
MSHTML | 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 |
MSHTML | Gecko | WebKit | Presto |
Many of these features can be emulated with third-party libraries.[ citation needed ]
MSHTML | 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] |
MSHTML | Gecko | WebKit | Presto |
MSHTML | 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] [ dead link ] | 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] |
MSHTML | EdgeHTML | Gecko | WebKit | Presto |
MSHTML | 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 |
MSHTML | Gecko | WebKit | Presto |
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]
MSHTML | 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] |
MSHTML | 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 |
MSHTML | EdgeHTML | Gecko | WebKit | Presto |
The HTML5 specification defines several tags which allow video and audio to be included natively and semantically in HTML markup.
Media elements allow some attributes to be set directly in the tag.
MSHTML | 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 | ||||
Some attributes related to media elements are exposed in the DOM.
MSHTML | Gecko | WebKit | Presto [p 31] | |
---|---|---|---|---|
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 | ||||
Media elements introduce new events to handle conditions which apply only to those elements, such as pausing/resuming.
MSHTML | 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 | ||||
This table documents support for video codecs by the <video>
element.
MSHTML | 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 33] [p 34] [p 35] |
This table documents support for audio codecs by the <audio>
element.
MSHTML | 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 |
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.
MSHTML | Gecko | WebKit | Presto | |
---|---|---|---|---|
getContext | 5.0 | 1.8 | Yes | 2.0 |
toDataURL | 1.8 [g 108] | Yes [w 80] | 2.1 [note 15] |
MSHTML | 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 36] |
MSHTML [t 49] | Gecko [g 110] | WebKit [w 82] | Presto [p 37] [p 38] | |
---|---|---|---|---|
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 39] [p 40] [p 41] | |||
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 42] | ||
getImageData | 1.9 [g 116] | 2.6 [note 16] | ||
putImageData | 2.0 [g 117] [g 116] |
<q>
does not support nested quotes prior to Gecko 1.8. [2] <label>
was focusable prior to KHTML 3.4.2.[ citation needed ]<style>
elements. [5] [6] <noscript>
element when scripting is enabled[ citation needed ].img
.font
.wbr
in version 5.0. [17] preload
under the older name autobuffer
.<video>
and <audio>
tags, enabling support for all formats VLC supports.ping
attribute is disabled by default, due to privacy concerns. [g 74] [g 75] ping
attribute is disabled by default, thus needs to be manually enabled by each portThe Document Object Model (DOM) is a cross-platform and language-independent interface that treats an XML or HTML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes can have event handlers attached to them. Once an event is triggered, the event handlers get executed.
Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999.
A browser war is competition for dominance in the usage share of web browsers. The "First Browser War," during the late 1990s, pitted Microsoft's Internet Explorer against Netscape's Navigator. Browser wars continued with the decline of Internet Explorer's market share and the popularity of other browsers including Firefox, Google Chrome, Safari, Microsoft Edge and Opera.
DOM Events are a signal that something has occurred, or is occurring, and can be triggered by user interactions or by the browser. Client-side scripting languages like JavaScript, JScript, ECMAScript, VBScript, and Java can register various event handlers or listeners on the element nodes inside a DOM tree, such as in HTML, XHTML, XUL, and SVG documents.
This article compares Cascading Style Sheets (CSS) support for several browser engines.
This article compares graphics support for several browser engines.
The following tables compare Document Object Model (DOM) compatibility and support for a number of JavaScript engines used in web browsers.
The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. HTML5 Canvas also helps in making 2D games.
The following tables compare SVG compatibility and support for a number of browser engines.
In HTML, a file-select control is a component of a web form with which a user can select a local file. When the form is submitted, the file is uploaded to the web server. There, when the file arrives, some action usually takes place, such as saving the file on the web server. However, the particular action that takes place is determined by the server-side script to which the form is submitted.
Web typography refers to the use of fonts on the World Wide Web. When HTML was first created, font faces and styles were controlled exclusively by the settings of each web browser. There was no mechanism for individual Web pages to control font display until Netscape introduced the font
element in 1995, which was then standardized in the HTML 3.2 specification. However, the font specified by the font
element had to be installed on the user's computer or a fallback font, such as a browser's default sans-serif or monospace font, would be used. The first Cascading Style Sheets specification was published in 1996 and provided the same capabilities.
The HTML5 draft specification adds video
and audio
elements for embedding video and audio in HTML documents. The specification had formerly recommended support for playback of Theora video and Vorbis audio encapsulated in Ogg containers to provide for easier distribution of audio and video over the internet by using open standards, but the recommendation was soon after dropped.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML5 video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.
This article compares web typography support for several browser engines.
In web development, the CSS box model refers to how HTML elements are modeled in browser engines and how the dimensions of those HTML elements are derived from CSS properties. It is a fundamental concept for the composition of HTML webpages. The guidelines of the box model are described by web standards World Wide Web Consortium (W3C) specifically the CSS Working Group. For much of the late-1990s and early 2000s there had been non-standard compliant implementations of the box model in mainstream browsers. With the advent of CSS2 in 1998, which introduced the box-sizing
property, the problem had mostly been resolved.
WebRTC is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps. Supported by Apple, Google, Microsoft, Mozilla, and Opera, WebRTC specifications have been published by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF).
In web development, a polyfill is code that implements a feature on web browsers that do not natively support the feature. Most often, it refers to a JavaScript library that implements an HTML5 or CSS web standard, either an established standard on older browsers, or a proposed standard on existing browsers. Formally, "a polyfill is a shim for a browser API."
HTML5 Audio is a subject of the HTML5 specification, incorporating audio input, playback, and synthesis, as well as speech to text, in the browser.
{{cite journal}}
: Cite journal requires |journal=
(help){{cite journal}}
: Cite journal requires |journal=
(help)CORE-34613 Drop support for <bgsound>
# [17:27] <gsnedders> I know we dropped support for the bq element :P
main
element – an HTML5 extension specification, W3C, 17 December 2012canvas
Support in Opera", Opera, archived from the original on 31 January 2016, retrieved 19 April 2018