This document and its associated tables apply to all versions of Opera 9.6x on FreeBSD, Mac, Linux, Solaris, Windows, plus Opera Mobile running on the Opera Presto 2.1.1 user agent engine. Web specifications support in previous Opera versions can be found at Web specifications supported in Opera [1].
Support tables are provided at the beginning of each topic if applicable. This section provides hyperlinks to all of them in one location for your convenience.
Opera supports HTML 4.01 [2] with these exceptions:
longdesc attribute of the img element is not supported.option element.col width attribute does not support multilengths.object standby and declare attributes are not supported.char and charoff are not supported.Opera adds support for the next version of HTML - HTML 5. For your reference, the following two external hyperlinks are provided for HTML 5 drafts/works in progress by the W3C. Please note that changes to the draft specification and notes may be made at any time. HTML 5 is a work in progress and respectively, Opera considers its implementations for HTML 5 experimental until its specification has stabilized. Support is provided for the following:
<canvas> element/API — see
section 4.8.11 [5]contenteditable attribute — see
section 6.7 [6]designMode DOM attribute — see
section 5.2.2 [7]innerHTML — see section 3.7.2
[8]getElementsByClassName — see section
2.4 [9]embed element — see section
4.8.4 [10]audio element/object — see section 4.8.8
[11]Opera has experimental support for HTML 5 Forms [14] which is a work in progress. HTML 5 Forms replaces the separate Web Forms 2.0 specification which has been integrated into the HTML 5 specification.
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 [15] with these exceptions:
option element.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 [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 [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 [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 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 [21].
application/xml.application/xml instead of text/xml, and the use of an explicit character
set declaration such as charset=UTF-8.
Opera supports XSLT style sheets with the <?xml-stylesheet?> processing instruction; see
Associating Style Sheets with XML documents Version 1.0 [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 [23].
text/html was discontinued with Opera 9, and is not supported.xml:id attribute [24].Opera supports XML Events [25] and it is used in X+V.
script and VoiceXML form can
be handlers for XML Events.Opera supports the current working draft of the MathML for CSS profile [26] with the following exceptions:
mi, mn, mo, ms, mspace, mtext) are not discarded.Opera supports all of CSS1 [27].
Opera supports CSS2 [28] with the following exceptions:
font-size-adjust — see section 3.4 [29]font-stretch — see section 3.3 [30]marker-offset — see section 12.6.1 [31]marks — see section 13.2.3 [32]cjk-ideographichebrewhiraganahiragana-irohakatakanakatakana-irohadisplay: marker — see section 9.2.5
[34]text-align: <string> — see section
16.2 [35]visibility: collapse — see section 11.2
[36]:lang() selector — see
section 5.11.4 [39]cursor property — see
section 18.1 [40]CSS 2.1 [41] is currently a W3C Candidate Recommendation.
visibility: collapse property value — see
section 11.2 [42]Note that these properties are at an early stage of development and may be changed or removed from the specifications at any time. Use them as experimental.
content is applicable on all elements, not just on the :before and :after pseudo-elements
— see section 12.2 [46]box-sizing — see section 7.1 [47]opacity — see section 3.2 [48]overflow-x — see section 11.1 [49]overflow-y — see section 11.1 [50]text-shadow, including multiple shadows — see
text-shadows, multiple shadows [51]outline-offset — see section 8.5 [52]currentColor — see section 4.4 [53]-o-background-size (proprietary to Opera)-o-table-baseline (proprietary to Opera)-o-text-overflow (proprietary to Opera)nav-up, nav-right, nav-down, nav-left, nav-index — see
section 10.2.2 [54]Opera fully supports the CSS Mobile profile [55].
WAP CSS [56] 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"?>
If no style sheet is present and the page is not namespaced to HTML, Opera will use the initial values on all CSS properties to display the document.
inlineWAI-ARIA is a proposal/work in progress. Opera participates within this working group which will ultimately release the WAI-ARIA specification. Please see the WAI-ARIA Working Draft [57] for details.
Opera supports the HTML implementation of WAI-ARIA according to the latest draft. Here is an example:
<div role="checkbox" aria-checked="true" tabindex="0"></div>
Other markup language implementations are experimental at this stage.
Widgets are Web applications that run on a desktop, mobile or other device. Opera supports Widgets [58]. The Opera Widgets specification was submitted to the W3C Widgets 1.0 [59] and is currently a W3C working draft.
ECMAScript 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 [60], 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.
Opera has full support for the Fundamental interfaces of DOM 2 Core [61], with minor exceptions. Opera does not support these Extended interfaces:
Opera has full support for DOM 2 HTML [62], with minor exceptions corresponding to HTML support exceptions.
Opera has full support of DOM 2 Events [63] with no exceptions.
Opera supports DOM 2 Style [65] with some exceptions.
Opera supports the DOM 2 Range [66].
Opera supports DOM 2 Traversal [67], with some exceptions.
Opera supports the Element Traversal specification (W3C Proposed Recommendation) [68].
Opera supports Load and Save [69], with some exceptions.
Opera supports DOM 3 XPath [70], with the same exceptions as with XSLT.
XMLHttpRequest (XHR)
XMLHttpRequest is a work in progress [71], and we expect
to fully support it when it becomes a recommendation.
Opera has full support for HTTP 1.0 and HTTP 1.1. Here are some highlights:
no-cache (always check for fresh document) and no-store (don't save to disk)Opera supports 128 and 256 bit encryption (RSA, DSA and DH key exchange methods) for the Secure Sockets Layer (SSL) version 3, and the successor Transport Layer Security (TLS) 1.0 and 1.1.
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:
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 [73], HTML [74], and CSS [75].
Opera supports the <canvas>
[76] element specification, 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.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.SVG is output as a bitmap image to the printer.
Opera fully supports:
Abbreviations and acronyms are referenced directly in the document and are also defined here.
Need help? Hit F1 anytime while using Opera to access our online help files, or go here.