Comparison of layout engines (HTML5)

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

The following tables compare support of HTML5 differences from HTML4 for a number of layout engines.

The specification is still a working draft, not a recommendation, and thus not stable. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.


Explanation of the tables

Engine nomenclature

Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.

Layout engine Used by
Trident Internet Explorer and other Internet Explorer shells (Microsoft Windows operating systems only)
Tasman Mac OS X versions of Internet Explorer and MSN
Gecko All Mozilla software, including Firefox; SeaMonkey; Galeon; Camino; K-Meleon; Flock; also Epiphany-gecko
WebKit Apple Safari; Google Chrome; Shiira; iCab 4; OmniWeb 5.5+; Epiphany; Adobe AIR; Midori; Adobe Dreamweaver CS4
KHTML Konqueror
Presto Opera; Opera Mobile, Nintendo DS Browser; Internet Channel; future Adobe Systems products
iCab iCab 1-3
Prince XML Prince


Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.

Value Meaning
Yes Indicates that the layout engine fully supports this property/element when valid values are used.
No Indicates that the property/element is completely ignored.
Partial Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly.
Incorrect Indicates that the property/element is understood, but that it is not implemented correctly in all cases.
Experimental Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy.
Dropped Indicates that the property/element is no longer supported.
Nightly build Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected.

Form elements and attributes

Trident Gecko WebKit Presto[1]
autocomplete Yes Yes Yes 2.0
list No No No[2] 2.0
required No No[3] No 2.0
multiple No 1.9.2[n 1][4] 526[n 1][5][6] No
pattern No No[7] 528+[8] 2.0
min, max No No No[9] 2.0
step No No No[10] 2.0
placeholder No No[11] Yes[11] No
challenge[citation needed] No[12] Partial Partial Partial
keytype[citation needed] No[12] Partial Partial Partial
form No No No 2.0
autofocus No No 528+[13] 2.0
maxlength No 1.9.3[14] 528+[15] 2.0
novalidate No No 528+[16] No
datalist No No No 2.0
keygen[citation needed] No[12] Partial Partial Partial
output No No[17] No[18] 2.0
Input types
search No No[19] 312[20] No
tel No No 528+[21] No
url No No[22] 528+[21] 2.0
email No No 528+[21] 2.0
datetime No No[23] No[24] 2.0
number No No[25] 528+[21] 2.0
range No No[26] Yes 2.0
color No No 528+[27] No
Trident Gecko WebKit Presto

Many of these features can be emulated with third-party libraries.


Trident Gecko WebKit Presto
section No No 528+[28] No
nav No No 528+[29] No
article No No 528+[30] No
aside No No 528+[31] No
hgroup No No No[32] No
header No No 528+[33] No
footer No No 528+[33] No
time No No No No
mark No No No No
progress No No No No
meter No No No No
ruby, rt, rp Yes[34] No[35] 528+[36][37] No[38]
figure No No No No
embed 3.0 1.7 85 1.0
video No 1.9.1 (Ogg Theora)[n 2][39][40][41] 525 (H.264 and others)[42][43][44] 2.5 (Ogg Theora)[n 3]
audio No 1.9.1 (Ogg Vorbis, WAV)[n 4][39][41] 525[42][43][44] 2.0 (Ogg Vorbis, WAV)[n 5]
source No 1.9.1[n 6][39][40][41] 525[43] 2.5[45]
canvas No 1.8[46] Partial 2.0[47]
Inline MathML No Partial[n 7] No[49] 2.1[n 8]
Inline SVG No Partial[n 9] Partial[n 10] 1.0[51][n 10]
details No No No No
command No No No No
menu No No No No
Trident Gecko WebKit Presto

While many of these elements, such as section, have not been implemented natively in layout engines, support may be very easy to emulate using CSS or JavaScript.


Element Specific

Attribute Element Trident Gecko WebKit Presto
manifest html No 1.9 Yes No
sizes link No No No No
charset meta Yes Yes Yes Yes
scoped style No No No No
async script No 1.9.2[52] No No
ping a, area No No[n 11] No No
reversed ol No No No No
sandbox iframe No No 528+[54] No
seamless iframe No No No No
Attribute Element Trident Gecko WebKit Presto


Trident Gecko WebKit Presto
Datasets (data-*) No No No No
contextmenu No No No No
hidden No No No No
contenteditable[55] 5.5 1.9 Yes 2.0
spellcheck[56] No Yes No No
draggable No 1.9.1[57] 528+[58] No
Trident Gecko WebKit Presto


Trident Gecko WebKit Presto
getElementsByClassName[59] No 1.9[60] 525 2.1
registerProtocolHandler No 1.9[n 12] No No
registerContentHandler No 1.8[n 13] No No
Cross-document messaging[63] 8.0 1.9[64] 528+ 2.0
Drag-and-drop Partial 1.9.1[57] Partial No
pushState() and replaceState() No 1.9.3[65] 528+[66] No
Trident Gecko WebKit Presto

Other features

Trident Gecko WebKit Presto
Microdata No No No No
Parsing HTML documents No Experimental[n 14] No 2.2[38]
<a rel="noreferrer"> No No 528+[67] No
window.onhashchange 8.0[68] 1.9.2[69] No No
element.classList No 1.9.2[70] No No
Trident Gecko WebKit Presto

Related specifications

Trident Gecko WebKit Presto
Selectors API[71] 8.0[72] 1.9.1[73] 525[74] 2.2[75]
Web Storage[76] 8.0 1.8[n 15] 525 2.5[79]
Web Database[80] No No Yes[81] 2.5[79]
Server-sent Events[82] No No[83] No 2.0
Web Sockets[84] No No[85] Yes[n 16][86] No
Web Workers[87][88] No 1.9.1[89] Yes No
Geolocation API[90] No 1.9.1[91] 528+[92] No[93]
Trident Gecko WebKit Presto


Cite error: Invalid <references> tag;

no input is allowed. Use <references />


Personal tools

Served in 1.318 secs.