Comparison of browser engines (HTML support)


This article compares HTML support by several browser engines.
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.

Prior to HTML5

Global structure elements

The global structure of the document.

Text elements

Elements that represent text.

List elements

Elements that represent lists of information.

Table elements

Elements that represent tabular information.

Link elements

s, one of the primary forces driving the success of the World Wide Web.
TridentGeckoWebKitKHTMLPresto
arowspan="3" rowspan="3" rowspan="3" rowspan="3" rowspan="3"
link-----
base-----

Multimedia elements

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

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.

Form elements

The user interface controls for interacting with the web server.

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.

Stylesheet elements

The ways to apply stylesheets to the document.
TridentGeckoWebKitKHTMLPresto
<link rel="style" … />rowspan="2" rowspan="2" rowspan="2" rowspan="2"
style----

Script elements

Elements for embedding client-side script. See also DOM Events for a list of attributes used to attach an event handler to an element.
TridentGeckoWebKitKHTMLPresto
scriptrowspan="2" rowspan="2" rowspan="2" rowspan="2"
noscript----

Language elements

Elements related to language information.
TridentGeckoWebKitKHTMLPresto
bdo

Generic attributes

Attributes that can be used in any elements.

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 solutionTridentGeckoWebKitKHTMLPresto
appletInsert an appletHotJava4embed, objectrowspan="6"
basefontSets font stylesInternet Explorer4CSSrowspan="4" -
centerCenters contentsNetscape4CSSrowspan="3" rowspan="3" rowspan="3" --
dirDirectory list?4ul, ol-----
fontApplies font stylesNetscape4CSS-----
isindexAdds a search field?4input type="search"rowspan="2" -
listingDisplays preformatted textIETF2pre, samp, code, CSSrowspan="3" rowspan="3" -
menuMenu list?4ul, olrowspan="2" rowspan="5" rowspan="5" --
plaintextDesignates that all HTML be ignored, and to display the page as is?3.2The text/plain MIME type-----
sStrike-through?4del, CSSrowspan="3" rowspan="4" rowspan="4" --
strikeStrike-through?4del, CSS-----
uUnderline?4CSS-----
xmpSimilar to pre and plaintext, but ignores all HTML within and displays as is?2pre, samp, code--

AttributeElementAlternative solutionTridentGeckoWebKitKHTMLPresto
aligncaption, div, fieldset, h1, h2, h3, h4, h5, h6, hr, img, input, legend, p, object, tableCSSrowspan="6" rowspan="6" rowspan="18" rowspan="18"
alinkbodyCSS----
backgroundbodyCSSrowspan="2" ----
bgcolorbody, table, tr, td, thCSS-----
borderimg, objectCSS----
clearbrCSSrowspan="2" ----
compactdl, ul, olCSS---
colorbasefont, fontCSSrowspan="11" --
heighttd, thCSSrowspan="2" rowspan="10" ---
hspaceimg, objectCSS-----
languagescriptThe type attribute----
linkbodyCSSrowspan="7" ----
noshadehrCSS-----
nowraptd, thCSS-----
sizebasefont, font, hrCSS-----
startol------
textbodyCSS-----
typeli, ul, olCSS-----
versionhtmlDTD
vlinkbodyCSSrowspan="3" rowspan="3" rowspan="3" rowspan="3" rowspan="3"
widthhr, pre, td, thCSS-----
vspaceimg, objectCSS-----

TagFunctionIntroduced byAlternative solutionTridentGeckoWebKitKHTMLPresto
bgsoundUsed to add sound to the background of a websiteInternet Exploreraudio
blinkUsed to display a blinking textNetscapeJavascript, CSS
bqUsed to display a blockquoteWebTV, HTML 3.0blockquote
commentUsed to allow the addition of comments to HTML documentsInternet Explorer, WebTV<!--... -->
ilayerInline layersNetscape iframe
imageSynonym of img?img
layerUsed to create multiple layers of text and images which lay on top of each other in a given orderNetscape CSS, AJAX
marqueeUsed to display a scrolling, marquee-like text.Internet Explorer, WebTVJavaScript, CSS3
nobrPrevents any line breaks from occurring within the flow of a textNetscapeCSSrowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2"
noembedDisplays an alternative text for browsers which do not recognize the embed tagNetscapeChild elements of object used as fallback-----
spacerAdds whitespace in a layoutNetscapeCSS
wbrPlaced inside a nobr element to add a line breakNetscapeUnicode character zero-width space
xmlIncludes XML data, either inline or from an URL, in an HTML pageInternet ExplorerAJAX, possibly XML namespaces

AttributeDeprecated forFunctionSupported first byTridentGeckoWebKitKHTMLPresto
bgpropertiesbodyDetermines whether background image scrolls with the backgroundInternet Explorerrowspan="10"
bordercolorbodySets colors for 3-D table borders in the table, td, th, and tr elementsInternet Explorer-
bordercolordarkbodySets colors for 3-D table borders in the table, td, th, and tr elementsInternet Explorerrowspan="2" rowspan="2" rowspan="2" rowspan="2" -
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 Explorer-
dynsrcimgUses the img element to place video or audio clipsInternet Explorer-
eventscriptDefines function to call for an object.Internet Explorer???-
forscriptDefines the object to bind a scripting event.Internet Explorer???-
frametableControls the display of the outer borders of a table in the table tagInternet Explorer?-
framespacingframesetSets the amount of space between framesInternet Explorer??-
leftmarginbodySets the margin between the browser window and the contents of the pageInternet Explorerrowspan="2" ??
loopimgUses the img element to place video or audio clipsInternet Explorer-
rightmarginbodySets the margin between the browser window and the contents of the pageInternet Explorerrowspan="3" ??
startimgUses the img element to place video or audio clipsInternet Explorer-
targetformSpecifies a target window or frame for the output of a formInternet Explorer?-
valigncaptionSets vertical alignment of table captionInternet Explorer??

HTML5

TridentEdgeHTMLGeckoWebKitPresto
sectionrowspan="7" rowspan="7" rowspan="7" rowspan="7" rowspan="7"
nav-----
article-----
aside-----
hgroup-----
header-----
footer-----
ping
time
mark
ruby, rt, rp
dialog
figurerowspan="2" rowspan="2" rowspan="2" rowspan="2" rowspan="2"
figcaption-----
embed
videorowspan="4" rowspan="3" rowspan="3" rowspan="3" rowspan="3"
audio-----
source-----
canvas-
Inline MathMLrowspan="2"
Inline SVG-
detailsrowspan="5" rowspan="5" rowspan="2" rowspan="3"
summary----
command---
menu--
bdi--
data
picture
TridentEdgeHTMLGeckoWebKitPresto

Element-specific attributes

Global attributes

Form elements and attributes

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

APIs

Other features

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.
TridentEdgeHTMLGeckoWebKitPresto
<track>---
<a ping>-

Related specifications

TridentEdgeHTMLGeckoWebKitPresto
main element
template element
Selectors API
Web Storage
Indexed Database API
Web SQL Database
File API
File API: Writerrowspan="2"
File API: Directories and Systemrowspan="3" rowspan="3" -
Media Capture API--
Server-sent events--
WebSocket
Web Workers
Geolocation API
Offline Web applications
Web Notifications
TridentEdgeHTMLGeckoWebKitPresto

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.

DOM attributes

Some attributes related to media elements are exposed in the DOM.

DOM events

Media elements introduce new events to handle conditions which apply only to those elements, such as pausing/resuming.
TridentGeckoWebKitPresto
loadstartrowspan="22" rowspan="2" ??
progress--??
suspend-??
abortrowspan="3" -??
error--??
emptied--??
stalled-??
playrowspan="5" -??
pause--??
loadedmetadata--??
loadeddata--??
waiting--??
playing-??
canplayrowspan="9" -??
canplaythrough--??
seeking--??
seeked--??
timeupdate--??
ended--??
ratechange--??
durationchange--??
volumechange--??

Video format support

This table documents support for video codecs by the <video> element.
TridentedgeHTMLGeckoWebKitPresto
Ogg Theora
H.264
WebM VP8

Audio format support

This table documents support for audio codecs by the <audio> element.
TridentedgeHTMLGeckoWebKitPresto
Ogg Vorbisrowspan="2" rowspan="2"
WAV PCMrowspan="3" --
MP3rowspan="2" rowspan="2" -
AAC---
Speexrowspan="1"
Opus

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.
TridentGeckoWebKitPresto
getContextrowspan="2"
toDataURL-

Supported contexts

Rendering Context 2D