Comparison of browser engines (HTML support)

Last updated

This article compares HTML support by several browser engines.

Contents

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

EngineStatusEmbedded 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 DiscontinuedFormerly 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.

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.

Legend
ValueMeaning
YesFully supported
NoHas never been supported
PartialOnly some values are supported
IncorrectNot implemented correctly in all cases
ExperimentalMay be incomplete or buggy
Nightly build Currently in development; full support is expected
DependsOnly supported for the specified conditions
DroppedNo longer supported

Prior to HTML5

Global structure elements

The global structure of the document.

MSHTML Gecko WebKit KHTML Presto
Basic structure
html<3.1[IE 5.0]YesYesYes1.0
head<3.1[IE 4.0]
body
Metadata
title<3.1[IE 4.0]1.0YesYes1.0
meta
Headings
h1<3.1[IE 4.0]1.0YesYes1.0
h2
h3
h4
h5
h6
Grouping elements
div<3.1[IE 4.0]1.0YesYes1.0
span

Text elements

Elements that represent text.

MSHTML Gecko WebKit KHTML Presto
Phrase
em<3.1[IE 4.0]1.0YesYes1.0
strong
dfn
code
samp
kbd
var
cite
acronym
abbr3.1
Quotations
blockquote<3.1[IE 4.0]1.0YesYes1.0
q4.01.8 [note 1]
Subscripts and superscripts
sub<3.1[IE 4.0]1.0YesYes1.0
sup
Lines and paragraphs
p<3.1[IE 4.0]1.0YesYes1.0
pre
br<3.1[IE 5.0]
Marking document changes
ins<3.1[IE 4.0]1.0YesYes1.0
del

List elements

Elements that represent lists of information.

MSHTML Gecko WebKit KHTML Presto
Unordered and ordered lists
ul<3.1[IE 4.0]1.0YesYes1.0
ol
li
Definition lists
dl<3.1[IE 4.0]1.0YesYes1.0
dt
dd

Table elements

Elements that represent tabular information.

MSHTML Gecko WebKit KHTML Presto
Basic table elements
table<3.1[IE 4.0]1.0YesYes1.0
caption
tr
th
td
Row groups
thead<3.1[IE 4.0]1.0YesYes1.0
tbody
tfoot
Column groups
colgroup<3.1[IE 4.0]1.0YesYes1.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.0YesYes1.0
link
base

Multimedia elements

Multimedia features including images, applets, video clips, and other HTML documents.

MSHTML Gecko WebKit KHTML Presto
Images
img<3.1[IE 4.0]1.0YesYes1.0
Generic inclusion
object4.0 [note 2] 1.0YesYes1.0
param<3.1[IE 6.0]
Image maps
map<3.1[IE 4.0]1.0YesYes1.0
area5.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).

MSHTML Gecko WebKit KHTML Presto
Frame layout
frameset<3.1[IE 4.0]1.0YesYes1.0
frame
noframes
Inline frames
iframe<3.1[IE 4.0]1.0YesYes1.0

Form elements

The user interface controls for interacting with the web server.

MSHTML Gecko WebKit KHTML Presto
Basic structure
form<3.1[IE 4.0]1.0YesYes1.0
fieldset
legend
Form controls and labels
button<3.1[IE 4.0]

[note 3]

1.0YesYes1.0
textarea<3.1[IE 4.0]
input
label3.4.2 [note 4]
List boxes (combo boxes)
select<3.1[IE 4.0]1.0YesYes1.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.

MSHTML Gecko WebKit KHTML Presto
Font styles
b<3.1[IE 4.0]1.0YesYes1.0
i
big
small
tt
Horizontal rules
hr<3.1[IE 4.0]1.0YesYes1.0

Stylesheet elements

The ways to apply stylesheets (CSS) to the document.

MSHTML Gecko WebKit KHTML Presto
<link rel="style" ... /><3.1[IE 4.0]1.0YesYes1.0
style6.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.

MSHTML Gecko WebKit KHTML Presto
script<3.1[IE 5.0]1.0YesYes1.0
noscriptIncorrect [note 6]

Language elements

Elements related to language information.

MSHTML Gecko WebKit KHTML Presto
bdo<3.1[IE 5.0]1.0YesPartial [note 7] 1.0

Generic attributes

Attributes that can be used in any elements.

MSHTML Gecko WebKit KHTML Presto
Element identifiers
id<3.1[IE 3.0]1.0YesYes1.0
class
Inline styles
style<3.1[IE 3.0]1.0YesYes1.0
Advisory information
title<3.1[IE 4.0]1.0YesYes1.0
Language information
lang<3.1[IE 4.0]1.0YesYes1.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.

ElementFunctionSupported first byDeprecated in HTML versionAlternative solution MSHTML Gecko WebKit KHTML Presto
appletInsert an applet HotJava 4 [7] embed, object<3.1[IE 4.0]1.7YesYes1.0
basefontSets font stylesInternet Explorer4CSS<3.1[IE 3.0]No [8] 85Yes
centerCenters contentsNetscape [9] 4CSS3.1YesYes
dirDirectory list ?4ul, ol
fontApplies font stylesNetscape4CSS
isindex [10] Adds a search field ?4input type="search"<3.1[IE 5.5]1.7312Partial
listingDisplays preformatted text IETF 2pre, samp, code, CSS3.11253.3Yes
menuMenu list ?4ul, olYesYesYes
plaintextDesignates that all HTML be ignored, and to display the page as is ?3.2The text/plain MIME type
sStrike-through ?4del, CSS<3.1[IE 4.0]1.71.0
strikeStrike-through ?4del, CSS
uUnderline ?4CSS
xmpSimilar to pre and plaintext, but ignores all HTML within and displays as is ?2pre, samp, code<3.1[IE 3.0]1253.3
AttributeElementAlternative solution MSHTML Gecko WebKit KHTML Presto
aligncaption, div, fieldset, h1, h2, h3, h4, h5, h6, hr, img, input, legend, p, object, tableCSS3.1YesYesYesYes
alinkbodyCSSNo
backgroundbodyCSSYes
bgcolorbody, table, tr, td, thCSS
borderimg, objectCSSPartial [note 8]
clearbrCSSNo
compactdl, ul, olCSSNoNo
colorbasefont, fontCSS3.1Partial [note 9] [8] Partial [note 9]
heighttd, thCSSYesYes
hspaceimg, objectCSS
languagescriptThe type attributeNo[ citation needed ]
linkbodyCSSYes
noshadehrCSS
nowraptd, thCSS
sizebasefont, font, hrCSS
startolNone
textbodyCSS
typeli, ul, olCSS
versionhtml DTD NoNoNoNoNo
vlinkbodyCSSYesYesYesYesYes
widthhr, pre, td, thCSS
vspaceimg, objectCSS
TagFunctionIntroduced byAlternative solution MSHTML Gecko WebKit KHTML Presto
bgsoundUsed to add sound to the background of a websiteInternet Exploreraudio<3.1[IE 3.0]NoNoNoDropped [11]
blink Used to display a blinking text Netscape Javascript, CSSNoDropped [12] YesNo1.0
bqUsed to display a blockquote WebTV, HTML 3.0blockquoteNoNoNoNoDropped [13]
commentUsed to allow the addition of comments to HTML documentsInternet Explorer, WebTV<!-- ... -->3.1NoNoNoNo
ilayer Inline layersNetscape (4 only)iframeNoNoNoPartialNo
imageSynonym of img ?img3.1YesYesYesYes
layer Used to create multiple layers of text and images which lay on top of each other in a given orderNetscape (4 only)CSS, AJAX NoNoNoPartialNo
marquee Used to display a scrolling, marquee-like text.Internet Explorer, WebTVJavaScript, CSS33.11.71253.31.0
nobrPrevents any line breaks from occurring within the flow of a textNetscape [14] [15] CSS3.1YesYesYesYes
noembedDisplays an alternative text for browsers which do not recognize the embed tagNetscapeChild elements of object used as fallback
spacerAdds whitespace in a layoutNetscapeCSSNoDropped [16] NoNoNo
wbrPlaced inside a nobr element to add a line breakNetscape [14] [15] Unicode character zero-width space ( U+200B)Dropped [note 10] 1.7Yes3.1No
xml [18] Includes XML data, either inline or from an URL, in an HTML pageInternet Explorer AJAX, possibly XML namespaces 3.1NoNoNoNo
AttributeDeprecated forFunctionSupported first by MSHTML Gecko WebKit KHTML Presto
bgpropertiesbodyDetermines whether background image scrolls with the backgroundInternet Explorer3.1NoYesYesNo
bordercolorbodySets colors for 3-D table borders in the table, td, th, and tr elementsInternet ExplorerNoYesYesNo
bordercolordarkbodySets colors for 3-D table borders in the table, td, th, and tr elementsInternet ExplorerNoNoNoNo
bordercolorlightbodySets colors for 3-D table borders in the table, td, th, and tr elementsInternet Explorer
controlsimgUses the img element to place video or audio clipsInternet ExplorerNoNoNoNo
dynsrcimgUses the img element to place video or audio clipsInternet ExplorerNoNoNoNo
eventscriptDefines function to call for an object.Internet ExplorerPartial ? ? ?
forscriptDefines the object to bind a scripting event.Internet ExplorerPartial ? ? ?
frametableControls the display of the outer borders of a table in the table tagInternet ExplorerYes ?YesNo
framespacingframesetSets the amount of space between framesInternet Explorer ? ?NoNo
leftmarginbodySets the margin between the browser window and the contents of the pageInternet Explorer3.1 ? ?YesNo
loopimgUses the img element to place video or audio clipsInternet ExplorerNoNoNoNo
rightmarginbodySets the margin between the browser window and the contents of the pageInternet Explorer3.1 ? ?NoNo
startimgUses the img element to place video or audio clipsInternet ExplorerNoNoNoNo
targetformSpecifies a target window or frame for the output of a formInternet ExplorerNo [19]  ?YesNo
valigncaptionSets vertical alignment of table captionInternet Explorer3.1 ? ?NoNo

HTML5

MSHTML EdgeHTML Gecko WebKit Presto
section5.0 [t 1] 122.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
pingNoNoDisabledYesNo
timeNoNo22.0 [g 3] No2.8.146
mark5.0 [t 1] 122.0 [g 4] Yes [w 7] 2.7.70
ruby , [20] rt, rp3.1 [t 2] 1238.0 [g 5] 533 [w 8] [w 9] No
dialog [21] NoNoNo [g 6] Only in Chrome [w 10] No
figure5.0 [t 1] 122.0 [g 7] Yes [w 11] 2.7.70
figcaption
embed<3.1[IE 3.0]121.7851.0
video 5.0 (Partial) [t 3] [t 4] 1215.0 [g 8] 5252.5 [lower-alpha 1] [lower-alpha 2]
audio
source
canvas Partial1.9.2 [g 9] Partial2.0 [p 4]
Inline MathML NoNo2.0No [w 12] [w 13] 2.1 [lower-alpha 3]
Inline SVG 5.0 [t 3] 12Yes [w 14] 2.9.220 [p 6]
detailsNoNo47 [g 10] Yes [w 15] No
summaryYes [w 15]
commandNo [g 11] No
menu8.0 [g 12] No [w 16] 2.8 [p 7]
bdi10.0 [g 13] 528 [w 17] No
dataNoNo22.0 [g 14] NoNo
pictureNo1338.0 [g 15] No [w 18] No
MSHTML EdgeHTML Gecko WebKit Presto

Element-specific attributes

AttributeElement MSHTML EdgeHTML Gecko WebKit Presto
manifesthtml6.0 [22] 121.9Yes2.6 [p 8] [p 9]
sizeslinkNo138.0 (only mobile) [g 16] [g 17] Yes [w 19] No
charsetmeta4.0 [23] 121.9.2Yes2.5.24
scopedstyleNoNo21.0 [g 18] No [w 20] No
asyncscript6.0121.9.2 [g 19] Yes [w 21]
reversedolNoNo18.0 [g 20] Yes [w 22]
download[ citation needed ]a,areaNo1320.0 [g 21] Yes
sandboxiframe6.0 [t 5] 1217.0 [g 22] 533 [w 23]
seamlessiframeNoNoNo [g 23] No [w 24]
AttributeElement MSHTML EdgeHTML Gecko WebKit Presto

Global attributes

MSHTML Gecko WebKit Presto
translate [24] No
Datasets (data-*)No6.0 [g 24] Yes [w 25] 2.8 [p 10]
contextmenu8.0 [g 25] No [w 16] No
hidden2.0 [g 26] Yes [w 26] 2.7.70
contenteditable [25] <3.1[IE 5.5]1.9Yes2.0
spellcheck [26] 6.01.8 [g 27] Incorrect [w 27] 2.8 [p 11]
draggable1.9.1 [g 28] 533 [w 28] 2.10.270
dropzoneNoNo [g 29] Yes2.10.270
MSHTML Gecko WebKit Presto

Form elements and attributes

Many of these features can be emulated with third-party libraries.[ citation needed ]

MSHTML Gecko [g 30] WebKit [w 29] Presto [p 12]
Attributes
autocomplete3.1YesYes2.0
list6.0 [t 6] 2.0 [g 31] Yes [w 30]
required6.0 [t 7] 2.0 [g 32] 528 [lower-alpha 4] [w 31]
multiple6.0 [t 8] 1.9.2 [lower-alpha 5] [g 33] 526 [lower-alpha 5] [w 32] 2.7 [p 13]
pattern6.0 [t 9] 2.0 [g 34] 528 [lower-alpha 4] [w 33] [w 31] 2.0
min, max6.0 [t 10] [t 11] 16.0 [g 35] [g 36] Yes [w 34]
step6.0 [t 12] 16.0 [g 37] 528 [w 35]
placeholder6.0 [t 13] 2.0 [g 38] Yes2.7 [p 13]
formNo2.0 [g 39] Yes [w 36] 2.0
autofocus6.0 [t 14] 2.0 [g 40] 528 [w 37]
maxlength6.0 [t 15] 2.0 [g 41] 528 [w 38]
novalidate6.0 [t 16] 2.0 [g 42] 528 [w 39] 2.8 [p 11]
controlNo2.0 [g 43] NoNo
acceptNo2.0 [g 44] Yes [w 40] Yes
formtarget6.0 [t 17] 2.0 [g 45] Yes [w 41] 2.8 [p 11]
formaction6.0 [t 18] 2.0 [g 46] Yes [w 41] 2.8 [p 11]
formmethod6.0 [t 19] 2.0 [g 47] Yes [w 41] 2.8 [p 11]
formenctype6.0 [t 20] 2.0 [g 47] Yes [w 41] 2.8 [p 11]
formnovalidate6.0 [t 21] 2.0 [g 48] 528 [w 39] 2.8 [p 11]
disabled (fieldset element)<3.12.0No2.7
Elements
datalist6.0 [t 22] 2.0 [g 49] Yes [w 42] 2.0
keygen [27] No [t 23] 1.0 [g 50] 1251.0
outputNo2.0 [g 51] Yes [w 43] 2.0
progress6.0 [t 24] 6.0 [g 52] Yes [w 44] 2.7 [p 13]
meterNo16.0 [g 53] Yes [w 45]
Input types
search6.0 [t 25] 2.0 [g 54] 312 [w 46] 2.7 [p 13]
tel6.0 [t 26] 2.0 [g 55] 528 [w 47]
url6.0 [t 27] 2.0 [g 56] 528 [w 47] 2.0
email6.0 [t 28] 2.0 [g 57] 528 [w 47]
datetimeNoNo [g 58] No [w 48] [w 49]
dateNoYes
monthNo
weekNo
timeNo
datetime-localNo
number6.0 [t 29] 29.0 [g 59] 528 [w 47]
range6.0 [t 30] 23.0 [g 60] Yes
colorNo29.0 [g 61] Yes [w 50] 2.7 [p 13]
MSHTML Gecko WebKit Presto

APIs

MSHTML EdgeHTML Gecko WebKit Presto
getElementsByClassName [28] 5.0 [t 31] 121.9 [g 62] 5252.1
registerProtocolHandlerNoNo1.9 [lower-alpha 6] [ dead link ]Yes [w 51] 2.10 [p 14]
registerContentHandler1.8 [lower-alpha 7]
Cross-document messaging 4.0121.9 [g 65] Yes2.0
Drag-and-drop6.0121.9.1 [g 28] Yes2.10.270 [p 15]
pushState() and replaceState()6.0 [t 32] 122.0 [g 66] 528 [w 52] 2.9 [p 16]
MSHTML EdgeHTML Gecko WebKit Presto

Other features

MSHTML Gecko WebKit Presto
Microdata No16.0 [g 67] No [w 53] Yes [p 17]
HTML5 Tokenizer6.0 [t 33] 2.0 [g 68] Yes [w 54] 2.10 [p 18]
HTML5 Tree BuilderYes [w 14]
HTML5 Fragment ParserYes
<a rel="noreferrer">No33.0 [g 69] Yes [w 55] No
window.onhashchange4.0 [t 34] 1.9.2 [g 70] 528 [w 56] 2.6 [p 19]
element.classListNo1.9.2 [g 71] Yes [w 57] 2.8 [p 11]
dir="auto"No20.0 [g 72] 528+ [w 58] No
MSHTML 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]

MSHTML EdgeHTML Gecko WebKit Presto
<track>6.0 [t 35] 12
<a ping>NoNoDepends [g 73] [lower-alpha 8] Depends [w 59] [lower-alpha 9]
MSHTML EdgeHTML Gecko WebKit Presto
main element [30] No1221.0 [g 76] Yes [w 60] No
template element [31] No13NoYes [w 61] No
Selectors API [32] 4.0 [t 36] 121.9.1 [g 77] 525 [w 62] 2.2 [p 20]
Web Storage [33] 4.0121.9.1 [g 78] 5252.5 [p 21]
Indexed Database API [34] 5.0 [t 37] 1216.0 [g 79] PartialNo
Web SQL Database (obsolete) [35] NoNoNo [g 80] Yes [w 63] 2.5 [p 21]
File API [36] 5.012Yes [g 81] Yes [w 64] [w 65] 2.8 [p 22]
File API: Writer [37] 5.0NoNo [g 82] Partial [w 66] No
File API: Directories and System [38] NoNoNo [g 83] Yes [w 67]
Media Capture API [39] 2.0 [lower-alpha 10] No2.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] 1211.0 [g 86] 5332.11 [lower-alpha 11]
Web Workers [42] [43] 6.0 [t 39] 121.9.1 [g 87] Yes2.6 [p 8] [p 9]
Geolocation API [44] 5.0 [t 40] 121.9.1 [g 88] 533 [w 69] 2.6 [lower-alpha 12]
Offline Web applications [45] 6.0 [t 41] 121.9.1 [g 89] Yes2.6 [p 8] [p 9]
Web Notifications [46] NoNo22.0 [47] [48] only in Chrome [49] 25
MSHTML 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.

MSHTML Gecko WebKit Presto
<audio> attributes
src5.0 [t 1] 1.9.15252.5
preload2.0 [note 11] [g 90] Experimental [note 11]
autoplay1.9.12.5
loop11.0 [g 91]
controls1.9.1
<video> attributes
src5.0 [t 1] 1.9.15252.5
preload2.0 [note 11] [g 90] Experimental [note 11]
autoplay1.9.12.5
loop11.0 [g 91]
controls1.9.1
poster1.9.2 [g 92]
width1.9.1
height
<source> attributes
src5.0 [t 1] 1.9.1525 [w 70] 2.5
type
media15.0 [g 93]
<track> attributes
kind6.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.

MSHTML Gecko WebKit Presto [p 31]
Error state
MediaError5.0 [t 43] 1.9.1 ?2.5
Network state
src5.0 [t 1] 1.9.1 ?2.5
currentSrc
networkState
preload2.0 [note 11] [g 90] No
buffered2.0 [g 95]
load()1.9.12.5
canPlayType()533 [w 72]
Ready state
readyState5.0 [t 1] 1.9.1 ?2.5
seeking
Playback state
currentTime5.0 [t 1] 1.9.1 ?2.5
startTimeNo
duration1.9.1
paused
defaultPlaybackRate20.0 [g 96] No
playbackRate
played15.0 [g 97]
seekable8.0 [g 98]
ended1.9.12.5
autoplay
loop11.0 [g 91]
play()1.9.1
pause()
Controls
controls5.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.

MSHTML Gecko [g 99] WebKit Presto
loadstart5.0 [t 44] 1.9.1 ? ?
progress
suspend1.9.2
abort1.9.1
error
emptied
stalled8.0 [g 100]
play1.9.1
pause
loadedmetadata
loadeddata
waiting
playingNo
canplay1.9.1
canplaythrough
seeking
seeked
timeupdate
ended
ratechange
durationchange
volumechange

Video format support

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]

Audio format support

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 NoYes [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.

MSHTML Gecko WebKit Presto
getContext5.01.8Yes2.0
toDataURL1.8 [g 108] Yes [w 80] 2.1 [note 15]

Supported contexts

MSHTML Gecko WebKit Presto
2d5.01.9.1Partial2.6
WebGL 7.0 [t 48] Depends [g 109] Depends [w 81] 2.9.220 [p 36]

Rendering Context 2D

MSHTML [t 49] Gecko [g 110] WebKit [w 82] Presto [p 37] [p 38]
The canvas state
save5.01.8Yes2.0
restore
Transformations
scale5.01.8Yes2.0
rotate
translate
transform2.6 [note 16] [p 39] [p 40] [p 41]
setTransform2.6 [note 16]
Compositing
globalAlpha5.01.8Yes2.0
globalCompositeOperation
Colors and styles
strokeStyle5.01.8Yes2.0
fillStyle
createLinearGradient
createRadialGradient
createPattern
Line styles
lineWidth5.01.8Yes2.0
lineCap
lineJoin
miterLimit
Shadows
shadowOffsetX5.01.9.1 [g 111] Yes2.4 [note 17]
shadowOffsetY
shadowBlur
shadowColor
Simple shapes
clearRect5.01.8Yes2.0
fillRect
strokeRect
Complex shapes
beginPath5.01.8Yes2.0
closePath
moveTo
lineTo
quadraticCurveTo1.8.1 [note 18]
bezierCurveTo1.8
arcTo1.8.1 [g 112]
rect1.8
arc
fill
stroke
clip
isPointInPath
Focus management
drawFocusRingNo28.0 [g 113] NoNo
Text
font5.01.9.1 [note 19] YesNo
textAlign2.6
textBaseline
fillText
strokeText
measureText
Images
drawImage5.01.8Yes2.0
createImageData1.9.1 [g 115] [g 116] 2.7 [p 42]
getImageData1.9 [g 116] 2.6 [note 16]
putImageData2.0 [g 117] [g 116]

See also

Notes

  1. <q> does not support nested quotes prior to Gecko 1.8. [2]
  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]
  3. Prior to Internet Explorer 8.0 (MSHTML 4.0), and in earlier compatibility modes, the innerText is submitted instead of the value attribute. [4]
  4. <label> was focusable prior to KHTML 3.4.2.[ citation needed ]
  5. Internet Explorer 9 (MSHTML 5.0) and earlier is limited to 31 <style> elements. [5] [6]
  6. MSHTML does not hide CSS backgrounds and borders on a <noscript> element when scripting is enabled[ citation needed ].
  7. While alphabetic and alphanumeric words are affected, numeric (numbers only) words are not.[ citation needed ]
  8. Supported for only img.
  9. 1 2 Supported for only font.
  10. MSHTML dropped support for wbr in version 5.0. [17]
  11. 1 2 3 4 5 Supports preload under the older name autobuffer.
  12. 1 2 3 4 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.
  13. 1 2 3 4 5 6 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]
  14. 1 2 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 32]
  15. Presto 2.0 had partial support for this property.
  16. 1 2 3 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.
  17. Prior to version 2.4, Presto only had partial support for this property.
  18. Incorrect in Gecko 1.8
  19. Gecko had experimental support in version 1.9, with different names. [g 114]
  1. 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]
  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]
  3. MathML for CSS, XHTML only [p 5]
  4. 1 2 Form validation disabled in Safari Can I use... Support tables for HTML5, CSS3, etc.
  5. 1 2 For file inputs only.
  6. Limited to the feed protocol in 1.8; fully supported in 1.9. [g 63]
  7. Limited to feed MIME types in 1.8 and 1.9. [g 64]
  8. The ping attribute is disabled by default, due to privacy concerns. [g 74] [g 75]
  9. The ping attribute is disabled by default, thus needs to be manually enabled by each port
  10. Currently partially supported in nightly builds for the Linux platform. [g 84]
  11. 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.
  12. 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]

Related Research Articles

<span class="mw-page-title-main">Document Object Model</span> Convention for representing and interacting with objects in HTML, XHTML and XML documents

The 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.

<span class="mw-page-title-main">Scalable Vector Graphics</span> Open standard for two-dimensional vector graphics

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.

<span class="mw-page-title-main">Browser wars</span> Competition between web browsing applications for share of worldwide usage

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.

<span class="mw-page-title-main">Web typography</span> Publishing considerations for the Web

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.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

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.

<span class="mw-page-title-main">CSS box model</span> Model used for styling websites

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.

References

  1. Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.
  2. "New Web Developer Features in Deer Park Alpha 1". Mozilla. 27 May 2005. Retrieved 25 March 2011.{{cite journal}}: Cite journal requires |journal= (help)
  3. "What's New in Internet Explorer 7". Microsoft Developer Network . Microsoft. Retrieved 25 March 2011.
  4. "button element | button object (Internet Explorer)". Microsoft. Retrieved 29 November 2012.
  5. "A webpage that uses CSS styles does not render correctly in Internet Explorer". Microsoft. 31 August 2010. Retrieved 25 March 2011.{{cite journal}}: Cite journal requires |journal= (help)
  6. Removal of style sheet limits (Windows), Microsoft
  7. HTML 4 Changes, W3C, 18 December 1997, retrieved 7 May 2008
  8. 1 2 Bug 3875 – (basefont) deprecated basefont element not supported, Mozilla
  9. HTML 3.2 Reference Specification, W3C, 14 January 1997, retrieved 8 October 2008
  10. Isindex Example, archived from the original on 5 April 2008, retrieved 7 May 2008
  11. Tommy A. Olsen (28 November 2011). "Opera Desktop Team – Glyphs and plugins" . Retrieved 28 November 2011. CORE-34613 Drop support for <bgsound>
  12. "Mozilla Aurora Notes". Mozilla. Retrieved 1 June 2013.
  13. 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
  14. 1 2 "Complete List of HTML Tags" . Retrieved 10 October 2011.
  15. 1 2 "Extensions to HTML". Netscape. 1994. Retrieved 10 October 2011.
  16. Bug 531056 – [HTML5] Remove spacer support, Mozilla
  17. Zeilenumbruch erlauben (in German), Impressum
  18. XML Element | xml Object, Microsoft
  19. Bug 207900 – psychotekk.de – the target attribute in the form element is ignored, Mozilla
  20. Studholme, Oli (11 May 2010), The ruby element and her hawt friends, rt and rp, HTML5 Doctor
  21. "HTML Standard".
  22. "HTML5". microsoft.com. Microsoft.
  23. W3C – Test results: HTML character encoding basics, 12 April 2010, archived from the original on 2 March 2012
  24. WHATWG Weekly: translate attribute and other changes to HTML, 7 February 2012
  25. Pilgrim, Mark (6 March 2009), The Road to HTML 5: contentEditable
  26. Pilgrim, Mark (4 March 2009), The Road to HTML 5: spellchecking
  27. "keygen", Mozilla Developer Center, Mozilla, retrieved 13 March 2010
  28. Koch, Peter-Paul, DOM Core, QuirksMode
  29. "Is this HTML5?", HTML5 (including next generation additions still in development), WHATWG, 4 May 2010, retrieved 4 May 2010
  30. main element – an HTML5 extension specification, W3C, 17 December 2012
  31. HTML Templates, W3C, 14 February 2013
  32. Selectors API Level 1, W3C
  33. Web Storage, W3C
  34. Indexed Database API, W3C
  35. Web SQL Database, W3C
  36. File API, W3C, 26 October 2010
  37. File API: Writer, W3C, 26 October 2010
  38. File API: Directories and System, W3C, 26 October 2010
  39. Media Capture API, W3C
  40. Server-Sent Events, W3C
  41. The Web Sockets API, W3C
  42. Web Workers, W3C
  43. Resig, John (21 July 2009), Computing with JavaScript Web Workers
  44. Geolocation API Specification, W3C
  45. 5.6 Offline Web applications — HTML5, W3C
  46. Web Notifications, W3C
  47. Available only in Firefox Mobile as of Gecko 2.0
  48. 594543 – Implement Desktop Notifications
  49. There is a bug in Chrome but is working
  50. via OpenH264
  51. 1 2 "WebM, VP9 and Opus Support in Microsoft Edge". 18 April 2016.
MSHTML
  1. 1 2 3 4 5 6 7 8 9 10 Internet Explorer Platform Preview Guide for Developers, Microsoft
  2. Ruby
  3. 1 2 Bisson, Simon (17 September 2010), Microsoft previews Internet Explorer 9 with HTML5 support, ZDNet
  4. Hachamovitch, Dean (23 June 2010), HTML5, Native: Third IE9 Platform Preview Available for Developers, Microsoft
  5. Rossi, Jacob (14 July 2011), Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox, Microsoft
  6. "list attribute | list property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  7. "required attribute | required property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  8. "multiple property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  9. "pattern attribute | pattern property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  10. "min attribute | min property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  11. "max attribute | max property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  12. "step property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  13. "placeholder attribute | placeholder property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  14. "autofocus attribute | autofocus property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  15. "maxlength attribute | maxLength property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  16. "noValidate property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  17. "formTarget property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  18. "formAction attribute | formAction property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  19. "formMethod attribute | formMethod property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  20. "formEnctype attribute | formEnctype property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  21. "formNoValidate attribute | formNoValidate property (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  22. "datalist object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  23. PRB: HTML Tag KEYGEN Not Supported in Internet Explorer, Microsoft
  24. "Progress element | Progress object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  25. "input type=search object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  26. "input type=tel element | input type=tel object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  27. "input type=url element | input type=url object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  28. "input type=email element | input type=email object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  29. "input type=number element | input type=number object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  30. "input type=range element | input type=range object (Internet Explorer)". Microsoft. Retrieved 16 November 2012.
  31. getElementsByClassName, Microsoft, archived from the original on 23 July 2012, retrieved 19 April 2018
  32. HTML5 History in IE10, Microsoft
  33. HTML5 Parsing in IE10, Windows Internet Explorer Engineering Team, 6 July 2001
  34. onhashchange Event, Microsoft
  35. "track element | track object (Internet Explorer)". Microsoft. Retrieved 29 November 2012.
  36. Resig, John (6 March 2008), JavaScript in Internet Explorer 8
  37. IndexedDB Prototype Available for Internet Explorer
  38. WebSockets in Windows Consumer Preview, IE Engineering Team
  39. Leithead, Travis (2 July 2011), Web Workers in IE10: Background JavaScript Makes Web Apps Faster, Microsoft
  40. Acting on Feedback: IE9 Release Candidate Available for Download
  41. "Application Cache API ("AppCache") (Windows)". Microsoft. Retrieved 17 November 2012.
  42. "track element – track object (Internet Explorer)". Microsoft. Retrieved 12 July 2013.
  43. MSDN HTMLMediaError Object for Internet Explorer 9, Microsoft
  44. "video object". Microsoft. Retrieved 12 July 2013.
  45. Jazayeri, Mike (1 January 2011), More about the Chrome HTML Video Codec Change
  46. McCracken, Harry (1 March 2010), Microsoft Previews the Revamped Internet Explorer 9 Platform, Technologizer
  47. Branscombe, Mary (1 March 2010), Microsoft previews Internet Explorer 9, TechRadar UK, archived from the original on 22 March 2010, retrieved 19 April 2018
  48. "Introducing IE11: The Best Way to Experience the Web on Modern Touch Devices". Microsoft. Retrieved 8 November 2013.
  49. Internet Explorer Platform Preview Release Notes, archived from the original on 19 April 2010, retrieved 19 April 2018
Gecko
  1. Bug 559284 – Support for HTML5 sectioning elements (article, aside, footer, header, hgroup, nav, section): style as display:block, Mozilla
  2. Bug 562008 – HTML5 section DOM elements should be of type HTMLElement, Mozilla
  3. Bug 629801 – Implement HTML5 <time> element, Mozilla
  4. Bug 485377 – Implement HTML5's <mark> tag, Mozilla
  5. Bug 33339 – HTML5 <ruby> support, Mozilla, retrieved 3 December 2014
  6. Implement the HTML5 dialog element, Mozilla
  7. Implement the figure element, Mozilla
  8. Support media attribute of source elements, Mozilla
  9. Canvas – MDC, Mozilla
  10. Bug 591737 – Support for HTML5's <details> and <summary>, Mozilla
  11. Implement the HTML5 command API, Mozilla
  12. Implement HTML5 toolbar menus, Mozilla
  13. Bug 613149 – Support HTML5 bdi element and CSS property unicode-bidi: isolate, Mozilla
  14. Bug 839371 – Implement HTML5 <data> element, Mozilla
  15. Bug 870022 – Implement 'picture' element, Mozilla
  16. Bug 596650 – Use the "sizes" attribute to select the best web app icon, Mozilla
  17. Bug 441770 – Add 'sizes' getter/setter to link elements, Mozilla
  18. Bug 508725 – Implement HTML 5 scoped attribute on STYLE tag, Mozilla
  19. Bug 503481 – Implement async attribute of script element, Mozilla
  20. Bug 601912 – HTML 5's <li> reversed attribute not supported, Mozilla
  21. Bug 676619 – Implement proposed download attribute, Mozilla
  22. Bug 341604- Implement IFRAME's sandbox attribute, Mozilla
  23. Bug 631218 – implement the HTML5 seamless attribute for the iframe element, Mozilla
  24. Bug 560112 – Implement HTML5 dataset attribute, Mozilla
  25. Changes for web developers, Mozilla, archived from the original on 7 October 2011
  26. Bug 567663 – Implement the hidden attribute, Mozilla
  27. Controlling spell checking in HTML forms, Mozilla
  28. 1 2 Blizzard, Christopher (15 July 2009), HTML5 drag and drop in Firefox 3.5
  29. Bug 723008 – Implement dropzone attribute, Mozilla
  30. User:Mounir.lamouri/HTML5 Forms, Mozilla
  31. Bug 556007 – Implement list attribute, Mozilla
  32. Bug 345822 – Implement required attribute for <input type="text">, <textarea>, Mozilla
  33. Bug 523771 – Support <input type=file multiple>, Mozilla
  34. Bug 345512 – Implement pattern attribute for <input type="text">, <textarea>, Mozilla
  35. Bug 635499- Implement the max attribute, Mozilla
  36. Bug 635553- Implement the min attribute, Mozilla
  37. Bug 556009 – Implement step attribute, Mozilla
  38. Bug 457800 – Implement placeholder attribute for text input fields, Mozilla
  39. Bug 588683 – Implement form attribute, Mozilla
  40. Bug 546995 – Implement autofocus attribute for some form elements, Mozilla
  41. Bug 535043 – Support maxlength on textarea, Mozilla
  42. Bug 556013 – Implement novalidate attribute for form elements, Mozilla
  43. Bug 562932 – Implement control attribute for label element, Mozilla
  44. 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
  45. Bug 566064 – HTMLInputElement and HTMLButtonElement should implement formtarget attribute which override HTMLFormElement target attribute, Mozilla
  46. Bug 566160 – HTMLInputElement and HTMLButtonElement should implement formaction attribute which override HTMLFormElement action attribute, Mozilla
  47. 1 2 Bug 582412 – Implement @formmethod, @formenctype, Mozilla
  48. Bug 589696 – Implement formnovalidate attribute for submit controls, Mozilla
  49. Bug 555840 – Implement datalist element, Mozilla
  50. Bug 101019 – Implement keygen element, Mozilla
  51. Bug 346485 – Implement Web Forms 2 <html:output/>, Mozilla
  52. Bug 514437 – Implement HTML 5 progress element, Mozilla
  53. Bug 555985 – Implement meter element, Mozilla
  54. Bug 456229 – Implement <input type="search"> for compatibility with Safari, Mozilla
  55. Bug 557620 – Implement <input type="telephone">, Mozilla
  56. Bug 344615 – Implement <input type="url">, Mozilla
  57. Bug 555559- Implement <input type="email">, Mozilla
  58. Bug 446510 – Implement <input type="date"> and other date controls, Mozilla
  59. Bug 344616 – Implement <input type="number">, Mozilla
  60. Bug 344618 – Implement <input type="range">, Mozilla
  61. Bug 547004 – Implement <input type="color">, Mozilla, retrieved 18 February 2010
  62. Bug 357450 – Implement getElementsByClassName, Mozilla
  63. window.navigator.registerProtocolHandler, Mozilla, archived from the original on 4 June 2011
  64. Navigator.registerContentHandler(), Mozilla
  65. Bug 387706 – (postMessage) Implement HTML5's cross-document messaging API (postMessage), Mozilla
  66. Bug 500328 – Add support for HTML5 History.pushState(), History.replaceState() methods, Mozilla
  67. Bug 591467 – Implement HTML5 Microdata API, Mozilla
  68. Bug 373864 – Replace HTML parser with an HTML5 parser, Mozilla
  69. Bug 530396 – Support for <a rel="noreferrer"> functionality, Mozilla
  70. Bug 385434 – Add support for HTML5 onhashchange (event for named anchor changes), Mozilla
  71. Bug 501257 – Implement HTML 5's HTMLElement.classList property, Mozilla
  72. Bug 548206 – Implement the auto value for the HTML dir attribute, Mozilla
  73. Bug 319368 – Implement <a ping>, Mozilla
  74. Bug 324645 – <a ping> support should be opt-in, not opt-out, for Gecko-based apps, Mozilla
  75. Bug 319368 – Implement <a ping> (Comment 64), Mozilla
  76. Bug 820508 – Add support for <main> element, Mozilla
  77. document.querySelector
  78. DOM Storage, Mozilla, archived from the original on 29 June 2011, retrieved 19 April 2018
  79. Implement Indexed Database API, Mozilla
  80. Bug 416327 – Implement Client-side database storage, Mozilla
  81. Using files from web applications, Mozilla
  82. Bug 557540 – Implement File API: Writer, Mozilla
  83. FileSystem API, Mozilla
  84. Bug 692955 – Camera support for desktop, Mozilla
  85. Bug 338583 – Add support for Server-Sent DOM Events (Remote Events), Mozilla
  86. Bug 472529 – Support for Web sockets' HTML5 Draft Recommendation, Mozilla
  87. Bug 437152 – implement worker threads, Mozilla
  88. Using geolocation, Mozilla
  89. Offline resources in Firefox, Mozilla
  90. 1 2 3 Bug 548523 – HTML 5 media attribute 'autobuffer' has been renamed to 'preload', Mozilla
  91. 1 2 3 Bug 449157 – Implement the looping attributes in media elements, Mozilla
  92. Bug 449156 – Implement the poster attribute for the <video> element, Mozilla
  93. Bug 449363 – Support media attribute of <source> elements, Mozilla
  94. Bug 629350 – Implement the track element, Mozilla
  95. Bug 462957 – Implement nsIDOMHTMLMediaElement::GetBuffered(), Mozilla
  96. Bug 495040 – Implement playbackRate, Mozilla
  97. Bug 462959 – Implement nsIDOMHTMLMediaElement::GetPlayed(), Mozilla
  98. Bug 462960 – Implement nsIDOMHTMLMediaElement::GetSeekable(), Mozilla
  99. Using audio and video in Firefox – Media events, Mozilla, archived from the original on 8 May 2012, retrieved 19 April 2018
  100. Bug 481082 – Video controls should listen for |stalled| event, Mozilla
  101. 1 2 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
  102. Bug 799318 – [meta] Support H.264/AAC/MP3 video/audio playback on desktop Firefox, Mozilla
  103. Bug 566243 – Merge mozilla-webmedia repository to mozilla-central, Mozilla
  104. Firefox WebM Builds, Mozilla
  105. Bug 562730 – Reproducing Mp3 files with html5, Mozilla
  106. Bug 476752 – support the speex voice codec in <audio> and <video> elements, Mozilla
  107. Bug 674225 – support the Opus voice codec in <audio> and <video> elements, Mozilla
  108. "The Graphics Canvas element - HTML: HyperText Markup Language | MDN".
  109. WebGL – MDC, Mozilla
  110. Canvas tutorial – MDC
  111. Bug 310682 – Implement shadows for <html:canvas>, Mozilla
  112. Bug 333613 – update canvas on branch, Mozilla
  113. Bug 540456 – Support HTML5 canvas drawFocusRing(), Mozilla
  114. Bug 436904 – implementing Canvas text spec, Mozilla
  115. Bug 433004 – Support canvas.getContext("2d").createImageData(), Mozilla
  116. 1 2 3 Pixel manipulation with canvas – MDC
  117. Bug 498826 – canvas putImageData doesn't implement optional arguments, Mozilla
Webkit
  1. Bug 32936 – HTML5 <section> element support, WebKit
  2. Bug 27937 – Implement HTML5 nav element, WebKit
  3. Bug 32942 – HTML5 <article> element support, WebKit
  4. Bug 32943 – HTML5 <aside> element support, WebKit
  5. Bug 33369 – Implement HTML5 <hgroup> element., WebKit
  6. Bug 32944 – HTML5 <header> and <footer> elements support, WebKit
  7. Bug 41144 – Implement the HTML5 <mark> element., WebKit
  8. Bug 28420 – Implement HTML5 <ruby> rendering, WebKit
  9. Steiner, Roland (20 January 2010), "Ruby Rendering in WebKit", Surfin' Safari, WebKit, archived from the original on 21 December 2016, retrieved 21 January 2010
  10. Bug 84635 – Implement the DIALOG element, WebKit
  11. Bug 50684 – Default styling rules for the figure and figcaption elements, WebKit
  12. "Google subtracts MathML from Chrome, and anger multiplies". CNET. 5 November 2013.
  13. Bug 42373 – Changes to enable MathML, WebKit
  14. 1 2 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.
  15. 1 2 Bug 50309 – HTML5 <details> and <summary> initial implementation, WebKit
  16. 1 2 Bug 50555 – implement the HTML5 "context menu" feature (contextmenu attribute), WebKit
  17. Bug 50913 – [BiDi] Add support for the BDI element, WebKit
  18. Bug 116963 – (picture) Implement 'picture' element, WebKit
  19. Bug 37674 – Implement sizes attribute for link tag from HTML5, WebKit
  20. Bug 49142 – Implement HTML5 style scoped attribute, WebKit
  21. Bug 20710 – WebKit should support defer and async on script elements, WebKit
  22. Bug 36724 – Add support for ol reversed, WebKit
  23. Bug 21288 – Implement HTML5's sandbox attribute for iframes, WebKit
  24. Bug 45950 – Implement HTML5's seamless attribute for iframes, WebKit
  25. Bug 41146 – Implement the .dataset DOM property, WebKit
  26. Bug 40511 – Implement HTML5 hidden attribute, WebKit
  27. Bug 25537 – WebKit does not follow HTML5 spellcheck attribute logic for words split by spans, WebKit
  28. Bug 26262 – Implement HTML5 draggable, WebKit
  29. Bug 19264 – HTML5 Forms Implementation – Master bug, WebKit
  30. Bug 27247 – [HTML5][Forms] Part 5 of datalist&list: UI of 'list' attribute of <input>, WebKit
  31. 1 2 Bug 59019 – Enable the interactive form validation feature by default, WebKit
  32. Almaer, Dion (6 March 2009), input type="file" multiple; now in a real browser!, Ajaxian
  33. Bug 25552 – Support for HTML5 Forms "pattern" attribute, WebKit
  34. Bug 27450 – Support HTML5 min/max attributes and associated CSS selectors, WebKit
  35. Bug 27451 – Support HTML5 step attribute, WebKit
  36. Bug 47813 – [HTML5] "form" attribute support for form control elements, WebKit
  37. Bug 18887 – WF2 Support for autofocus controls, WebKit
  38. Bug 29292 – [HTML5][Forms] Support for <textarea maxlength=N>, WebKit
  39. 1 2 Bug 28145 – novalidate/formnovalidate support, WebKit
  40. Bug 45079 – HTML <input type='file' about='#mwt1709' typeof='mw:ExpandedAttrs' data-mw='{"attribs":[[{"txt":"type","html":"type<span typeof=\"mw:Nowiki\" data-parsoid=\"{}\">=</span>\"file\""},{"html":""}]]}' /> accept attribute, WebKit
  41. 1 2 3 4 Bug 49240 – Implement formaction, formenctype, formmethod and formtarget attributes for the input tag, WebKit
  42. Bug 27247 – Master bug of datalist element and list attribute implementation, WebKit
  43. Bug 29363 – [HTML5][Forms] Support for <output> element, WebKit
  44. Bug 37307 – [Chromium] Support for <progress> element, WebKit
  45. Bug 37074 – Support for HTMLMeterElement, WebKit
  46. Hyatt, David (July 2004), The Search Field, archived from the original on 26 January 2010
  47. 1 2 3 4 Bug 25554 – Implement HTML5 Input element types for Text Fields, WebKit
  48. Bug 29004 – [HTML5][Forms] simple implementation of date&time types of INPUT element, WebKit
  49. Bug 29359 – Add UIs for date and time types of <input>
  50. Bug 28966 – [HTML5][Forms]<input type=color> simple implementation, WebKit
  51. Bug 44740 – registerProtocolHandler and registerContentHandler, WebKit
  52. Bug 32052 – Implement HTML5 state object history API, WebKit
  53. Bug 68609 – Implement HTML5 Microdata (master bug)
  54. Bug 39259 – MASTER: WebKit needs an HTML5 Tokenizer
  55. Chapin, Nate (19 November 2009), WebKit nightlies support HTML5 noreferrer link relation, archived from the original on 14 March 2017, retrieved 20 November 2009
  56. Bug 21605 – Support for HTML5 "hashchange" event, WebKit
  57. Bug 20709 – Implement HTML 5's HTMLElement.classList property, WebKit
  58. Bug 50916 – Add support for dir=auto, WebKit
  59. Bug 30458 – Implement <a ping>, WebKit
  60. Bug 103172 – implement the HTML <main> element, WebKit
  61. Bug 113016 – HTMLStackItem should include <template> as a special tag, WebKit
  62. Smith, David (7 February 2008), querySelector and querySelectorAll, archived from the original on 16 November 2016, retrieved 19 April 2018
  63. Eidson, Brady (19 October 2007), WebKit Does HTML5 Client-side Database Storage , retrieved 22 October 2009
  64. Bug 36567 – Implement FileAPI/FileWriter, WebKit
  65. Bug 38157 – Implement FileReader class, WebKit
  66. Bug 44358 – Implement FileWriter, WebKit
  67. Bug 42903 – Implement FileAPI: Directories and System (a.k.a. FileSystem API), WebKit
  68. Bug 14997 – Support for server-sent DOM events, WebKit
  69. Bug 21475 – Provide support for the Geolocation API, WebKit
  70. Pfeiffer, Silvia (1 December 2009), [whatwg] Quality Values for Media Source Elements, archived from the original on 19 July 2011, retrieved 19 April 2018
  71. April 2012 HTML5 Media Element & WebAudio – WebKit
  72. Bug 24364 – Add HTMLMediaElement canPlayType method, WebKit
  73. Koivisto, Antti (1 November 2007), HTML5 Media Support, WebKit
  74. Look for "GOOGLE_CHROME_BUILD"
  75. 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
  76. Origyn Web Browser for MorphOS, Fabian Coeurjoly, retrieved 4 January 2010
  77. Holwerda, Thom (8 March 2010), Origyn Web Browser 1.7 Supports HTML5 Media, More, OSNews, retrieved 8 March 2010
  78. HTML Video Codec Support in Chrome , retrieved 22 January 2010
  79. Bankoski, Jim (1 May 2010), WebM and VP8 land in Chromium
  80. WebKit DOM Programming Topics: Using the Canvas
  81. Marrin, Chris (1 October 2009), WebGL Now Available in WebKit Nightlies, Surfin' Safari
  82. WebKit DOM reference – CanvasRenderingContext2D
Presto
  1. "A call for video on the web – Opera <video> release on Labs", Opera
  2. 1 2 "Opera Core Concerns – (re-)Introducing <video>", Opera, archived from the original on 4 January 2010
  3. "Web specifications supported in Opera 9.5", Opera, archived from the original on 25 February 2009, retrieved 19 April 2018
  4. "canvas Support in Opera", Opera, archived from the original on 31 January 2016, retrieved 19 April 2018
  5. Chavchanidze, George (12 June 2008), "Opera 9.5 released", Opera, archived from the original on 13 October 2008
  6. "Implemented full support for the part of the HTML5 specification entitled "Parsing HTML documents".", Opera
  7. "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
  8. 1 2 3 4 Haavard (14 June 2010), "HTML5, and then some", Opera, archived from the original on 17 June 2010
  9. 1 2 3 4 Kleinhout, Huib (1 July 2010), "Opera 10.60 goes final", Opera, archived from the original on 2 July 2010
  10. "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
  11. 1 2 3 4 5 6 7 8 "HTML5 elements, attributes, and APIs support in Opera Presto 2.8", Opera
  12. "HTML 5 Forms support in Opera Presto 2.2", Opera
  13. 1 2 3 4 5 Ø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.
  14. Opera 11.60 changelog, 6 December 2011, archived from the original on 23 October 2014, retrieved 19 April 2018
  15. "Web specifications support in Opera Presto 2.10 – Drag and Drop", Opera
  16. "Introducing the HTML5 History API", Opera
  17. Web specifications support in Opera Presto 2.9
  18. "Opera 11.60 for Windows changelog", Opera, 6 December 2011, archived from the original on 23 October 2014, retrieved 19 April 2018
  19. Haavard (31 May 2010), "Opera 10.60 Alpha 1: Speed, eye-candy, and bug fixing", Opera, archived from the original on 2 June 2010
  20. Hunt, Lachlan (22 May 2008), "Selectors API", Opera, archived from the original on 27 May 2008
  21. 1 2 Dixit, Shwetank (16 December 2009), "Opera 10.5 Pre-Alpha build released: the new additions", Opera, archived from the original on 25 December 2009
  22. "W3C File API support in Opera Presto 2.8", Opera
  23. Web specifications support in Opera Presto 2.10, Opera Software ASA, 13 October 2011
  24. Bersvendsen, Arve (1 September 2006), "Event Streaming to Web Browsers", Opera, archived from the original on 16 October 2006
  25. 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.
  26. Pieters, Simon (11 October 2010). "WebSockets in Opera". Opera. Archived from the original on 12 October 2010. Retrieved 11 October 2010.
  27. van Kesteren, Anne (8 December 2010). "Disabling the WebSocket protocol" . Retrieved 10 January 2011.
  28. "Web specifications support in Opera Presto 2.11". Opera Software ASA. Retrieved 23 July 2012.
  29. Nilsen, Petter (5 February 2010), "Skin fixes, Unite, and then some", Opera, archived from the original on 9 February 2010
  30. "Web specifications supported in Opera Presto 2.5", Opera, archived from the original on 7 February 2012, retrieved 19 April 2018
  31. Pieters, Simon (1 March 2010), "Everything you need to know about HTML5 video and audio", Opera
  32. Jägenstedt, Philip (3 December 2009), "(re-)Introducing <video>", Opera, archived from the original on 4 January 2010
  33. Lie, Håkon Wium (1 May 2010), "Welcome, WebM <video>!", Opera, archived from the original on 21 March 2011
  34. Mills, Chris (1 May 2010), "Opera supports the WebM video format", Opera
  35. Kleinhout, Huib (1 July 2010), "Opera 10.60 goes final", Opera, archived from the original on 2 July 2010
  36. Opera Desktop Team Blog
  37. Opera 9 canvas support, archived from the original on 31 January 2016, retrieved 19 April 2018
  38. Opera 9.5 canvas support, archived from the original on 3 March 2016, retrieved 19 April 2018
  39. Presto 2.1.1 canvas support table, archived from the original on 3 March 2016, retrieved 19 April 2018
  40. Presto 2.5 canvas support table, archived from the original on 4 March 2016, retrieved 19 April 2018
  41. Presto 2.6 canvas support table, archived from the original on 4 March 2016, retrieved 19 April 2018
  42. 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