Opera 8 でサポートされるウェブ仕様
このページは Linux および Windows 版の Opera バージョン 8について記述されています。Opera 7 に関する情報については Opera 7 のサポートする仕様をご覧ください。
HTML と XHTML サポート | XHTML Mobile Profile サポート | XHTML+Voice サポート | WML サポート | XML サポート | CSS サポート | ECMAScript サポート | DOM サポート | ネットワークサポート | テキストと国際化 | グラフィックサポート
Opera のサポートする HTML および XHTML
HTML 4.01
Opera 8 は HTML 4.01 を以下の例外を除きサポートしています:
- option 要素の
event属性はサポートしていません。 col要素のwidth属性は multilengths(分割)をサポートしていません。object要素のstandby属性やdeclare属性はサポートしていません。- テーブルセルの属性
charとcharoffはサポートしていません。
XHTML 1.0 および XHTML モジュール化
XHTML サポートには、2種類のモードがあります。一つは content type が text/html のドキュメントの場合で、もう一つは content type が text/xml、application/xml、application/xhtml+xml のドキュメントである場合です。前者のケースではドキュメントは他の HTML ドキュメントと同様に処理されます ( XHTML 1.0, XHTML Basic, XHTML 1.1 の標準的なサポートも行います)。後者のケースでは、XHTML は HTML 要素および属性用にあらかじめ定義された機能を有する XML として処理されます。Opera はこの両方のモードをサポートします。
XHTML 1.1 サポート
Opera 8 は XHTML 1.1 を以下の例外を除きサポートしています:
- option 要素の
event属性はサポートしていません。 col要素のwidth属性は multilengths(分割)をサポートしていません。object要素のstandby属性やdeclare属性はサポートしていません。- テーブルセルの属性
charとcharoffはサポートしていません。 - ルビはサポートしていません。
XHTML Basic
Opera 8 は XHTML Basic を例外なくすべてサポートしています。
OMA XHTML Mobile プロファイル
Opera 8 は XHTML Basic の拡張である XHTML Mobile Profile 1.0 と 1.1 を例外なくすべてサポートしています。
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 8 は下記以外の WML 1.3 と 2.0 をサポートします:
- columns 属性
- 入力フォーマットコード <lang:class>
- wml:getvar 要素
XML サポート
Opera 8 は XML ドキュメントを解析し表示することができます。 Content-type が "text/xml" または "application/xml" のドキュメントは XML ドキュメントとして処理します。 Content-type が不明の場合には、.xml ファイル拡張子も XML として処理します。
XSL と XSLT
Opera は XSL フォーマット化オブジェクトをサポートしません。また、XSLT をサポートしません。サーバ側で変換処理された XML ドキュメントは、他の XML ドキュメントと同様に Opera にて解析されて表示され
XML 名前空間
Opera 8 はXML 名前空間をサポートします。以下は Opera が認識する名前空間の一覧です:
| 仕様 | 名前空間 |
|---|---|
| XML | |
| XML Events | http://www.w3.org/2001/xml-events |
| XHTML | http://www.w3.org/1999/xhtml |
| WML | http://www.wapforum.org/2001/wml |
| VoiceXML | http://www.w3.org/2001/vxml |
| XHTML+Voice | http://www.voicexml.org/2002/xhtml+voice |
| SVG | http://www.w3.org/2000/svg |
Opera 8 より text/html lに対する名前空間のサポートを中止しました。
XML Events
Opera は XML Events をサポートし、 X+V において使用します。HTML script と VoiceXML form とで XML Events を処理します。
CSSサポート
CSS Level 1
Opera 8 はCSS1 をすべてサポートしています。
CSS Level 2
Opera 8 は以下の例外を除く CSS2 をサポートしています:
- 以下のプロパティ:
font-size-adjust,font-stretch,marker-offset,marks, andtext-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 8 は CSS2.1 を以下の例外を除きサポートしています:
- The
visibilty: collapseandwhite-space: pre-lineproperty values
CSS Mobile プロファイル
Opera 8 は CSS Mobile profile を例外なくサポートします。
WAP CSS
WAP CSS は CSS Mobile profile の拡張です。Opera 8 は WCSS バージョン 1.0 および 1.1 を完全にサポートします。
CSS 3(草案)で Opera がサポートするプロパティ
下記のプロパティは開発の初期段階なので、いつでも変更・削除される可能性があります。 実験用途としてお使いください。
- Media Queries の実験的サポート
content要素は :before , :after 疑似要素を除く全ての要素に使用可能box-sizing
Opera CSS リンク拡張
Opera 8 では、欠落していては表示不能な XML 要素への情報提供を行うために、CSS 風の属性を使用します。3つの拡張プロパティが実装され、ハイパーリンクおよび画像イメージが XML ドキュメントに挿入されるようになります。ほとんどの場合、以下で説明するプロパティよりも XHTML を使って作成した方が良いとされますが、ご参考までに掲載します。
| プロパティ: | -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 |
| 値: | none | attr(x) |
| 初期値: | : n |
| 継承: | No |
| 説明: | このプロパティは要素が置き換えられるか否かを宣言します。置き換えられる場合、attr() function を用いてコンテンツの URI 情報が見つかった属性を指摘します。 |
Internet Explorer および Netscape との、スタイル上における
/ Opera ブラウザをご利用になる場合、ページによっては他のブラウザ上とは異なって表示されることにお気づきになるかもしれません。 たいていの場合、相違は表示中のページにおけるエラーにより発生します。 ほとんどの Web ページは、Opera がサポートしている W3C の規格に沿って記述されていません。Opera 8 には、Standards モードと Quirks モードとの二つのレンダリングモードが適用されていますが、規格の方が優先されます。これらのモードに関する詳細は、こちらのドキュメント をご覧ください。
- Opera 及び Netscape 6+ では、
hrは CSS のbackground-colorプロパティで指定された色で表示されます。 Netscape 4 と IE では、colorプロパティで指定された色で表示されます。 これら全てのブラウザで希望通りの色で表示するには、両方のプロパティを指定してください。 ただし、hrにcontentが指定されている場合は、意図通りの効果が得られません。また、 Netscape 4 と IE のいずれにも対応していません。 - IE と Netscape の標準スタイルシートは
body要素にmargin: 8pxが設定されており、 Opera は padding: 8px が設定されています。 パディングとは body 要素と内容との間の余白であり、マージンとは body 要素と html 要素 (または head 要素の可視部分)との間の余白です。bodyにmarginまたはpaddingを明確に設定する場合は、他のプロパティも設定する必要があります。 - IE6 における CSS の改良は、Opera の中では既に実行されています。これにより、IE6 の標準モードにおける Web ページの表示形式が、Opera の Web ページの表示形式に非常に近くなっています。詳細は Microsoft IE6 に関するドキュメント をご覧ください。
XML と CSS
XML ドキュメントを表示するためには、CSS スタイルシートが必要です。作成者は処理指示を通じ、 XML ドキュメントにスタイルシートを付与することが可能です。 以下は、簡単な例です:
<?XML version="1.0"?> <?xml-stylesheet href="shakespeare.css" type="text/css"?>
スタイルシートが存在せず、ページの名前空間が HTML に関連付けられていない場合、Opera 8 はドキュメントを表示するため、全ての CSS プロパティにおいて初期値を使用します。要素はすべてインラインとなります。また、テキストはすべて同じフォントによって提供されます。
ECMAScript サポート
ECMAScript は Java コアを標準化したもので、ECMA standards body を通じて標準化されています。ECMAScript にはブラウザやドキュメントに関連したオブジェクトは含まれません。
Opera 8 は ECMA-262 2ed ならびに 3ed 標準を例外なくサポートします。これは JavaScript 1.3/1.5 コアとほぼ同等です。
DOMサポート
DOM 2 コア
Opera 8 は、下記を除く全ての基本インターフェースをサポートしています:
document
- createEntityReference()
DocumentType
- internalSubset
Opera 8 は、以下の拡張インターフェースをサポートしていません:
- Notation
- Entity
- EntityReference
DOM 1 HTML
Opera 8 は、下記を除く全ての基本インターフェースをサポートしています:
- HTMLDirectoryElement
- HTMLBaseElement
- HTMLBaseFontElement
および以下のプロパティとメソッド:
HTMLOptionElement
- label
HTMLObjectElement
- declare
HTMLScriptElement (一部サポート)
- HTMLFor
- event
HTMLTableColElement, HTMLTableSectionElement, HTMLTableRowElement, HTMLTableCellElement
- ch
- chOff
HTMLTableCellElement
- abbr
DOM 2 Events
Opera 8 は DOM 2 Event と UI Event インターフェースを例外なくサポートしています。
DOM 2 Style
Opera 8 は以下のオブジェクトを含み、DOM 2 Style を部分的にサポートしています:
ElementCSSInlineStyle
CSSStyleDeclaration
Opera は CSS2Properties を以下の例外を除きサポートしています:
- CSSText
- parentRule
- getPropertyCSSValue()
- getPropertyPriority()
CSS2Properties
Opera は CSS2Properties を以下の例外を除きサポートしています:
- captionSide
- counterIncrement
- direction
- fontSizeAdjust
- fontStretch
- markerOffset
- marks
- tableLayout
- textShadow
- unicodeBidi
- すべての Aural CSS プロパティ
ネットワークプロトコルサポート
Opera 8 は HTTP 1.0 と HTTP 1.1 を完全にサポートしています。 以下はその一例です:
- 常時接続(単一のコネクションによる複数の要求/応答)
- キャッシュを作らない・キャッシュをディスクに作らないなどのキャッシュコントロール
- Basic 認証。 body 内の認証を除く Digest 認証をサポートします。現在 NTLM をサポートする計画はありません。
- レジュームダウンロード(サーバ側が対応しているとき)
- SSL/TLS サポート (proxy/firewall を含む)
- HTTP, FTP, Gopher, WAIS 用のプロキシ
暗号化: Secure Sockets Layer (SSL) バージョン 2 と 3および Transport Layer Security (TLS) v1.0 に対応した 128 bit 暗号化(RSA 公開鍵方式のみ)をサポートしています。また、HTTP (web)、NNTP (news)、POP ならびに SMTP (メール)に対応しています。プライベートキーの生成や証明書のリクエストもサポートしています。
ニュース: 暗号化されたニュースサーバやパスワード付きのニュースサーバをサポートしたシンプルなオンラインニュースリーダー。MIME 形式の、もしくはエンコードされていない記事への添付をデコードすることができます。
レジュームダウンロードを含む FTP をサポートしています。
FTP、HTTP 両形式によるダウンロード
テキストと国際化
Opera の Unicode サポート
Opera は Unicode にて指定されたすべての文字上で動作します。 ネットワークから Opera に伝えられたテキストは、すべて Unicode に変換されます。
Opera が Unicode 文字を表示するためには、必要とされる文字がお使いのシステム上のフォントにて利用可能である必要があります。これは比較的古いウインドウズ・システムにおいて問題となり場合があります。 詳細な情報については Unicode fonts for Windows computers をご覧ください。
Opera 8 は以下の書き込みシステム関連機能を実行します:
- 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 | キリル文字 | 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-8 | Unicode | |
| utf-16 | Unicode | |
| Shift-JIS | 日本語 | |
| ISO-2022-JP | 日本語 | |
| EUC-JP | 日本語 | |
| Big 5 | 中国語 | |
| EUC-CN | 中国語 | GB 2312 として誤認されることもある |
| HZ-GB-2312 | 中国語 | 主にメールで使用 |
| EUC-TW | 中国語 | |
| GBK | 中国語 | EUC-CN 拡張 |
| EUC-KR | 韓国語 |
両方向混在テキストのサポート
Opera 8 より Unicode、HTML、CSS にて説明されている bidrectional text (両方向混在テキスト) をサポートしています。
グラフィックサポート
ラスターグラフィック
Opera は GIF89a、JPEG、BMP、ICO、WBMP および アルファチャンネル透過とガンマ埋め込みを含む PNG を全てサポートしています。
スケーラブルベクターグラフィック (SVG)
Opera 8 は opacity, font handling, animation を含む SVG 1.1 Tiny 拡張をサポートしています。
