Last update: July 1, 2010
This document and its associated support tables apply to the Opera Presto 2.5 rendering engine. Opera products may or may not use various parts of the rendering engine's Web specification features. It is a living document collection and will be updated with the addition of any further Web specifications to the rendering engine. Previous Opera Web specification support document collections can be found at Web specifications supported in Opera [1].
For your convenience
<audio> and <video> media elements with the following exceptions:
preload attribute is not supported; for your reference, autobuffer was changed to preload
in the specification.buffered, seekable and played IDL attributes always return empty TimeRanges
objects.playbackRate and defaultPlaybackRate do not affect playback speed or direction.<video> element DOM APIs to reflect changes in the specification.<param> element support is added to control animations/scripts.
<object> element and allows the passing of parameters<param> element has name/value pairs with the name and value attributes<image>,
<foreignObject>, and <feImage>Opera Web specification support tables are provided at the beginning of each topic where applicable. This section provides hyperlinks to all of them in one location for your convenience and reference.
<canvas> elementARIA is a proposal/work in progress. Opera participates within this working group which will ultimately release the ARIA specification. Please see the ARIA Working Draft [5] and Editor's Draft [6] for details.
Opera supports the HTML implementation of ARIA according to the latest draft. Here is an example:
<div role="checkbox" aria-checked="true" tabindex="0"></div>
Opera supports all of CSS 1 [7].
CSS 2.1 [8] is currently a W3C Candidate Recommendation.
Note that these modules are at an early stage of development and may be changed or removed at any time.
background shorthand formatborder-image shorthand format is supported for Border Images.
border-image-source, border-image-slice, border-image-width, border-image-outset and
border-image-repeat are ignored.box-decoration-break propertycontent is applicable on all elements, not just on the :before and :after pseudo-element;
see section 12.2 [10]box-sizing; see section 7.1 [11]outline-offset; see section 8.5 [12]overflow-x; see section 11.1 [13]overflow-y; see section 11.1nav-up, nav-right, nav-down, nav-left, nav-index; see section
10.2.2 [14] [54]-o-background-size; see section 3.9 [15]
(uses Opera vendor prefix)-o-table-baseline (uses Opera vendor prefix)box-sizing propertyoutline-offset propertynav-index propertynav-up, nav-right, nav-down and nav-left propertiesopacity; see section 3.2 [20]currentColor; see section 4.4 [21]font-stretch propertyfont-size-adjust propertyfont-stretch descriptorunicode-range descriptor@font-face CSS at-rules) with the font-family descriptorsrc descriptor with local and remoteorientation.word-wrap property with its break-word value; see
section 5.2. Force Wrapping: the 'word-wrap' property [28]text-shadow, including multiple shadows; see
text-shadows, multiple shadows [29]-o-text-overflow (uses Opera vendor prefix); see
W3C CSS3 Text Module section 9.3 [30]Opera fully supports the CSS Mobile profile [34].
WAP CSS [35] is an extension of the CSS Mobile Profile. Opera fully supports WCSS versions 1.0 and 1.1.
In order to display an XML document, a CSS style sheet should be present. Authors can attach style sheets to their XML documents through a processing instruction. Here is a simple example:
<?xml version="1.0"?> <?xml-stylesheet href="shakespeare.css" type="text/css"?>
Opera has full support for the Fundamental interfaces of DOM 2 Core [36] [61], with minor exceptions. Opera does not support the following Extended interfaces on purpose, expecting a future revision of DOM Core will remove them:
Opera supports several carefully selected DOM 3 Core features. Several of these are:
compareDocumentPosition() methodtextContent attributeOpera has full support for DOM 2 HTML [37], with minor exceptions corresponding to HTML support exceptions.
Opera has full support of DOM 2 Events [38] with no exceptions.
Opera supports DOM 2 Style [40] with some exceptions.
Opera supports the DOM 2 Range [41].
Opera supports DOM 2 Traversal, with some exceptions.
Opera supports the Element Traversal specification (W3C Proposed Recommendation) [42].
Opera supports Load and Save [43], with some exceptions.
Opera supports DOM 3 XPath [44], with the same exceptions as with XSLT.
XMLHttpRequest (XHR)
XMLHttpRequest is a work in progress [45], and we expect to fully
support it when it becomes a recommendation.
window.btoa and window.atob for base64 encoding and decodingECMAScript is the standardized version of JavaScript Core. It is being standardized through the ECMA standards body. ECMAScript does not include browser and document related objects.
Opera supports the entire ECMA-262 2nd and 3rd standards [48], with no exceptions. They are more or less aligned with JavaScript 1.3/1.5 Core.
Opera is actively participating with ECMA TC39 in developing successors to the current spec. Opera will support future editions of the language as consensus is reached and the specifications become finalized.
<param> attribute support is added for controlling animations/scripts; see:
Opera supports the OpenGL 2D/3D graphics API; see OpenGL API [53]
Opera supports the Direct3D device driver interface (DDI); see Direct3D [54]
<canvas> element
Opera supports the <canvas> [55]
[76] element specification, including canvas shadows, which is currently a work in progress.
There is support for listening to any event in the svg module. Some events are not sent by core, for example: activate.
onkeyup, onkeydown and
onkeypress don't register a corresponding event listener for those events.element.addEventListener('keydown',
keyhandler-function, false).evt.preventDefault() to prevent any key-event that should be handled
only by the script from escaping upwards to the UI which may be listening for shortcut keys.SVGElement.currentFps and SVGElement.targetFps
properties. These properties respectively read and control SVG frames per second; see this
Opera reference [56].Opera supports the following SVG inclusion types.
<object> element<iframe> element<embed> element<img> elementbackground-image propertylist-style-image propertySome content may fail to render if sent with the wrong MIME-type, or if the namespace declarations are missing.
image/svg+xml.http://www.w3.org/2000/svg and xlink: http://www.w3.org/1999/xlink.font-size: 12; in CSS will mean the value is invalid, and thus it will be ignored.styleelements,
styleattributes and external stylesheets.
content property can also embed SVG.
Support has been added for the buffered-rendering property; see
section 11.10.5 [57].
SVG is output as a bitmap image to the printer.
Opera supports:
Opera supports HTML 4.01 [61] with these exceptions:
option element.col width attribute does not support multilengths.object standby and declare attributes are not supported.char and charoff are not supported.
Opera does not have a XHTML content-type mode of text/html. XHTML written as text/html is handled
just like HTML.
Opera supports XHTML 1.1 [62] [15] with these exceptions:
col width attribute does not support multilengths.object standby and declare attributes are not supported.table cell attributes char and charoff are not supported.Opera supports XHTML Basic [63] [16] with the following exceptions:
standby, declare attributes are not supported.inputmode attribute is supported, however
Opera supports the XHTML Mobile Profile 1.0 and 1.1 [64] [17] and extensions to XHTML Basic with no exceptions.
declare attribute of object.With the IBM Voice component, Opera fully supports the XHTML+Voice profile 1.2 [66] [19] (and the Mobile Profile subset).
application/xml,
application/xhtml+xml, application/x-xhtml+voice+xml) for XML Events to take effect.Wireless Markup Language versions 1.0 to 1.3, while based on an HTML subset, must be considered a separate markup language for most practical purposes. WML 2.0 can better be considered an extension of XHTML Basic with WML 1.3 features. Opera supports WML 1.3 and 2.0 with the following exceptions:
columns attribute<lang:class>wml:getvar elementOpera adds support for the next version of HTML - HTML5. For your reference, the preceding two external hyperlinks are provided for HTML5 drafts/works in progress by the W3C. Please note that changes to the draft specification and notes may be made at any time. HTML5 is a work in progress and respectively, Opera considers its implementations for HTML5 experimental until its specification has stabilized. Support is provided for the following HTML5 items.
<audio> and <video> elements with the following exceptions:
preload attribute is not supported; for your reference, autobuffer was changed to preload
in the specification.buffered, seekable and played IDL attributes always return empty TimeRanges
objects.playbackRate and defaultPlaybackRate do not affect playback speed or direction.<canvas> element/API — see
section 4.8.11 [5]
shadowcontenteditable attribute — see
section 6.7 [73] [6]designMode attribute — see
section 5.2.2 [74] [7]innerHTML — see section
3.7.2 [75] [8]getElementsByClassName — see
section 2.4 [76] [9]embed element — see section
4.8.4 [77] [10]<table> element:
vertical-align and text-indent in
<table> elements and replaced contentOpera has experimental support for HTML5 Forms [78] [14] which is a work in progress. HTML5 Forms replaces the separate Web Forms 2.0 specification which has been integrated into the HTML5 specification.
Opera supports the current working draft of the MathML for CSS profile [79] [26] with the following exceptions:
mi, mn, mo, ms, mspace, mtext) are not discarded.Opera supports HTTP 1.0 (RFC 1945) [80] and HTTP 1.1 (RFC 2616) [81] protocols with the following exception:
Content-LocationOpera does support:
no-cache (always check for fresh document)no-store (don't save to disk)Opera provides support for the following items:
Opera supports 128 and 256 bit encryption (RSA, DSA and DH key exchange methods) for:
This is supported for HTTP (web), NNTP (news), POP and SMTP (e-mail).
Further support is provided for
A simple online newsreader with support for encrypted newsservers and newsserver with passwords is provided.
Opera can work with all the characters in the Unicode specification.
Opera implements the following writing system related functionality improvements:
Opera relies on the operating system to perform:
Although Opera works with the Unicode character set and its character encodings of UTF-16 and UTF-8, most text on the Internet is encoded in legacy encodings, for instance:
Opera handles this by detecting the character encoding used, and converting it to UTF-16. The user has three options for how to handle these pages.
Opera supports bidirectional text as described in Unicode [102] [73], HTML [103] [74], and CSS [104] [75].
Web storage in Opera can be configured using preferences in the "Web Storage" section in opera:config
Web storage in Opera can be configured using preferences in the "Web Storage" section in opera:config
Opera supports both the W3C Widget family of specifications and the legacy Opera Widgets format. The formats are different and not compatible. Opera Presto supports the proprietary Opera Widgets format for legacy reasons:
Further information regarding Opera Presto support for the W3C Widgets family of specifications and the Opera proprietary Widgets format will be posted here as it is implemented.
Opera supports widget.preferences; see the
W3C Widgets 1.0: APIs and Events [107].
network="public"
A new security model has been intoduced for Opera 10 (Opera Presto 2.2) which among other things means that widgets
do not have network access on by default. In order to enable network access for non-intranet sites, add a network
attribute to the widget element in the config.xml of your widget with the value "public". For
example:
<widget network="public">
...
</widget>
This will make your widget work as intended in Opera 10, but will not affect previous versions. Older browsers will simply ignore the network attribute and give your widget access as per the existing security model.
network="private" and network="public private"
The widget element attributes network="private" and network="public private" can
enable network access for either private networks, public networks, or both. For example:
<widget network="private">
...
</widget>
<widget network="public private">
...
</widget>
Opera supports XML 1.0 [108] and XML 1.1 [109], and can parse and display XML documents.
text/xml, application/xml or with a subtype ending on +xml
will be treated as an XML document.content-type is not available, the ".xml" file extension will also make the document be treated as XML.text/xml, but otherwise follows
RFC3023 [110] [21].
application/xml.application/xml instead of text/xml, and the use of an explicit character
set declaration such as charset=UTF-8.The Opera parser supports Binary XML; see XML Binary Characterization Working Group [111].
Opera does not offer support for XForms; see XForms [113], but extends support for the HTML5 Forms module as an alternative; see HTML5 Forms module [114].
Opera supports XSLT style sheets with the <?xml-stylesheet?> processing instruction; see
Associating Style Sheets with XML documents Version 1.0 [115] [22]. Opera supports XSLT 1.0 and XPath 1.0 with the following
exceptions:
namespace-alias element is not supported.Opera fully supports XML namespaces [116] [23].
text/html was discontinued with Opera 9, and is not supported.xml:id attribute [117] [24].Opera supports XML Events [118] [25] and it is used in X+V.
script and VoiceXML form can
be handlers for XML Events.Need help? Hit F1 anytime while using Opera to access our online help files, or go here.