Comparison of layout engines (HTML)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. The following tables compare HTML compatibility and support for a number of layout engines. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

Only HTML 4 and XHTML 1.0 served as text/html (so called "HTML compatible" XHTML) are considered. XHTML 1.0 Strict is necessarily XHTML 1.1 with fewer elements and attributes deprecated. XHTML 2.0 is not considered as it is a redefinition of XHTML, which is not backward compatible. For more XHTML-related comparisons, please refer to comparison of layout engines (XHTML).

Version number, if possible, is provided for feature that is fully supported (based on HTML 4.01). Proprietary extensions are not included.

W3C deprecated tags and attributes and proprietary tags are compared in comparison of layout engines (Non-standard HTML).

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 Release version Preview version Used by
Amaya 11.4.7[1] N/A No longer developed; Amaya
Blink 537.36 source code[note 1] Chromium/Chrome (28+), Opera (15+), Yandex, Liebao and Samsung Browser[citation needed].
EdgeHTML 13.10586 [2] N/A Microsoft Edge, Universal Windows Platform (UWP) JavaScript apps
Gecko 43.0.4 (January 6, 2016; 8 years ago (2016-01-06)[3]) [±]
ESR

38.5.2 (December 22, 2015; 8 years ago (2015-12-22)[4]) [±]

Beta

44.0 Beta 8 (January 12, 2016; 8 years ago (2016-01-12)[5][6]) [±]

Developer Edition

45.0a2 (December 18, 2015; 8 years ago (2015-12-18)[7]) [±] daily release

Nightly

46.0a1 (December 14, 2015; 8 years ago (2015-12-14)[8]) [±] daily release

All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Cyberfox; Icedove, Iceape and Iceowl; Firefox for mobile ("Fennec"). Also used by the Maple platform in 2010 and 2011 Samsung "SmartTV" devices which are based on the build used in Firefox 3.0.[citation needed] Nokia Asha platform is also using Gecko for web apps rendering.
KHTML 4.12.3[9] N/A Konqueror[note 2]
Presto 2.12.388 N/A No longer developed; Opera and Opera Mobile use Blink now; Nintendo DS & DSi Browser; Internet Channel
Tasman (IE 5.2.3 for Mac) N/A No longer developed (aborted in 2003); Internet Explorer 5+ for Mac OS X
Trident 7.0 (IE 11) N/A Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 8
WebKit 534.20 nightly build[note 3] Tizen (both OS and browser), Safari (both desktop and mobile), Google Chrome (before 28), Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Web, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt, Dolphin Browser, Sleipnir, Konqueror[note 2]. Used by the LG Smart TV platform to enable web content on TVs.
  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 In Konqueror, the user can switch the used layout engine.
  3. Lua error in package.lua at line 80: module 'strict' not found.


Values

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.
Depends Indicates that the property/element is supported only on certain platforms, or if certain settings are configured.

Global structure elements

The global structure of the document.

Trident Tasman Gecko WebKit KHTML Presto iCab
Basic structure
html <3.1[IE 5.0] Yes 1.0 Yes Yes 1.0 Yes
head <3.1[IE 4.0]
body
Metadata
title <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
meta
Headings
h1 <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
h2
h3
h4
h5
h6
Grouping elements
div <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
span

Text elements

Elements that represent text.

Trident Tasman Gecko WebKit KHTML Presto iCab
Phrase
em <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
strong
dfn
code
samp
kbd
var
cite
acronym
abbr 3.1
Quotations
blockquote <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
q 4.0 1.8[note 1]
Subscripts and superscripts
sub <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
sup
Lines and paragraphs
p <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
pre
br <3.1[IE 5.0]
Marking document changes
ins <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
del

List elements

Elements that represent lists of information.

Trident Tasman Gecko WebKit KHTML Presto iCab
Unordered and ordered lists
ul <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
ol
li
Definition lists
dl <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
dt
dd

Table elements

Elements that represent tabular information.

Trident Tasman Gecko WebKit KHTML Presto iCab
Basic table elements
table <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
caption
tr
th
td
Row groups
thead <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
tbody
tfoot ?
Column groups
colgroup <3.1[IE 4.0] ? 1.0 Yes Yes 1.0 Yes
col

Link elements

Hyperlinks, one of the primary forces driving the success of the World Wide Web.

Trident Tasman Gecko WebKit KHTML Presto iCab
a <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
link
base

Multimedia elements

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

Trident Tasman Gecko WebKit KHTML Presto iCab
Images
img <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
Generic inclusion
object 4.0[note 2] Yes 1.0 Yes Yes 1.0 Yes
param <3.1[IE 6.0]
Image maps
map <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
area 5.0

Frame elements

Elements to present documents in multiple views, which may be independent windows or subwindows. Frame layout is only available in the frameset profiles. All frames are not available in XHTML 1.1 (use generic object elements instead for inline frames).

Trident Tasman Gecko WebKit KHTML Presto iCab
Frame layout
frameset <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
frame
noframes
Inline frames
iframe <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes

Form elements

The user interface controls for interacting with the web server.

Trident Tasman Gecko WebKit KHTML Presto iCab
Basic structure
form <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
fieldset
legend
Form controls and labels
button <3.1[IE 4.0]

[note 3]

Yes 1.0 Yes Yes 1.0 Yes
textarea <3.1[IE 4.0]
input
label 3.4.2[note 4]
List boxes (combo boxes)
select <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
optgroup
option

Presentational elements

Elements that specify presentational information. Although not all elements are deprecated, their use is discouraged in favor of stylesheets. Deprecated elements are not available in the strict profiles and XHTML 1.1.

Trident Tasman Gecko WebKit KHTML Presto iCab
Font styles
b <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
i
big
small
tt
Horizontal rules
hr <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes

Stylesheet elements

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

Trident Tasman Gecko WebKit KHTML Presto iCab
<link rel="style" … /> <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
style 6.0[note 5]

Script elements

Elements for embedding client-side script (JavaScript). See also DOM Events for a list of attributes used to attach an event handler to an element.

Trident Tasman Gecko WebKit KHTML Presto iCab
script <3.1[IE 5.0] Yes 1.0 Yes Yes 1.0 Yes
noscript Incorrect[note 6]

Language elements

Elements related to language information.

Trident Tasman Gecko WebKit KHTML Presto iCab
bdo <3.1[IE 5.0] ? 1.0 Yes Partial[note 7] 1.0 ?

Generic attributes

Attributes that can be used in any elements.

Trident Tasman Gecko WebKit KHTML Presto iCab
Element identifiers
id <3.1[IE 3.0] Yes 1.0 Yes Yes 1.0 Yes
class
Inline styles
style <3.1[IE 3.0] Yes 1.0 Yes Yes 1.0 Yes
Advisory information
title <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
Language information
lang <3.1[IE 4.0] Yes 1.0 Yes Yes 1.0 Yes
dir <3.1[IE 5.0]

Notes

  1. <q> does not support nested quotes prior to Gecko 1.8.[10]
  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.[11]
  3. Prior to Internet Explorer 8.0 (trident 4.0), and in earlier compatibility modes, the innerText is submitted instead of the value attribute.[12]
  4. <label> was focusable prior to KHTML 3.4.2.[citation needed]
  5. Internet Explorer 9 (trident 5.0) and earlier is limited to 31 <style> elements.[13][14]
  6. Trident doesn't 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]

References

  1. Amaya Binary Releases, Most recent download link in stable
  2. Change log between EdgeHTML 12.10240 and 13.10586
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Download for kdelibs, Most recent download link in stable
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links