Opera 6 でサポートされるウェブ仕様

このページは Opera の Linux、QnX、Windows バージョンに当てはまります。

HTML support | CSS support | XML support | WML support | ECMAScript support | DOM support | Networking support | Text and internationalization | Graphics support

Opera HTML サポート

Opera 6 は以下の例外を除き、HTML 4.01をサポートします:

固有のイベント属性

以下の属性はサポートしていません:

  • option 要素の全てのイベント属性
  • ondblclick

Form 要素

以下の Form 要素はサポートしていません:

  • button の視覚効果
  • label
  • legend

以下の Form 属性はサポートしていません:

  • accept
  • accept-charset
  • for

Table 要素

Opera は HTML3.2 の全ての Table 要素をサポートしています (例: table, caption, tr, th, td). Opera は tfoot プロパティを処理します(常にテーブルの下部に表示されます)が、その他の方法では、Opera では新たな HTML 4.01 要素(col, colgroup, thead, tfoot, tbody)や属性(abbr, axis, char, charoff, frame, headers, rules, scope)はサポートされません。また、Opera はグループ化を行う要素(tbody, tfoot, thead)にスタイルを割り当てることはできません。

その他の問題

  • a 要素は、coords, charset, hreflang, shape に帰します。
  • frameborder 属性はサポートしていません。
  • 双方向アルゴリズム上書き要素 bdodir 属性。lang 属性はサポートしていません(例: q)。
  • accesskey, tabindex 属性はサポートしていません。
  • Opera は object をサポートしていますが、align, classid, codebase, codetype, standby 属性はサポートしていません。 プラグインには embed が用いられます。
  • Opera は appletalign, archive 属性をサポートしていません。
  • rel="stylesheet" を除き、Opera は link 要素の属性を特にサポートしていません。同様に、meta 要素の scheme 属性、および head 要素の profile 属性もサポートしません。
  • 推奨されない hr 要素の noshade 属性は効果がありません。compact 属性も同様です。CSS を使用してください。
  • Opera は script, noscriptに関して、HTML 4.01の規格に従っています。 もし何らかの script 要素が実行できない場合、それ以降すべての noscript 要素を表示します。

CSSサポート

Opera 6 は全てのCSS1 をサポートします。

Opera 6 は以下の例外を除く <a1>CSS2</a1> をサポートしています:

  • Opera はビジュアルブラウザであるため、Aural CSS をサポートしていません。
  • 以下のプロパティ: clip, cursor, direction, font-size-adjust, font-stretch, marker-offset, marks, text-shadow, unicode-bidi, すべての outline プロパティ。
  • CSS2 上の list-style-type
  • 次のプロパティ/値の組み合わせ: "display: marker", "text-align: <string>", "visibility: collapse", "content: <url>", "overflow: scroll", "overflow: auto".
  • 名前つき page (セクション 13.3.2 にて解説)
  • "@font-face" コンストラクト

以下の例外を除きすべての CSS2 セレクタをサポートします:

  • :first-child, :focus, :lang
  • 他のセレクタの前に置かれる pseudo-classes との組み合わせ

Internet Exploler および Netscape との、スタイル上における相違点

Opera ブラウザをご利用になる場合、ページによっては他のブラウザ上とは異なって表示されることにお気づきになるかもしれません。 たいていの場合、相違は表示中のページにおけるエラーにより発生します。 ほとんどの Web ページは、Opera がサポートしている W3C の規格に沿って記述されていません。 Opera は Netscape と Microsoft のブラウザにおけるエラーを修正するため、ある程度までの試行を行いますが、W3C の規格の方が優先されます。Opera と Netscape / Microsoft との間における表示方法の相違の一覧は、下記をご参照下さい。

  • Opera における hr の色は、背景属性です。また、Opera は生成された内容と同様に、背景のスタイルもすべてを受理します。 NN4 および IE では、それが前景属性(色)となっています。 なお NN6 では、正しい処理を行っています。(:before:after の擬似要素とともに生成された内容が使用される場合、Opera と NN6 では相違があります。)
  • リンクのアンダーラインについては、Opera および NN6 と、他の古いブラウザとの間において相違があります (アンダーラインの色とテキストの色を分けることができます)。これは CSS2 の text-decoration のルールによるものです。
  • IE5 for Windows には、高さ及び幅の処理方法に誤りがあります。このため Opera (ならびに NN6) がより大きく表示されます。 この不具合は IE6 (compliant mode) において修正されています。
  • IE5 には配置位置に関連した問題もあります。配置された要素は、含まれている配置済みの要素の一番近くに配置されるべきですが、含まれている要素の一番近くに配置されます。
  • 背景イメージのポジショニングは、ウィンドウではなくエレメントボックスに関連しています。body{background-position: center center} は、ウィンドウの中心ではなくページの中心に背景が表示されます。
  • 通常は body 要素に対して margin ( bodyhead/html 要素の間の空白) ではなく padding を使用します。
  • ブロックレベルコンテンツのプレフォーマットに関して、 pre はブロックコンテンツではなくインラインコンテンツに対して適用されます。すなわち、<pre>Pre-formatted<h3>Headline</h3>Not pre-formatted</pre> のようにブロックレベル要素 (headline など) が現れた場合、コンテンツはプレフォーマットされません。NN と IE では、<h3>Headline</h3>Not pre-formatted</pre> はやはり表示されません。
  • Opera においてフォームコントロールのスタイルを変更できますが、背景色の設定など、フォームコントロールではないように見せるスタイル変更は行えませんのでご注意ください。CSS の仕様ではフォームコントロール装置でスタイル変更が可能であるようにはなっていませんし、OS の UI ガイドラインと違反する可能性があります。弊社では将来この変更をサポートする予定です。
  • Netscape 6 は標準規格に関し、Netscape 4 シリーズよりも大きな飛躍を見せています。Mozillaではさらに改善されていると思われます。 Mozilla に関する情報は Mozilla site をご覧ください。
  • IE6 における CSS の改良は、Opera の中では既に実行されています。これにより、IE6 の標準モードにおける Web ページの表示形式が、Opera の Web ページの表示形式に非常に近くなっています。詳細は <a1>Microsoft IE6 に関するドキュメント</a1> をご覧ください。

Opera の拡張 CSS 対応表

こちらのユーザサイトでは Opera 5 の対応情報が載せられています: Eric Meyer's Mastergrid

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

XML の CSS 拡張
プロパティ:-set-link-source
値:none | attr(<attribute-name>) | content()
初期値:: n
継承: No
説明: このプロパティは 'link' 変数の値を設定し、それにより後に 'opera-use-link-source' プロパティを通じてリンクが生成されます。
プロパティ:-use-link-source
値:none | current | next
初期値:: n
継承: No
説明:このプロパティは要素を source anchor に設定し、現在ないし次の "link " 変数のいずれの値を利用するかを宣言します。
プロパティ:-replace
値:none | attr(x)
初期値:: n
継承: No
説明:このプロパティは要素が置き換えられるか否かを宣言します。置き換えられる場合、attr() function を用いてコンテンツの URI 情報が見つかった属性を指摘します。

さらに、Opera は CSS2 非標準の値 white-space プロパティの white-space: -pre-wrap を許容します。この値は white-space: pre と全く同じですが、例外として、 一行がボックス(containing box)よりも幅が広い場合は、端で折り返されます。 これは、メールのメッセージのような改行が予想できないプレーンテキストフォーマットを取り扱うときにとりわけ便利です。-pre-wrap は他のホワイトスペース設定とは異なり、タブキャラクタを小さな箱のように表示します。

XML サポート

Opera 6 can parse and display XML documents. Content-type が "text/xml" のドキュメントは XML ドキュメントとして処理します。 Content-type が不明の場合には、.xml ファイル拡張子も XML として処理します。

XML と CSS

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

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

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

XSL と XSLT

Opera は XSL formatting objects をサポートしません。また、XSLT transformations をサポートしません。サーバ側で変換処理された XML ドキュメントは、他の XML ドキュメントと同様に Opera にて解析されて表示されます。クライアントによる XSL-FO については Formatting Objects Considered Harmful をご覧ください。

XML 名前空間

Opera 6 は XML 名前空間をサポートします。 XHTML 用の名前空間がもっとも頻繁に使用されます。Opera 4 から暫定的に HTML 名前空間 (http://www.w3.org/TR/REC-html40) が認識されるようになっています。Opera 5.1からは XHTML 名前空間 (http://www.w3.org/1999/xhtml) も認識されます。

XHTML サポート

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

  • base
  • script とイベントハンドラ
  • style (xml-stylesheet の代わりに使用する)

WML 1.2 support

Opera 6.0 はワイヤレス・マークアップ・ランゲージ(WML)要素をすべてサポートしますが、以下の属性はサポートされません:

  • accesskey, tabindex
  • select 要素の iname, ivalue
  • input 要素の emptyok, format
  • img 要素の localsrc

WML ドキュメントのレンダリングは、Opera のインストールディレクトリ中にある "wml.css" という名前の CSS スタイル・シートによりコントロールされます。 このファイルを編集した際、変更を適用するには一度 Opera を再起動する必要があります。

ECMAScript サポート

ECMAScript は Java コアを標準化したもので、ECMA standards body を通じて標準化されています。ECMAScript にはブラウザやドキュメントに依存したオブジェクトが存在しません。詳細は こちらのドキュメントをご覧ください。

Opera 5 は ECMA-262 2nd 標準をサポートしています。 これは JavaScript 1.3 と同等の機能を有しています。 以下のアイテムは JavaScript 1.3 のコアサポートの中で Opera 6 には含まれないものです:

  • Locale メソッド
  • RegExp オブジェクトの完全な実装
  • 組み込みオブジェクトの一覧

Opera は ECMA-262 3rd edition をほぼサポートしています。これは Netscape の JavaScript 1.4 コアサポートとおおよそ同等の機能を有しています。

JavaScript 環境: DOM と DHTML

JavaScript 1.3 サポートに次の機能は含まれません:

  • イベントハンドラに渡されたイベント変数は JavaScript 標準と一致しません
  • iframe の SRC 属性を設定することができません

現在、DOM 2.0 標準に基づいて DOM を処理しています。また、Microsoft の DOM に対する拡張のいくつかも使用してきましたが、これは HTML 要素のスタイル属性を通じて CSS プロパティへアクセスする明白なメソッドであるといえます。ドキュメント構造の修正はまだ可能ではありません(すなわち、HTML 要素の追加や削除を行うことができません)。Netscape の dynamic layer をサポートする計画はありません。 現在、以下に示す絶対座標で指定する HTML 要素のための CSS 属性の取得と設定を行えるようにサポートしています:

  • visibility
  • pixelLeft, pixelTop
  • pixelWidth, pixelHeight
  • zIndex
  • color, background(色の設定のみ)

ドキュメント・オブジェクトにおいて、下記のメソッドをサポートしています:

  • getElementsByTagName()
  • getElementById()
  • getElementsByName()

HTML要素において、下記のメソッドをサポートしています:

  • getElementsByTagName()
  • contains()
  • parentNode

Support for JavaScript and JScript Objects

詳細はこちらのドキュメントに記述されています。Opera は上記に記述されている以外の W3C DOM コアをサポートしません。W3C DOM/HTML はサポートされる予定です。W3C DOM/HTML サポートのドキュメントも今後予定しています。

JavaScript と JScript objects のサポートについての詳細

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

OPERA 6 は HTTP 1.0 と HTTP 1.1 を完全にサポートしています。 以下はその一例です:

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

暗号化: Secure Sockets Layer (<a1>SSL</a1>) バージョン 2 と 3および Transport Layer Security (<a2>TLS</a2>) v1.0 に対応した 128 bit 暗号化(<a0>RSA</a0> 公開鍵方式のみ)をサポートしています。また、<a3>HTTP</a3> (web)、<a4>NNTP</a4> (news)、<a5>POP</a5> ならびに <a6>SMTP</a6> (メール)に対応しています。プライベートキーの生成や証明書のリクエストもサポートしています。

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

リジュームダウンロードに対応した FTP

FTP、HTTP 両形式によるダウンロード

テキストと国際化

Opera の Unicode サポート

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

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

Opera 6.0 は以下の書記システム関連機能を実行します:

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 に変換することで文字データを処理します。これらのページの処理方法に関しては、3つのオプションを用意しています。

自動検出
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キリル文字Ukranian version of 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 はアルファチャンネル、ガンマサポートを含む PNG をフルサポートし、および GIF89a、JPEG、BMP、WBMPをサポートしています。