This page applies to the Linux, QnX and Windows versions of Opera.
HTML support | CSS support | XML support | WML support | ECMAScript support | DOM support | Networking support | Text and internationalization | Graphics support
Opera version 6 supports HTML 4.01 with these exceptions:
These attributes are not supported:
optionondblclickThese form elements are not supported:
buttonlabellegendThese form attributes are not supported:
acceptaccept-charsetfor
Opera supports HTML 3.2 style table elements fully (ie.
table,
caption,
tr,
th and
td). Opera handles
tfoot
properly (it is always displayed at the bottom at a table), otherwise Opera
doesn't support the new HTML 4.01 elements
(col,
colgroup,
thead,
tfoot,
tbody) and attributes
(abbr, axis,
char,
charoff,
frame,
headers,
rules and
scope).
Opera doesn't assign styles to the grouping elements
(tbody,
tfoot and
thead).
a element attributes
coords,
charset, and
hreflang and
shapeframeborder attribute is not
supported.bdo and the
dir attribute. The
lang attribute is not supported (in for instance
q).accesskey,
tabindex are not supported.object, but not the attributes
align,
classid,
codebase,
codetype
and standby. For plug-ins
embed
is used.applet attributes
align and
archivelink apart from
rel="stylesheet", nor for the
meta attribute
scheme or the
head attribute
profile.hr
noshade
attribute has no effect, neither does the deprecated attribute
compact. CSS should be used for this.script and
noscript. If any script element
doesn't execute, all subsequent noscript element are displayed.Opera 6 supports all of CSS1.
Opera 6 supports all of CSS2 with the exception of:
clip,
cursor,
direction,
font-size-adjust,
font-stretch,
marker-offset,
marks,
text-shadow,
unicode-bidi, and all
outline properties.list-style-type in CSS2.All CSS2 selectors are supported with the exception of:
When using the Opera browser, you may notice that some pages are displayed differently than in other browsers. In most cases, the differences are caused by errors in the pages that are being displayed. Few Web pages are authored according to W3C's specifications which Opera supports. Opera tries, to some extent, to replicate the errors in browsers from Netscape and Microsoft, but we prioritize implementing the specificaions. For a list of rendering differeces between Opera and Netscape/Microsoft, please read below.
body{background-position:
center center} will be roughly in the middle of a page, not in the
middle of the window.<pre>Pre-formatted<h3>Headline</h3>Not
pre-formatted</pre>. In NN and IE
<h3>Headline</h3>Not
pre-formatted</pre> will be preformatted too.This external site offer conformance information on Opera 5: Eric Meyer's Mastergrid.
Opera 6 uses CSS-like properties to attach information to XML elements that cannot otherwise be represented. Three extension properties have been implemented to allow hyperlinks and images to be included in XML documents. Most often it's better for authors to use XHTML -- rather than the properties described below - to represent document semantics, but they are described here for reference.
| Property: | -set-link-source |
|---|---|
| Values: | none | attr(<attribute-name>) | content() |
| Initial: | none |
| Inherited: | no |
| Description: | This property sets the value of the "link" variable which can later be used to generate a link through the "opera-use-link-source" property. |
| Property: | -use-link-source |
| Values: | none | current | next |
| Initial: | none |
| Inherited: | no |
| Description: | This property sets the element to be a source anchor and, if so, declares which value of the 'link' variable that should be used: the current or the next. |
| Property: | -replace |
| Values: | none | attr(x) |
| Initial: | none |
| Inherited: | no |
| Description: | This property declares the element to be replaced or not. If replaced, the attr() function is used to point to the attribute where the URI to the content can be found. |
In addition Opera accepts a non-standard value for the CSS2 white-space
property, namely white-space: -pre-wrap. This value is exactly
like white-space: pre with the exception that lines will wrap if
wider than the containing box. This is particularily handy for plain-text
formats with unpredictable position of line break characters, like e-mail messages.
Unlike the other white-space settings however, -pre-wrap will display
tab characters like small boxes.
Opera 6 can parse and display XML documents. Documents with Content-type "text/xml" will be treated as an XML document. If a Content-type is not available, the ".xml" file extension will also make the document be treated as XML.
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 6 will use the initial values on all CSS properties to display the document. All elements will be inline, and all text will be rendered in the same font.
Opera does not support XSL formatting objects, and neither does it natively support XSLT transformations. XML documents transformed server side will be parsed and displayed by Opera just like any other XML document. For an opinion on client side XSL-FO, see Formatting Objects Considered Harmful.
Opera 6 supports XML namespaces. The most common use of namespaces is for XHTML processing. From Opera 4, the temporary HTML namespace (http://www.w3.org/TR/REC-html40) is recognized, from Opera 5.1 the XHTML namespace (http://www.w3.org/1999/xhtml) is recognized too.
There are two "modes" of XHTML support, one where the document has the
text/html content type and one where it is text/xml,
application/xml or application/xhtml+xml. In the
first case the document is handled as any other HTML document (giving de
facto support for XHTML 1.0, XHTML Basic and XHTML 1.1). In the second case
XHTML will be treated as XML with predetermined functionality for HTML
elements and attributes. In "XML mode" Opera has the following additional
exceptions:
basescript and event handlersstyle (use the xml-stylesheet processing instruction
instead)Opera 6.0 supports all Wireless Markup Language (WML) elements, but still lacks support for the following attributes:
accesskey and
tabindexiname and
ivalue for
selectemptyok and
format for
inputlocalsrc for
imgThe rendering of WML documents is controlled with a CSS style sheet called "wml.css" in Opera's installation directory. When editing this file you will need to restart Opera for the changes to take effect.
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, these are specified in a separate document.
Opera 5 supports the entire ECMA-262 2ed standard. It is more or less aligned with JavaScript 1.3. The following items are missing for Opera 6 to have complete JavaScript 1.3 Core support:
Opera also supports most of the ECMA-262 3rd edition that is roughly aligned with Netscape's JavaScript 1.4 Core.
The following features are missing from JavaScript 1.3 support:
We are currently working on DOM, based on the DOM 2.0 standard. We have also used some of Microsoft's extensions to DOM, notably the method for accessing CSS properties through a style attribute of the HTML elements. Modifying the document structure is not yet possible (ie. you cannot add or remove HTML elements). There are no plans to support Netscape's dynamic layers. Presently, we support getting and setting the following CSS attributes for absolutely positioned HTML elements:
visibilitypixelLeft, pixelToppixelWidth, pixelHeightzIndexcolor, background (only for setting of colors)We support the following methods in the document object:
getElementsByTagName()getElementById()getElementsByName()We support the following methods in HTML Elements:
getElementsByTagName()contains()parentNodeDescribed in a separate document. Opera does not support W3C DOM Core apart from the methods mentioned above. Documentation on W3C DOM/HTML support is forthcoming.
More about support for JavaScript and JScript Objects
Opera 6 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) v1.0. This is supported for HTTP (web), NNTP (news), POP and SMTP (e-mail). Support for generating private keys and submitting certificate requests.
News: simple online newsreader with support for encrypted newsservers and newsserver with passwords. Can decode single article attachments, MIME or uuencoded.
FTP including resume download is supported.
It is possible to download to file for both FTP and HTTP.
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 installations, however, Unicode fonts are available for these systems.
Opera 6.0 implements the following writing system related functionality:
Opera relies on the operating system to perform:
Although Opera works with Unicode (UTF-16), most text on the Internet is encoded in legacy encodings, e.g. 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.
This table shows all the legacy encodings Opera supports in addition to Unicode:
| Encoding | Category | Comments |
|---|---|---|
| ISO 8859-1 | Latin | |
| ISO 8859-2 | Latin | Used in Eastern Europe |
| ISO 8859-3 | Latin | Rare |
| ISO 8859-4 | Latin | Sami and Baltic country |
| ISO 8859-9 | Latin | Turkish |
| ISO 8859-10 | Latin | Inuit, Sami, and Icelandic |
| ISO 8859-13 | Latin | Rare |
| ISO 8859-14 | Latin | Celtic |
| ISO 8859-15 | Latin | Intended to supersede 8859-1 |
| Windows-1250 | Latin | Used in Eastern Europe |
| Windows-1252 | Latin | |
| Windows-1254 | Latin | Turkish |
| Windows-1257 | Latin | Baltic |
| Windows-1258 | Latin | Vietnamese |
| VISCII | Latin | Vietnamese |
| IBM 866 | Cyrillic | |
| ISO 8859-5 | Cyrillic | |
| koi8-r | Cyrillic | |
| koi8-u | Cyrillic | Ukranian version of koi8-r |
| Windows-1251 | Cyrillic | |
| ISO 8859-6 | Arabic | |
| Windows-1256 | Arabic | |
| ISO 8859-7 | Greek | |
| Windows-1253 | Greek | |
| ISO 8859-8 | Hebrew | |
| Windows-1255 | Hebrew | |
| ISO 8859-11 | Thai | Also known as TIS-620 |
| Windows-874 | Thai | Extension of ISO 8859-11 |
| utf-8 | Unicode | |
| utf-16 | Unicode | |
| Shift-JIS | Japanese | |
| ISO-2022-JP | Japanese | |
| EUC-JP | Japanese | |
| Big 5 | Chinese | |
| EUC-CN | Chinese | Also erroneously known as GB 2312 |
| HZ-GB-2312 | Chinese | Primarily used in e-mail |
| EUC-TW | Chinese | |
| GBK | Chinese | EUC-CN extension |
| EUC-KR | Korean |
Opera supports GIF89a, JPEG, BMP, WBMP and has full support for PNG including alpha channel (degrees of transparency) and gamma support (device independent colors).
Need help? Hit F1 anytime while using Opera to access our online help files, or go here.