概要
- 配置できる場所
-
- 上記カテゴリーの要素が置ける場所。
- 内容モデル
-
- 空でなければならない。
- 属性
-
- グローバル属性
src
→入れ子された閲覧文脈(インラインフレーム)に表示するHTML文書等のURLsrcdoc
→入れ子された閲覧文脈(インラインフレーム)に表示するHTML文書のHTMLコードそのものを記載する(「"」「&」などは実体参照でエスケープする。html
要素を最上位とするHTML文書でなくてもよく、<p>xxx</p>
みたいな断片でもよい)。src
属性も指定されてる場合は、srcdoc
属性未対応ブラウザでない限り、こちらが優先して表示される。name
→当該要素の閲覧文脈名。「_」(アンダースコア)で始まらない一文字以上の文字列でなければならない。リンク・フォームの閲覧文脈の対象となる。allow
→入れ子された閲覧文脈(インラインフレーム)のPermissions Policyの初期状態を指定する。allowfullscreen
→ブーリアン属性。フルスクリーン表示を許容する場合に指定。loading
→値は下記とおり。デフォルトは、eager
。読み込みを延期するか否かを示す。eager
→リソースをすぐに取得するlazy
→いくつかの条件が満たされるまでリソースの取得を延期する
referrerpolicy
→値は下記のとおり。アクセス又はリソース読み込みのときのリファラーヘッダに関するポリシーを指定する。詳細は、Referrer Policyを参照。no-referrer
→リファラーヘッダを削除し、リファラー情報を送信しない。no-referrer-when-downgrade
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、リファラー情報を全部送信する。same-origin
→非同一オリジンからの要請に対しては、リファラーヘッダを削除し、リファラー情報を送信しない。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。origin
→ドメイン部分のみをリファラー情報として送信する(例:「https://example.com/example.html」からのアクセス→「https://example.com/」のみを送信)。strict-origin
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、ドメイン部分のみをリファラー情報として送信する。origin-when-cross-origin
→非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。strict-origin-when-cross-origin
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合で、非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。その他の場合で、同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。unsafe-url
→リファラー用に削った全部情報を送信する。
sandbox
→値は下記のとおり。半角スペース区切りで複数指定可。インラインフレーム内のHTML文書に対する制限を指定する。allow-forms
→当該HTML文書のフォームを有効にする。allow-modals
→当該HTML文書のモーダルダイアログを有効にする。allow-orientation-lock
→当該HTML文書において、画面の向きをロックする機能を有効にする。allow-pointer-lock
→当該HTML文書のポインタロック機能を有効にする。allow-popups
→当該HTML文書のポップアップ機能を有効にする。allow-popups-to-escape-sandbox
→当該HTML文書から新たに生じた閲覧文脈(新規のウィンドウなど)に対して、sandbox
属性の状態を継承させない。allow-presentation
→当該HTML文書において、Presentation APIの使用を可能とする。詳細は、Presentation APIを参照。allow-same-origin
→親の閲覧文脈のHTML文書と当該HTML文書を同一オリジンとして扱う。allow-scripts
→当該HTML文書のスクリプトを有効にする。allow-top-navigation
→当該HTML文書から親の閲覧文脈のHTML文書に対する操作を可能とする。allow-top-navigation-by-user-activation
→当該HTML文書において、ユーザーの操作に基づいて親の閲覧文脈のHTML文書に対する操作を可能とする(ユーザーの操作に基づかない自動的なものは不可)。allow-top-navigation-to-custom-protocols
→当該HTML文書でカスタムプロトコルを有効にする。allow-downloads
→当該HTML文書において、ダウンロード操作を可能とする。- 指定されなかった属性値については、それぞれ反対の効果となる。
allow-top-navigation
とallow-top-navigation-by-user-activation
の同時指定はしてはならない。allow-popups
又はallow-top-navigation
が指定されている場合は、allow-top-navigation-to-custom-protocols
を指定してはならない。allow-scripts
とallow-same-origin
を同時指定すると、インラインフレーム内のHTML文書からスクリプトにより、sandbox
属性そのものを削除することが可能になってしまうので、注意。
width
→px単位の幅を指定する非負整数。単位はつけない。height
→px単位の高さを指定する非負整数。単位はつけない。itemprop
属性がある場合は、src
属性は必須。
- HTML構文におけるタグの省略
-
- 省略不可。
- 視覚系ブラウザのデフォルトとして期待されるCSS
-
iframe {border: 2px inset;}
- 視覚系ブラウザにおいて期待されるレンダリング
-
- 置換要素となる。
- 入れ子された閲覧文脈に、指定されたHTML文書を表示。
height
属性値及びwidth
属性値をレンダリングのヒントとして用いる。
- ユーザーエージェントに対する特記事項
-
sandbox
属性値にallow-top-navigation
とallow-top-navigation-by-user-activation
が同時に指定されていた場合(非準拠)は、前者のみが効果を有する。
- 意味・用法
-
(インラインフレームたる)閲覧文脈内コンテンツを表す。
アクセシビリティ関連
- 代替テキスト:HTML Living Standardでは存在しない。
- 未対応ユーザーエージェント向け代替コンテンツ:HTML Living Standardでは存在しない。
- アクセシビリティ支援技術向け:
title
属性によるラベル付け(Techniques for WCAG 2.1 : H64)。なお、インラインフレームに対応してない場合は、前の項目と同じ状況になると思われる。 - オブジェクトデータがアクセス不能又は対応してない形式の場合:404ページが埋め込まれてしまうだけで、代替コンテンツはない。
- 代替テキストや代替コンテンツが仕様上はないので、前後にテキストの形でキャプションや説明文を配置すべきである(Techniques for WCAG 2.1 : G82, G92, G94, G95, G100)。その際には、あわせて、代替コンテンツとしてインラインフレームに表示されるはずだったHTML文書へのリンクを設置することも考えられる(Techniques for WCAG 2.1 : G190)。
私見・補足
入れ子された閲覧文脈(インラインフレーム)を表す。
インラインフレームに表示する文書は、HTML文書が想定されているわけだが、他にも、仕様には明示されてはいないが、プレーンテキストファイルや視覚系ブラウザでのレンダリングが想定されている文書(MathML文書、XSLTをかませたXML文書など)は、表示できそうである。画像や動画を表示できるものもあるようだ。
スタイルシートを駆使してiframe
要素2個(あるいは2個以上)をうまく配置すれば、廃止されたframeset
要素によるフレーム構文と類似したものの実現は可能(サンプル)。
表示確認
- ソース1
-
以下のiframe要素に当サイトの目次ページを表示 <iframe src="0mokuji.html" width="800" height="400" name="iframeex" title="iframeサンプル"></iframe>
- 表示結果1
- 以下のiframe要素に当サイトの目次ページを表示
- ソース2:
srcdoc
属性使用 -
以下にsrcdoc属性によるiframe要素を表示。 <iframe srcdoc="<p>srcdoc属性に対応してます。</p>" src="./sample/nonsrcdoc.html" width="800" height="100" name="iframeex2" title="iframe要素srcdoc属性使用サンプル"></iframe>
- 表示結果2
- 以下にsrcdoc属性によるiframe要素を表示。