Web Standards Support in Opera for the Nintendo Wii

This page lists the various specifications supported by Opera for the Nintendo Wii. For Opera support for other platforms, see the general Opera documentation. The following topics are included:

HTML, XHTML and WML

Complete overview of HTML, XHTML and WML support

Opera supports all the elements and attributes of HTML4 and XHTML1 both in HTML and XML mode with the following exceptions:

For clarity, this means that Opera supports the following web standards (with above indicated exceptions):

canvas

Opera supports the canvas element proposed for the next version of HTML and actively contributes to its specification.

Web Forms 2

Opera has experimental support for the Web Forms 2.0 extension to HTML4, XHTML1 and DOM Level 2 HTML. Web Forms 2 will likely be integrated in the next version of HTML.

WML

WML1, while based on an HTML subset is basically a separate markup language for most practical purposes. WML2 can be considered an extension of XHTML Basic with WML1 features. Opera supports both with the following exceptions:

XML

Opera is able to parse and display (namespaced) XML documents. Opera uses a non-validating XML processor. Opera fully supports both the XML and XML namespaces specifications.

Documents with a MIME type of text/xml, application/xml or with a subtype ending in +xml will be treated as an XML document. The .xml file extension will also make the document be treated as XML for documents not delivered over HTTP.

Opera follows the requirements set forth in RFC3023 with the exception that text/xml resources will be treated as application/xml resources (no charset parameter does not make Opera fallback to US-ASCII).

<?xml-stylesheet?>

Opera supports the Associating Style Sheets with XML documents specification for both CSS and XSLT. Authors can attach style sheets to their XML documents using a processing instruction. Here is a simple example:

<?xml version="1.0"?>
<?xml-stylesheet href="shakespeare.css" type="text/css"?>

XSLT and XPath

Opera supports XSLT 1.0 and XPath 1.0 and the exsl:node-set() extension. The implementation has the following limitations:

In addition the function is supported.

xml:id

Opera supports the xml:id attribute. There is limited support for elements with multiple IDs. For instance, when you use the HTML id attribute as well as the xml:id attribute on an HTML element and you want to select that element using both IDs in CSS.

XML Events

Opera supports the XML Events specification.

CSS

Table of CSS support

Opera supports all of CSS2 except where behavior has been modified / changed by CSS2.1. There are some limitations to Opera's support for CSS:

CSS Mobile profile and WAP CSS

Opera fully supports CSS Mobile profile and the WCSS versions 1.0 and 1.1 including the WAP CSS extensions:

CSS3

Opera has partial support for the Selectors and Media Queries specifications. Opera also supports the content property on arbitrary elements and not just on ::before and ::after. It also supports the following properties:

Opera CSS extensions

Opera implements several CSS3 properties as experimental properties so authors can try them out. By implementing them with the -o- prefix we ensure that the specification can be changed at a later stage:

ECMAScript

Complete table of ECMAScript support

ECMAScript is the standardized version of JavaScript. It is being standardized through the ECMA standards body. ECMAScript does not include browser and document related objects.

Opera supports the entire ECMA-262 2ed and 3ed standards, with no exceptions. They are more or less aligned with JavaScript 1.3/1.5.

DOM / API

The table below lists the various standardized DOM and API specifications Opera supports:

SpecificationOverviewNotes
DOM Level 2 Core Complete table of DOM 2 Core support Opera does not support the Notation, Entity and EntityReference interfaces.
DOM Level 2 Events Complete table of DOM 2 Events support Opera is participating in the development of DOM Level 3 Events.
DOM Level 2 Traversal and Range - -
DOM Level 3 XPath (W3C Note) - The XPath part has some limitations as indicated above.
DOM Level 3 Load and Save - -
DOM Level 2 Style Complete table of DOM 2 Style support This specification is being updated by the W3C CSS WG. Opera participates in that work.
The XMLHttpRequest Object - -
The Window Object 1.0 - -

DOM 2 HTML

Opera has full support for DOM 2 HTML, with minor exceptions. (See also the limitations in our HTML implementations above.)

Networking protocols

Opera has full support for HTTP 1.0 and HTTP 1.1. Here are some highlights:

Encryption: 128 bit encryption (RSA key exchange only) for the Secure Sockets Layer (SSL) versions 2 and 3, and the successor Transport Layer Security (TLS) 1.0 and 1.1. SSL 2 is obsolete and not supported by default. Support for generating private keys and submitting certificate requests.

Text and internationalization

Unicode

Opera can work with all the characters in the Unicode specification. All text communicated to Opera from the network is converted into Unicode.

In order for Opera to render Unicode characters, the needed glyphs have to be available in the fonts on your system. This might be a problem for older Windows systems. For information on available fonts, see Unicode fonts for Windows computers.

Opera implements the following writing system related functionality:

font-switching
Needed in order to display characters that the current font does not include.
line-breaking
Needed in order to break scripts written without spaces, such as Chinese, Korean, and Japanese.

Opera relies on the operating system to perform:

character shaping
Contextual glyph selection, ligature forming, character stacking, combining character support etc.

Legacy encoding support

Although Opera works with Unicode encodings (UTF-16 and UTF-8), most text on the Internet is encoded in legacy encodings, for instance ISO 8859-1, Windows-1251, Shift-JIS, EUC-KR. 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.

Auto-detect
In this mode Opera will attempt to detect the encoding used by the page. If the transport protocol provides an encoding name, that is used. If not, Opera will look at the page for a charset declaration. If this is missing, Opera will attempt to auto-detect the encoding, using the domain name to see if the script is a CJK script, and if so which one. Opera can also auto-detect UTF-8.
Writing script auto-detect
In this mode the user can tell that this is a Japanese or Chinese page, but that the encoding is unknown. Opera will then analyze the text in the page to determine which encoding is used.
Encoding override
In this mode the user selects an encoding. This encoding will be used by Opera, regardless of what the page and transport protocol claims is the encoding for the page.

This table shows all the legacy encodings Opera supports in addition to Unicode:

Legacy Encodings
Encoding Category Comments
ISO 8859-1Latin
ISO 8859-2LatinUsed in Eastern Europe
ISO 8859-3LatinRare
ISO 8859-4LatinSami and Baltic country
ISO 8859-9LatinTurkish
ISO 8859-10LatinInuit, Sami, and Icelandic
ISO 8859-13LatinRare
ISO 8859-14LatinCeltic
ISO 8859-15LatinIntended to supersede 8859-1
Windows-1250LatinUsed in Eastern Europe
Windows-1252Latin
Windows-1254LatinTurkish
Windows-1257LatinBaltic
Windows-1258LatinVietnamese
VISCIILatinVietnamese
IBM 866Cyrillic
ISO 8859-5Cyrillic
koi8-rCyrillic
koi8-uCyrillicUkrainian version of koi8-r
Windows-1251Cyrillic
ISO 8859-6Arabic
Windows-1256Arabic
ISO 8859-7Greek
Windows-1253Greek
ISO 8859-8Hebrew
Windows-1255Hebrew
ISO 8859-11ThaiAlso known as TIS-620
Windows-874ThaiExtension of ISO 8859-11
utf-8Unicode
utf-16Unicode
Shift-JISJapanese
ISO-2022-JPJapanese
EUC-JPJapanese
Big 5Chinese
EUC-CNChineseAlso erroneously known as GB 2312
HZ-GB-2312ChinesePrimarily used in e-mail
EUC-TWChinese
GBKChineseEUC-CN extension
EUC-KRKorean

Bidirectional text

Opera supports bidirectional text as described in Unicode, HTML, and CSS.

Graphics support

SVG

Complete table of SVG support

Opera supports a superset of SVG 1.1 Basic and SVG 1.1 Tiny with some exceptions. This maps to a partial support of SVG 1.1.

Event listening to any event is supported, but some events are not fired by the application. focusin, focusout and activate for instance. Fonts are supported, including font-family, but if there is a missing glyph in the selected font a platform-defined fallback will be used instead of picking that glyph from the next font in line in the font-family property.

SVG can be used in object, embed, and iframe in HTML and as stand-alone document. It is not supported for img elements or in CSS property values (e.g. background-image). An SVG image element can contain any supported raster graphics, but not another SVG image. References to external resources are not supported.

Performance

These features are particularly processor expensive and should be used with care when targetting machines with slower processors: filters, transparency layers (group opacity), and masks.

Raster Graphics

Opera fully supports PNG, GIF87, GIF89, JPEG JFIF, BMP, ICO and WBMP.

Documentation

Opera Help

Need help? Hit F1 anytime while using Opera to access our online help files, or go here.