Comparison of layout engines (HTML5)

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

Form elements and attributes

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

|

Trident

Gecko

WebKit

Presto

Attributes

autocomplete

list

required

multiple

pattern

min, max

step

placeholder

form

autofocus

maxlength

novalidate

Elements

datalist

keygen

output

Input types

search

tel

url

email

datetime

rowspan="6"

rowspan="6"

rowspan="6"

rowspan="6"

date

month

week

time

datetime-local

number

range

color

Trident

Gecko

WebKit

Presto

Elements

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.

|

Trident

Gecko

WebKit

Presto

section

nav

article

aside

hgroup

header

footer

time

mark

ProgresS

meter

ruby, rt, rp

figure

figcaption

embed

video

{{#tag:ref|loop attribute not supported, poster attribute supported as of 1.9.2.|group=note}}

{{#tag:ref|Beginning in 2007, several experimental builds have been released with Ogg Theora support. Full support for the video element will be included in Presto 2.5.|group=note}}

audio

{{#tag:ref|loop attribute not supported.|group=note}}

{{#tag:ref|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. Full support for the audio element with the Ogg Vorbis and WAV codecs will be included in Presto 2.5.|group=note}}

source

{{#tag:ref|media attribute not implemented.|group=note}}

canvas

Inline MathML

{{#tag:ref|Supported in XHTML and in HTML when the html5.enable preference is set.|group=note|name=moz-inline-xhtml}}

{{#tag:ref|MathML for CSS, XHTML only|group=note}}

Inline SVG

details

summary

command

menu

Trident

Gecko

WebKit

Presto

Attributes

Element Specific

Attribute

Element

Trident

Gecko

WebKit

Presto

manifest

html

sizes

link

charset

meta

scoped

style

async

script

<!--Not in HTML*5* anymore.

ping

a, area

{{#tag:ref|Experimental implementation has been turned off by default in 1.9 due to specification changes late in the development cycle.|group=note}}

-->

reversed

ol

sandbox

iframe

seamless

iframe

Attribute

Element

Trident

Gecko

WebKit

Presto

Global

|

Trident

Gecko

WebKit

Presto

Datasets (data-*)

contextmenu

hidden

contenteditable

spellcheck

draggable

Trident

Gecko

WebKit

Presto

APIs

|

Trident

Gecko

WebKit

Presto

getElementsByClassName

registerProtocolHandler

{{#tag:ref|Limited to the feed protocol in 1.8; fully supported in 1.9.|group=note}}

registerContentHandler

{{#tag:ref|Limited to feed MIME types in 1.8 and 1.9.|group=note}}

Cross-document messaging

Drag-and-drop

pushState() and replaceState()

Trident

Gecko

WebKit

Presto

Other features

|

Trident

Gecko

WebKit

Presto

Microdata

Parsing HTML documents

<a rel="noreferrer">

window.onhashchange

element.classList

Trident

Gecko

WebKit

Presto

|

Trident

Gecko

WebKit

Presto

Selectors API

Web Storage

{{#tag:ref|Fails when the key is an empty string. |group=note}}

Web Database

Server-sent Events

Web Sockets

{{#tag:ref|In Chromium. |group=note}}

Web Workers

Geolocation API

{{#tag:ref|Geolocation support was added in Presto 2.5, but is not enabled by default.|group=note}}

Trident

Gecko

WebKit

Presto

Trident references

Gecko references

Webkit references

Presto references

Other references