ImageDocument

媒体文書 (DOM)

[1] 媒体文書 (media document) は、画像動画音声への navigate で作成される文書です。

[2] プラグイン文書とは違って媒体文書は仕様書上の用語ではありません。
[12] WebKit では画像を表示するものが ImageDocument と呼ばれているようです。

仕様書

媒体文書の構築

[5] navigate は次のようにして媒体文書DOM を構築することになっています。

navigate への引数のうち、資源を参照します。

[7] 当該文書AppCache選択アルゴリズムマニフェスト無しで実行しなければなりません >>3

[6] 次のようにして文書子孫を作成するべきです >>3

なぜか SHOULD にとどまっています。
  1. 文書html 要素append します。
  2. head 要素body 要素html 要素append します。
  3. 要素body 要素append します。
  4. その要素src 属性資源URL を設定します。

[8] head 要素内容媒体を表す要素属性は、 適宜設定して構いません >>3

[9] 例えば autoplay 属性controls 属性を設定できます。

[10] Webブラウザーによっては、viewport と同じ大きさへの自動的な拡大・縮小や、 手動での拡大、保存等のツールバー画像用に提供するなど、通常の HTML文書中の img 要素とは異なる機能を用意しています。

[11] Webブラウザーによって画像EXIF/image-orientation の解釈が異なっています。

[4] その後、 stop parsing を実行しなければなりません >>3

関連

[16] SVG への navigate では媒体文書は使われません。

メモ

[13] 画像動画音声は、それ自体は DOM を持ちませんが、 スクリプトを通じて他のフレームからアクセスできますから、 何らかのオブジェクトが必要です。それがこの媒体文書です。

[14] 利用者に対してどう見せるかにはある程度の自由度があり、 例えば画像の場合、viewport のサイズに応じて自動的に縮小した上で、 利用者の操作で任意に拡大縮小できるのが近年の標準的な視覚的利用者エージェントの実装となっています。 (そうした操作のボタンは (img 要素には controls 属性はありませんが) DOM に現れない UI 要素として表示されることがあります。)

[15] Bookmarklet にも、この媒体文書の構造に依存しているものがあります。