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 属性はサポートしていません。
  • テーブルセルの属性 charcharoff はサポートしていません。

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 8 は XHTML 1.1 を以下の例外を除きサポートしています:

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

XHTML Basic

Opera 8 は XHTML Basic を例外なくすべてサポートしています。

OMA XHTML Mobile プロファイル

Opera 8 は XHTML Basic の拡張である XHTML Mobile Profile 1.01.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 として処理します。

XSLXSLT

Opera は XSL フォーマット化オブジェクトをサポートしません。また、XSLT をサポートしません。サーバ側で変換処理された XML ドキュメントは、他の XML ドキュメントと同様に Opera にて解析されて表示され

XML 名前空間

Opera 8 はXML 名前空間をサポートします。以下は Opera が認識する名前空間の一覧です:

仕様名前空間
XML
XML Eventshttp://www.w3.org/2001/xml-events
XHTMLhttp://www.w3.org/1999/xhtml
WMLhttp://www.wapforum.org/2001/wml
VoiceXMLhttp://www.w3.org/2001/vxml
XHTML+Voicehttp://www.voicexml.org/2002/xhtml+voice
SVGhttp://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, and text-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: collapse and white-space: pre-line property values

CSS Mobile プロファイル

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

WAP CSS

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

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

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

  • Media Queries の実験的サポート
  • content 要素は :before , :after 疑似要素を除く全ての要素に使用可能
  • box-sizing

Opera 8 では、欠落していては表示不能な XML 要素への情報提供を行うために、CSS 風の属性を使用します。3つの拡張プロパティが実装され、ハイパーリンクおよび画像イメージが 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
値: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 プロパティで指定された色で表示されます。 これら全てのブラウザで希望通りの色で表示するには、両方のプロパティを指定してください。 ただし、hrcontent が指定されている場合は、意図通りの効果が得られません。また、 Netscape 4 と IE のいずれにも対応していません。
  • IE と Netscape の標準スタイルシートは body 要素に margin: 8px が設定されており、 Opera は padding: 8px が設定されています。 パディングとは body 要素と内容との間の余白であり、マージンとは body 要素と html 要素 (または head 要素の可視部分)との間の余白です。 bodymargin または padding を明確に設定する場合は、他のプロパティも設定する必要があります。
  • IE6 における CSS の改良は、Opera の中では既に実行されています。これにより、IE6 の標準モードにおける Web ページの表示形式が、Opera の Web ページの表示形式に非常に近くなっています。詳細は Microsoft IE6 に関するドキュメント をご覧ください。

XMLCSS

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-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 8 より Unicode、HTMLCSS にて説明されている bidrectional text (両方向混在テキスト) をサポートしています。

グラフィックサポート

ラスターグラフィック

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

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

Opera 8 は opacity, font handling, animation を含む SVG 1.1 Tiny 拡張をサポートしています。