
Last update: October 12, 2010; incorporating data through Core Milestone 37
This document and its associated support tables apply specifically to the Opera Presto 2.6 rendering engine. It incorporates Opera Presto web specification support up to, and including the latest Core Milestone, which is identified in the preceding paragraph. Changes and additions occurring since Opera Presto 2.5 are identified with their specific Core Milestones. Please see the following Changes since Opera Presto 2.5 topic.
Opera products use and depend upon various parts of the Opera Presto rendering engine and its web specification features. It is important to note that while the latest Opera Presto rendering engine has incorporated new web specification features, they may not have been added to the latest released versions of Opera products.
Opera products will identify which Opera Presto version and Core Milestone they are using in their user agent string. Depending on your Opera product, the Opera user agent string is placed the the "About Opera" page, found by typing opera:about in the address bar, or by clicking "Help > About Opera" in the Menu. Here is an example:
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.6.30 Version/10.62
This example user agent string belongs to the release version of Opera 10.62 for desktop. It describes that it is using
the Opera Presto 2.6 (Presto/2.6) rendering engine, incorporating Core Milestone
30 (.30). This Opera desktop product can contain web specification support
as provided in Opera Presto 2.6, Milestone 30 and earlier. It does not contain web specifications which have been
included in later builds of Opera Presto 2.6 with Core Milestones 31, 32, 33, 34, 35, etc.
A high-level overview of current web specifications support in Opera products is available on opera.com at: Web specifications support in Opera products: an overview.
For further reference, and where applicable, Opera web specification support table documents now contain hyperlinks to Opera technical articles written by leading subject matter experts. These are sourced from Opera's extensive developer website, dev.opera.com.
box-decoration-break,
and updated background shorthand
background-repeat:spacebackground-size,
background-clip and
background-origin in background shorthandbackground-repeat
in background shorthandbackground shorthand and individual background propertiesbox-decoration-break
property when breaking inlines over linesborder-image and leave
border-image empty until we implement it like it is in the current specificationEventSource implementationNo additional W3C web specification support was added in this Core Milestone release.
none" value of the content property (content:none).text-overflow; see the W3C
CSS3 Text module property details.text-overflow-mode and text-overflow-ellipsis properties.ellipsis value on multi-line blocks.class, casing, bidirectionality, mirroring, normalization)
from 5.0.window.opera.scriptStorage property for user scripts alone.
Storage object as specified in the
W3C Web Storage API, and is unique per script.scriptStorage object has limited quota, defined in
opera:config.-o-object-fit; see the W3C CSS3 Paged
Media module property details.-o-object-position; see the W3C CSS3
Paged Media module property details.
image-fit and image-position to object-fit
and object-position, but the specification has not been updated yet.Selection.selectAllChildren
onhashchange event handler DOM attribute
onhashchange event must be invoked whenever a hashchange event is targeted at, or
bubbles through the object. It must be supported by Window objects, as DOM attributes on the Window object, and with corresponding
content attributes and DOM attributes exposed on the <body> element.No additional W3C web specification support was added in this Core Milestone release.
<video>
and <audio> elements supported in the Opera Presto rendering engine.ARIA 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 and Editor's Draft 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 Presto offers support for:
cursor:<uri>.Opera Presto offers partial support for CSS Level 3 modularized working drafts and candidate recommendations. Note that these CSS3 modules are at an early stage of development and may be changed or removed at any time.
<?xml version="1.0"?> <?xml-stylesheet href="shakespeare.css" type="text/css"?>
Opera has full support for the Fundamental interfaces of DOM 2 Core , with minor exceptions. Opera does not support the following Extended interfaces on purpose, expecting a future revision of DOM Core will remove them:
Opera Presto supports the Selectors API Level 1 module.
NodeSelector interface
querySelector()querySelectorAll()Opera supports several carefully selected DOM 3 Core features. Several of these are:
compareDocumentPosition() methodtextContent attributeOpera has full support for DOM 2 HTML, with minor exceptions corresponding to HTML support exceptions.
Opera has full support of DOM 2 Events with no exceptions.
Opera supports DOM 2 Style with some exceptions.
Opera supports the DOM 2 Range.
Opera supports DOM 2 Traversal, with some exceptions.
Opera supports the Element Traversal specification (W3C Proposed Recommendation).
Opera supports Load and Save, with some exceptions.
Opera supports DOM 3 XPath, with the same exceptions as with XSLT.
XMLHttpRequest (XHR)
XMLHttpRequest is a work in progress, 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, 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.
Geolocation service capability was introduced on an experimental basis in Opera Presto 2.5, and supports the W3C Geolocation API Specification. User-enabled geolocation services in Opera Presto 2.6 are available for use in Opera products.
<param> attribute support is added for controlling animations/scripts; see:
Opera supports the OpenGL 2D/3D graphics API; see OpenGL API
Opera supports the Direct3D device driver interface (DDI); see Direct3D
<canvas> element
Opera supports the <canvas>
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.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.
SVG is output as a bitmap image to the printer.
Opera supports:
Opera supports HTML 4.01 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 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 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 and extensions to XHTML Basic with no exceptions.
declare attribute of object.Opera fully supports the XHTML+Voice profile (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.
Opera has experimental support for HTML5 Forms 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 with the following exceptions:
mi, mn, mo, ms, mspace, mtext) are not discarded.Opera supports HTTP 1.0 (RFC 1945) and HTTP 1.1 (RFC 2616) protocols with the following exception:
Content-LocationOpera does support:
X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN
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.
Support is added for W3C Offline Web Applications implementing the user interface for caching.
This allows documents to communicate with each other regardless of their source domain, and is designed in a way which does not enable cross-site scripting attacks. See this demo.
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, HTML, and CSS.
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 located in opera:config
Storage object as specified in the
W3C Web Storage API Section 4.1: The Storage interface, and is unique per script.scriptStorage object has limited quota, defined in
opera:config.Support is added for W3C Web Workers, which is an API for running scripts in the background independently of any user interface scripts.
This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive. See this demo.
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.
network="public"
The Opera security model for widgets declares 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 and XML 1.1, 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.
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.
Opera does not offer support for XForms; see XForms, but extends support for the HTML5 Forms module as an alternative; see HTML5 Forms module.
Opera supports XSLT style sheets with the <?xml-stylesheet?> processing instruction; see
Associating Style Sheets with XML documents Version 1.0. Opera supports XSLT 1.0 and XPath 1.0 with the following
exceptions:
namespace-alias element is not supported.Opera fully supports XML namespaces.
text/html was discontinued with Opera 9, and is not supported.xml:id attribute.Opera supports XML Events 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.