Opera 9 のサポートするウェブ標準ならびに仕様

このページは Mac、Linux および Windows 版の Opera バージョン 9 について記述されています。Opera 8 に関する情報については Opera 8 のサポートする仕様をご覧ください。

HTML と XHTML サポート | XHTML Mobile Profile サポート | XHTML+Voice サポート | WML サポート | XML サポート | CSS サポート | ECMAScript サポート | DOM サポート | ネットワークサポート | テキストと国際化 | SVG とグラフィックサポート

Opera のサポートする HTML および XHTML

HTML 4.01

Opera は HTML 4.01 を以下の例外を除きサポートしています。

  • option 要素の event 属性はサポートしていません。
  • col 要素の width 属性は multilengths (分割) をサポートしていません。
  • object 要素の standby 属性や declare 属性はサポートしていません。
  • テーブルセルの属性 charcharoff はサポートしていません。

Web Forms 2.0

Opera は Web Forms 2.0 を実験的にサポートします。Web Forms 2.0 は現在作業中です。

XHTML 1.0 および XHTML モジュール化

XHTML サポートには、2 種類のモードがあります。一つは content type が text/html のドキュメントの場合で、もう一つは content type が text/xmlapplication/xmlapplication/xhtml+xml のドキュメントである場合です。前者のケースではドキュメントは他の HTML ドキュメントと同様に処理されます (XHTML 1.0, XHTML Basic, XHTML 1.1 の標準的なサポートも行います)。後者のケースでは、XHTML は HTML 要素および属性用にあらかじめ定義された機能を有する XML として処理されます。Opera はこの両方のモードをサポートします。

XHTML 1.1 サポート

Opera は XHTML 1.1 を以下の例外を除きサポートしています。

  • option 要素の event 属性はサポートしていません。
  • col 要素の width 属性は multilengths (分割) をサポートしていません。
  • object 要素の standby 属性や declare 属性はサポートしていません。
  • テーブルセルの属性 charcharoff はサポートしていません。
  • ルビはサポートしていません。

XHTML Basic

Opera は XHTML Basic を以下の例外を除きサポートしています。

  • object 要素の standby 属性や declare 属性はサポートしていません。

OMA XHTML Mobile プロファイル

Opera は XHTML Basic の拡張である XHTML Mobile Profile 1.01.1 を例外なくすべてサポートしています。1.2objectdeclare 属性以外サポートしています。

XHTML+Voice (X+V) サポート

IBM Voice コンポーネントが付属した Opera は XHTML+Voice profile 1.2 (Mobile Profile サブセットも含む) をサポートします。X+V のサポートには CSS3 Speech (-xv- prefix モジュールについては現在準備中です) も含まれます。X+V は XML Event による効果を反映するためには XML メディアタイプ (application/xml, application/xhtml+xml, application/x-xhtml+voice+xml) として提供される必要があります。詳細は X+V developer documentation をご覧ください。

WML 1.3 および 2.0 サポート

WML 1.0 から 1.3 までは、HTML のサブセットに基づいていますが、実用的な目的のために作成された別個のマークアップ言語といえます。WML 2.0 は、WML 1.3 の機能を有する XHTML Basic の拡張と言うべきでしょう。

Opera は下記以外の WML 1.3 と 2.0 をサポートします。

  • columns 属性
  • 入力フォーマットコード <lang:class>
  • wml:getvar 要素

ウィジェットサポート

Opera は HTML ウィジェットをどこか他でドキュメント化されたものとしてサポートします。ウィジェットの形式は現在標準化されていませんが、原則としてパッケージングプロパティをもつ HTML および ECMAScript のマイナーエクステンション (拡張) です。

XML サポート

Opera は XML ドキュメントを解析と表示できます。Opera は妥当性を検証するプロセッサおよび検証しないプロセッサのいずれでもあります。

Content-type が "text/xml"、"application/xml"、または "+xml" で終了するサブタイプのドキュメントは XML ドキュメントとして処理されます。Content-type が不明の場合には、".xml" ファイル拡張子も XML として処理します。Opera は US-ASCII を text/xml の初期設定の文字セットとしていませんが、さもなければ RFC3023 に従います。text/xml ではなく application/xml をお使いになるか、明確な文字セット宣言をご利用になるようお勧めします。

XSLTXPathXSL-FO

Opera は XSLT 1.0 と XPath 1.0 を以下の例外を除きサポートしています。

  • namespace-alias 要素はサポートしていません
  • decimal-value 要素の Nan、per-mille、minus-sign、percent属性はサポートしていません
  • sort 要素の case-order 属性はサポートしていません
  • document() 関数はサポートしていません

加えて exsl:node-set() 関数がサポートされました。

Opera は XSL Formatting Objectsをサポートしていません。

XML 名前空間と XML ID

Opera は XML 名前空間を完全サポートしています。

Opera 9 では text/html に対する名前空間のサポートを中止しました。

Opera は xml:id 属性をサポートしています。

XML Events

Opera は XML Events をサポートし、X+V において使用します。HTML script と VoiceXML form とで XML Events を処理します。

CSS サポート

CSS のサポート状況一覧表

CSS Level 1

Opera CSS1 を全てサポートしています。

CSS Level 2

Opera は以下の例外を除く CSS2 をサポートしています。

  • font-size-adjustfont-stretchmarker-offsetmarkstext-shadow プロパティ
  • cjk-ideographic、hebrew、hiragana、hiragana-iroha、katakana、katakana-iroha などの list-style-type プロパティ
  • "display: marker"、"text-align: <string>"、"visibility: collapse" のプロパティと値の組み合わせ
  • 名前つき page (セクション 13.3.2 にて解説)
  • "@font-face" コンストラクト
  • :lang() セレクタ

CSS Level 2 Revision 1

CSS 2.1 は、現在 W3C で勧告候補とされています。準拠は最新バージョンと比較されていますが、最終的な勧告は異なる内容となる可能性もあります。

Opera は CSS2.1 を以下の例外を除きサポートしています。

  • visibility: collapsewhite-space: pre-line の標準値

CSS Mobile プロファイル

Opera は CSS Mobile profile を例外なくサポートします。

WAP CSS

WAP CSSCSS Mobile profile の拡張です。Opera は WCSS バージョン 1.0 および 1.1 を完全にサポートします。

CSS 3 (草案) で Opera がサポートするプロパティ

下記のプロパティは開発の初期段階なので、いつでも変更・削除される可能性があります。実験用途としてお使いください。

  • Media Queries を一部サポート
  • content 要素は :before、:after 疑似要素に限らず全ての要素に使用可能
  • box-sizing
  • opacity

Opera では、欠落していては表示不能な XML 要素への情報提供を行うために、CSS 風の属性を使用します。三つの拡張プロパティが実装され、ハイパーリンクおよび画像イメージが XML ドキュメントに挿入されるようになります。ほとんどの場合、以下で説明するプロパティよりも XHTML を使って作成した方が良いとされますが、ご参考までに掲載します。

XMLCSS拡張
プロパティ:-o-link
値:none | attr(<attribute-name>)
初期値::n
継承: No
説明:このプロパティは 'link' 変数の値を設定し、それにより後に 'opera-use-link-source' プロパティを通じてリンクが生成されます。
プロパティ:-o-link-source
値:none | current | next
初期値:: n
継承: No
説明:このプロパティは要素を source anchor に設定し、現在ないし次の "-o-link" 変数のいずれの値を利用するかを宣言し

-o-replace は廃止されました。これに相当する CSS3 メカニズムに変更予定です。

XMLCSS

XML ドキュメントを表示するためには、CSS スタイルシートが必要です。作成者は処理指示を通じ、XML ドキュメントにスタイルシートを付与することが可能です。以下は、簡単な例です。

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

スタイルシートが存在せず、ページの名前空間が HTML に関連付けられていない場合、Opera 9 はドキュメントを表示するため、全ての CSS プロパティにおいて初期値を使用します。要素はすべてインラインとなります。また、テキストはすべて同じフォントによって提供されます。

ECMAScript サポート

ECMAScript は Java コアを標準化したもので、ECMA standards body を通じて標準化されています。ECMAScript にはブラウザやドキュメントに関連したオブジェクトは含まれません。

Opera は ECMA-262 2ed ならびに 3ed 標準を例外なくサポートします。これは JavaScript 1.3/1.5 コアとほぼ同等です。

DOM サポート

DOM 2 コア

軽微な例外を除き、Opera は DOM 2 Core の Fundamental インターフェースを完全サポートしています。Notation、Entity、EntityReference の Extended インターフェースはサポートしません。

DOM 2 HTML

HTML のサポート例外に対応する軽微な例外を除き、Opera は DOM 2 HTML を完全サポートしています。

DOM 2 Events

Opera 9 は DOM 2 Events を例外なくサポートしています。DOM 3 Events の作業が W3C で再開されましたが、勧告となった暁には例外なくサポートする予定です。

DOM 2 Style

Opera は二三の例外を除き DOM 2 Style をサポートしています。このモジュールは現在 W3C で開発中です。アップデートバージョンを例外なくサポートする予定です。

DOM 2 Range

Opera は DOM 2 Rangeをサポートしています。

DOM 2 Traversal

Opera は二三の例外を除き DOM 2 Traversal をサポートしています。

DOM 3 Load と Save

Opera は二三の例外を除き Load and Save をサポートしています。

DOM 3 XPath

Opera は二三の例外を除き DOM 3 XPath をサポートしています。これは現在 W3C ノートとなっています。

XMLHTTPRequest (XHR)

XMLHTTPRequest は作業中です。勧告となった暁には例外なくサポートする予定です。

Canvas

Opera は Canvas を実験的にサポートします。Canvas の仕様は現在作業中です。

ネットワークプロトコルサポート

Opera は HTTP 1.0 ならびに HTTP 1.1 を完全サポートしています。ハイライトは以下のようになります。

  • 常時接続 (単一のコネクションによる複数の要求/応答)
  • キャッシュを作らない・キャッシュをディスクに作らないなどのキャッシュコントロール
  • Basic 認証。body 内の認証を除く Digest 認証をサポートします。
  • レジュームダウンロード (サーバ側が対応しているとき)
  • SSL/TLS サポート (proxy/firewall を含む)
  • HTTP、FTP、Gopher、WAIS 用のプロキシ

暗号化: Secure Sockets Layer (SSL) バージョン 2 と 3 および Transport Layer Security (TLS) v1.0 および 1.1 に対応した 128 bit 暗号化 (RSA 公開鍵方式のみ) をサポートしています。SSL 2 は廃止されており、初期設定ではサポートされていません。また、HTTP (web)、NNTP (news)、POP ならびに SMTP (メール) に対応しています。プライベートキーの生成や証明書のリクエストもサポートしています。

ニュース: 暗号化されたニュースサーバやパスワード付きのニュースサーバをサポートしたシンプルなオンラインニュースリーダー。MIME 形式の、もしくはエンコードされていない記事への添付をデコードすることができます。

レジュームダウンロードを含む FTP をサポートしています。

FTP、HTTP 両形式によるダウンロードをサポートしています。

テキストと国際化

Opera の Unicode サポート

Opera は Unicode にて指定されたすべての文字上で動作します。ネットワークから Opera に伝えられたテキストは、すべて Unicode に変換されます。

Opera が Unicode 文字を表示するためには、必要とされる文字がお使いのシステム上のフォントにて利用可能である必要があります。これは比較的古いウインドウズ・システムにおいて問題となり場合があります。詳細な情報については Unicode fonts for Windows computers をご覧ください。

Opera 9 は以下の書き込みシステム関連機能を実行します。

font-switching
使用中のフォントに含まれていない文字を表示するために必要です。
line-breaking
中国語・韓国語・日本語のように、スペースのない文章を表示するために必要です。

Opera は、実行するオペレーティング・システムに依存します。

character shaping
Contextual glyph selection、ligature forming、character stacking、combining character support 等。

エンコーディングサポート

Opera は Unicode (UTF-16 ならびに UTF-8) で動作しますが、インターネット上のほとんどのテキストは、Unicode 以外の古めかしいエンコーディング (例えば ISO 8859-1、windows-1251、Shift-JIS、EUC-KR) でエンコードされています。Opera は、使用されるエンコーディングを検知しそれを UTF-16 に変換することで文字データを処理します。これらのページの処理方法に関しては、三つのオプションを用意しています。

自動検出
Opera はページ単位で使用されるエンコーディングを検出しようとします。転送プロトコルによりエンコード名が提供される場合には、そのエンコード名が使用されます。そうでない場合には、Opera はページ中の charset 宣言を検索します。これが見当たらない場合、Opera はドメイン名を使用してページが CJK スクリプトかどうか、もしそうであればいずれに該当するかなどを確認し、エンコーディングの自動検出を試行します。Opera はまた UTF-8 を自動検知します。
スクリプトにより自動検出
ユーザには日本語あるいは中国語のページであると明らかでありながら、エンコードが不明な場合に使用します。Opera はページのテキストに使われているエンコードを分析し、使用されているエンコードを決定します。
エンコードの上書き
ユーザがエンコードを指定したい場合に使用します。転送プロトコルやページのエンコード情報ではなく、指定されたエンコードでページを表示します。

以下の一覧には、Opera が Unicode に加えてサポートするすべてのエンコードが掲載されています。

エンコード
エンコードカテゴリコメント
ISO 8859-1ラテン
ISO 8859-2ラテン東ヨーロッパ言語
ISO 8859-3ラテンあまり使われない
ISO 8859-4ラテンサーミ、バルト海沿岸諸国
ISO 8859-9ラテントルコ語
ISO 8859-10ラテンイヌイット、サーミ、アイスランド語
ISO 8859-13ラテンあまり使われない
ISO 8859-14ラテンケルト語
ISO 8859-15ラテン8859-1 の代替案
Windows-1250ラテン東ヨーロッパ言語
Windows-1252ラテン
Windows-1254ラテントルコ語
Windows-1257ラテンバルト海沿岸諸国
Windows-1258ラテンベトナム語
VISCIIラテンベトナム語
IBM 866キリル文字
ISO 8859-5キリル文字
koi8-rキリル文字
koi8-uキリル文字koi8-r のウクライナ語版
Windows-1251キリル文字
ISO 8859-6アラビア語
Windows-1256アラビア語
ISO 8859-7ギリシャ語
Windows-1253ギリシャ語
ISO 8859-8ヘブライ語
Windows-1255ヘブライ語
ISO 8859-11タイ語TIS-620 としても知られている
Windows-874タイ語ISO 8859-11 の拡張
utf-8Unicode
utf-16Unicode
Shift-JIS日本語
ISO-2022-JP日本語
EUC-JP日本語
Big 5中国語
EUC-CN中国語GB 2312 として誤認されることもある
HZ-GB-2312中国語主にメールで使用
EUC-TW中国語
GBK中国語EUC-CN 拡張
EUC-KR韓国語

両方向混在テキストのサポート

Opera 9 は Unicode、HTMLCSS にて説明されている bidrectional text (両方向混在テキスト) をサポートしています。

グラフィックサポート

スケーラブルベクターグラフィック (SVG)

サポートしている SVG の一覧表

Opera は二三の例外を除き、上位集合の SVG 1.1 Basic および SVG 1.1 Tiny をサポートしています。これは SVG 1.1 の部分的サポートへの道を開くものです。

あらゆるイベントを視聴するイベントもサポートされますが、イベントによってはアプリケーションから送信されないものもあります。focusinfocusoutactivate などです。Adobe 固有のイベントである keyup や keydown はサポートされません。font-family などのフォントはサポートされますが、選択したフォントに不明なグリフがあった場合には、そのグリフをfont-family の次のフォントから得る代わりにプラットフォーム定義の代替システムが使用されます。

SVG を HTML の objectembediframe で、スタンドアローンのドキュメントとして利用できます。img 要素はサポートしませんし、CSS プロパティ値 (例 background-image) でもサポートされません。SVG の image 要素には、サポートされているあらゆるラスターグラフィックを含むことが可能ですが、他の SVG 画像を含むことはできません。

SVG 画像はラスター画像として印刷されます。

SVG は XML として処理され、well-formedness と名前空間用のルールと同じルールが適用されます。Opera はまた、何か不明な機能があった場合に、停止の処理を要求する SVG の適合性ルールに従います。

パフォーマンス

これらの機能は特に高価なプロセッサであるため、フィルタ、透明レイヤ (グループ不透過率)、マスクなど、低速のプロセッサ搭載のマシーンを対象とする際には、使用にあたり注意が必要です。

ラスターグラフィック

Opera は GIF89aJPEGBMPICOWBMP およびアルファチャンネル透過とガンマ埋め込みを含む PNG を全てサポートしています。