Comparison of layout engines (HTML)

From Wikipedia, the free encyclopedia

HTML

Character encodings
Dynamic HTML
Font family
HTML editor
HTML element
HTML scripting
Layout engine comparison
Style Sheets
Unicode and HTML
W3C
Web browsers comparison
Web colors
XHTML

 This box: view  talk  edit 

The following tables compare HTML compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. 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 served as text/html (so called "HTML compatible" XHTML) are considered. XHTML 2 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.

Contents

[edit] NB: Engine Nomenclature

Layout Engine Used By
Trident Internet Explorer
Tasman Internet Explorer for Mac
Gecko All Mozilla software
WebCore Mac OS X (Safari)
KHTML KDE
Presto Opera
Robin The Bat!
iCab iCab

[edit] DOCTYPE sniffing

The way that the engines determine standards mode, quirks mode, or almost standards mode.

Trident Tasman Gecko WebCore KHTML Presto Robin iCab
XHTML 1.1
Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> Standards  ? Standards  ? Standards Standards  ?  ?
XHTML 1.0
Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Standards  ? Standards  ? Standards Standards  ?  ?
Transitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Standards  ? Almost  ? Standards Standards  ?  ?
Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> Standards  ? Almost  ? Standards Standards  ?  ?
HTML 4.01
Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Standards  ? Standards  ? Standards Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> Standards  ? Standards  ? Standards Standards  ?  ?
Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Standards Standards Almost  ? Standards Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Quirks Quirks Quirks  ? Quirks Quirks  ?  ?
Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> Standards  ? Almost  ? Standards Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> Quirks  ? Quirks  ? Quirks Quirks  ?  ?
HTML 4.0
Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> Standards Standards Standards  ? Standards Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> Standards  ? Standards  ? Standards Standards  ?  ?
Transitional <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> Standards  ? Quirks  ? Quirks Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> Quirks  ? Quirks  ? Quirks Quirks  ?  ?
Frameset <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd"> Standards  ? Quirks  ? Quirks Standards  ?  ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"> Quirks  ? Quirks  ? Quirks Quirks  ?  ?
Trident Tasman Gecko WebCore KHTML Presto Robin iCab

[edit] General DOCTYPE sniffing notes

  1. Quirks mode — Emulates non-standard behaviors in Navigator 4 and MSIE. Generally used in HTML without DOCTYPE and HTML 3 or below. The amount of emulation differs between the layout engines, e.g. Gecko and Presto use the standardized W3C box layout model even in quirks mode. Thus the results are quite unpredictable in this mode.
  2. Standards mode — Follows W3C's recommendations.

[edit] Gecko DOCTYPE sniffing notes

  1. Almost standards mode — Implements the vertical sizing of table cells traditionally and not rigorously according to the CSS2 specification. Almost standards mode was created after 1.0 and 1.1alpha, but before 1.0.1 and 1.1beta. This mode is, however, similar to the standard modes of Trident, Presto and WebCore. Before almost standards mode was created these DOCTYPEs triggered standards mode.

[edit] Global structure elements

The global structure of the document.

Trident Tasman Gecko WebCore KHTML Presto Robin iCab
Basic structure
html 5.0 Yes 1.0 Yes Yes 7.0  ? Yes
head 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
body 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
Metadata
title 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
meta 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
Headings
h1 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
h2 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
h3 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
h4 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
h5 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
h6 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
Grouping elements
div 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
span 4.0 Yes 1.0 Yes Yes 7.0  ? Yes

[edit] Text elements

Elements that represent text.

Trident Tasman Gecko WebCore KHTML Presto Robin iCab
Phrase
em 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
strong 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
dfn 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
code 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
samp 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
kbd 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
var 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
cite 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
abbr 7.0 Yes 1.0 Yes Yes 7.0  ? Yes
acronym 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
Quotations
blockquote 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
q No Yes 1.8 Yes Yes 7.0  ? Yes
Subscripts and superscripts
sub 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
sup 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
Lines and paragraphs
p 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
pre 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
br 5.0 Yes 1.0 Yes Yes 7.0  ? Yes
Marking document changes
ins 4.0 Yes 1.0 Yes Yes 7.0  ? Yes
del 4.0 Yes 1.0 Yes Yes 7.0  ? Yes

[edit] Gecko text element notes

  1. q — Does not support nested quotes prior to 1.8 [1].

[edit] List elements

Elements that represent lists of information.

Trident Tasman Gecko WebCore KHTML Presto iCab
Unordered and ordered lists
ul 4.0 Yes 1.0 Yes Yes 7.0 Yes
ol 4.0 Yes 1.0 Yes Yes 7.0 Yes
li 4.0 Yes 1.0 Yes Yes 7.0 Yes
Definition lists
dl 4.0 Yes 1.0 Yes Yes 7.0 Yes
dt 4.0 Yes 1.0 Yes Yes 7.0 Yes
dd 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Table elements

Elements that represent tabular information.

Trident Tasman Gecko WebCore KHTML Presto iCab
Basic table elements
table 4.0 Yes 1.0 Yes Yes 7.0 Yes
caption 4.0 Yes 1.0 Yes Yes 7.0 Yes
tr 4.0 Yes 1.0 Yes Yes 7.0 Yes
th 4.0 Yes 1.0 Yes Yes 7.0 Yes
td 4.0 Yes 1.0 Yes Yes 7.0 Yes
Row groups
thead 4.0 Yes 1.0 Yes Yes 7.0 Yes
tfoot 4.0 Yes 1.0 Yes Yes 7.0  ?
tbody 4.0 Yes 1.0 Yes Yes 7.0 Yes
Column groups
colgroup 4.0  ? No Yes Yes 7.0 Yes
col 4.0  ? No Yes Yes 7.0 Yes

[edit] Link elements

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

Trident Tasman Gecko WebCore KHTML Presto iCab
a 4.0 Yes 1.0 Yes Yes 7.0 Yes
link 4.0 Yes 1.0 Yes Yes 7.0 Yes
base 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Multimedia elements

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

Trident Tasman Gecko WebCore KHTML Presto iCab
Images
img 4.0 Yes 1.0 Yes Yes 7.0 Yes
Generic inclusion
object Incorrect Yes 1.0 Yes Yes 7.0 Yes
param 6.0 Yes 1.0 Yes Yes 7.0 Yes
Image maps
map 4.0 Yes 1.0 Yes Yes 7.0 Yes
area 5.0 Yes 1.0 Yes Yes 7.0 Yes
Deprecated
applet 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Trident multimedia element notes

  1. object — 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. [2] [3]

[edit] 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 WebCore KHTML Presto iCab
Frame layout
frameset 4.0 Yes 1.0 Yes Yes 7.0 Yes
frame 4.0 Yes 1.0 Yes Yes 7.0 Yes
noframes 4.0 Yes 1.0 Yes Yes 7.0 Yes
Inline frames
iframe 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Form elements

The user interface controls for interacting with the web server.

Trident Tasman Gecko WebCore KHTML Presto iCab
Basic structure
form 4.0 Yes 1.0 Yes Yes 7.0 Yes
fieldset 4.0 Yes 1.0 Yes Yes 7.0 Yes
legend 4.0 Yes 1.0 Yes Yes 7.0 Yes
Form controls and labels
input 4.0 Yes 1.0 Yes Yes 7.0 Yes
textarea 4.0 Yes 1.0 Yes Yes 7.0 Yes
button 4.0 Yes 1.0 Yes Yes 7.0 Yes
label 4.0 Yes 1.0 Partial 3.4.2 7.0 Yes
List boxes (combo boxes)
select 4.0 Yes 1.0 Yes Yes 7.0 Yes
optgroup 4.0 Yes 1.0 Yes Yes 7.0 Yes
option 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] WebCore form elements notes

  1. label — Clicking on label does not focus on the corresponding form control. This has been fixed in the nightly build of WebCore.

[edit] KHTML form elements notes

  1. label — Label is focusable prior to 3.4.2.

[edit] 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 WebCore KHTML Presto iCab
Font styles
b 4.0 Yes 1.0 Yes Yes 7.0 Yes
i 4.0 Yes 1.0 Yes Yes 7.0 Yes
big 4.0 Yes 1.0 Yes Yes 7.0 Yes
small 4.0 Yes 1.0 Yes Yes 7.0 Yes
tt 4.0 Yes 1.0 Yes Yes 7.0 Yes
Horizontal rules
hr 4.0 Yes 1.0 Yes Yes 7.0 Yes
Deprecated
u 4.0 Yes 1.0 Yes Yes 7.0 Yes
s 4.0 Yes 1.0 Yes Yes 7.0 Yes
strike 4.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Stylesheet elements

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

Trident Tasman Gecko WebCore KHTML Presto iCab
Using link element 4.0 Yes 1.0 Yes Yes 7.0 Yes
style 5.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] 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 WebCore KHTML Presto iCab
script 6.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] Language elements

Elements related to language information.

Trident Tasman Gecko WebCore KHTML Presto iCab
bdo 5.0  ? 1.0 Yes Partial 7.0  ?

[edit] KHTML language element notes

  1. bdo — While alphabetic and alphanumeric words are affected, numeric (numbers only) words are not.

[edit] Generic attributes

Attributes that can be used in any elements.

Trident Tasman Gecko WebCore KHTML Presto iCab
Element identifiers
id 3.0 Yes 1.0 Yes Yes 7.0 Yes
class 3.0 Yes 1.0 Yes Yes 7.0 Yes
Inline styles
style 3.0 Yes 1.0 Yes Yes 7.0 Yes
Advisory information
title 4.0 Yes 1.0 Yes Yes 7.0 Yes
Language information
lang 4.0 Yes 1.0 Yes Yes 7.0 Yes
dir 5.0 Yes 1.0 Yes Yes 7.0 Yes

[edit] References

[edit] See also

[edit] External links