HTML / Element / Partial coverage

<picture>要素

状態: 部分観測 対象: HTML Living Standard 仕様確認日: 2026-09-22

Technical Summary

picture要素は、それ自身を画像として表示する要素ではなく、子のimgに対して複数の画像sourceを提供するcontainerです。viewport、pixel density、image formatなどに応じて、ユーザーエージェントが使用するimage resourceを選択します。

Content modelは、0個以上のsourceに続く1個のimgです。sourceの条件に合わない場合やpictureに対応しない環境では、最後のimgがfallbackの基準になります。

Definition / Categories

項目仕様上の整理
意味子のimgに対する複数sourceとresource selectionのcontextを提供するcontainer
CategoriesFlow content、Phrasing content、Embedded content、Palpable content
ContextEmbedded contentが期待される場所
Content model0個以上のsource、続いて1個のimg。script-supporting elementsは仕様上許可される位置に置ける
Tag omission開始タグ・終了タグとも省略不可
Content attributesGlobal attributesのみ。候補条件は子のsource、表示される画像とaltは子のimgが担う
DOM interfaceHTMLPictureElement

Source selectionの境界

ユーザーエージェントはpicture内のsourceを文書順に評価し、media条件とtypeの対応可能性を候補選択へ反映します。選択されたsourceはsrcsetと、必要に応じてsizesからimage source setを構成します。その後の候補選択は、表示slot、pixel density、環境条件などを含む画像処理モデルと接続します。

属性picture内の意味
mediamedia query listが現在の環境に適合するかを候補条件にする
type画像のMIME typeを示し、対応できない形式の候補を取得前に飛ばせる場合がある
srcset選択されたsourceが提供するimage candidates
sizeswidth descriptorを使うsource setのsource size。条件により省略可否が変わる
srcpicture内のsourceには使用せず、fallbackのimgへ置く

sourceは単独で表示内容を表す要素ではありません。また、picture内のsourceと、audio・video内のsourceでは、src・srcsetなどの意味とresource selection algorithmが異なります。

Art directionとresolution switching

目的主なモデル注意点
同じ構図の解像度候補img srcset sizesslot sizeとpixel densityに基づく候補選択を、不要なmedia条件で固定しない
構図・切り抜きの切り替え複数source media + fallback img候補ごとに画像の意味が変わりすぎないか、altと周辺説明を確認する
画像形式の切り替え複数source type + fallback imgtype条件は取得前の対応判定の入口であり、実際の取得・decode・表示を同一視しない

FallbackとAccessibility

pictureは画像の表示面そのものではなく、選択contextです。画像の意味を伝えるaltはfallbackとなるimgに置きます。named image、empty-alt image、画像が選択される前後のAccessibility Treeは、picture自身のroleと混同せず、選択されたimgのmappingとして観測します。

したがって、source候補が複数あることだけを理由に複数の画像を支援技術へ公開するとは限りません。実際のbrowser tree、platform API、支援技術の結果は環境ごとに分けて記録する必要があります。

DOM Interface

const picture = document.querySelector('picture');
const sources = picture.querySelectorAll('source');
const image = picture.querySelector('img');

picture instanceof HTMLPictureElement;
sources[0] instanceof HTMLSourceElement;
image.currentSrc;

HTMLPictureElementはHTMLElementを継承するinterfaceで、source selectionを直接返す専用APIを持つものではありません。選択後のURLを観測する入口は、子のimgのcurrentSrcです。

Fact / Evidence(主張 / 根拠)

content model、source selection、属性の適用条件、fallback、Accessibilityを分離し、仕様上の主張と実装観測を同一視しないように記録します。

主要Factと根拠の対応表
種別Fact / 主張条件・範囲状態根拠
SPECpictureは子のimgへ複数sourceを提供し、viewport、pixel density、image formatなどに基づく選択contextになる。意味、categories、context、content model、DOM interface。確認済みHTML Standard: the picture element
SPECpicture内ではsourceのmedia・type・srcset・sizesがsource setと候補選択に関係し、source srcは使用しない。sourceの親がpictureである場合。audio・video内のsource処理とは分離する。確認済みHTML Standard: the source element
SPEC最後のimgはfallbackと画像の意味を担い、altはそのimgに指定する。候補が一致しない場合、画像形式に対応しない場合、画像のaccessible nameとfallback content。確認済みHTML Standard: the img element / HTML-AAM: picture
SPEC同じ構図の解像度候補と、構図・形式を切り替えるart directionは異なる設計判断である。img srcset sizesとpicture source media/typeの使い分け。確認済みHTML Standard: Images

Evidence

  1. HTML Standard: The picture element — meaning、categories、content model、HTMLPictureElement、selection context
  2. HTML Standard: The source element — picture内のmedia、type、srcset、sizes、dimension attributes
  3. HTML Standard: Images — source set、candidate selection、表示slot、pixel density、art direction
  4. HTML Accessibility API Mappings: picture — pictureと選択されたimgのAccessibility mappingの入口
  5. Web Platform Tests: embedded content — picture、source、img、responsive imageに関係するテスト群の入口

Implementation Evidence

picture-v1をChrome 155(Windows 11 Pro build 26300)で実行しました。表示幅390px・DPR 1.0ではmobile-640.svg、1280px・DPR 1.25ではdesktop-960.svgが選ばれました。DPRは、画面の細かさを表す値です。どちらもmedia条件に合い、currentSrc(ブラウザーが実際に選んだ画像のURL)もその画像を示しました。この観測では、条件に合わない画像sourceへのrequestは記録されませんでした。どのsource条件にも合わない場合は、代わりにimgの画像が使われました。

観測用fixture: build-config/yugien/research-results/picture-v1/。画像ファイルごとに色と名前を変え、どの画像が選ばれたかを見分けられるようにしています。実測は1つのブラウザーでの結果です。

picture要素の実装Evidence登録表
種別再現確認の範囲記録する条件状態
IMPL media・type・srcset・sizesによるsource selection、fallback、currentSrc、network request 2026-10-18 / Chrome 155.0.0.0 / Windows 11 Pro build 26300 / picture-v1。viewport 1280 × 720・DPR 1.25ではdesktop-960.svg、390 × 844・DPR 1.0ではmobile-640.svgを選択。どちらも対応するmedia条件とcurrentSrcが一致。条件外のtypeとmediaの画像sourceにrequestなし。no-match時はfallbackのimgを選択。全4画像が読み込み済み。詳細: docs/atlas/picture-evidence-2026-10-18.md 部分観測(Chrome 155 / 2条件)
WPT picture、source、responsive image、type/media条件、fallbackに対応するテスト 2026-10-18 / Chrome 155.0.0.0 / Windows 11 Pro build 26300 / wpt.live。source-relevant-mutations.html 1/1、srcset-media-dynamic.html 1/1、srcset-w-reselect-on-resize.html 1/1 pass(計3/3)。配信側が実行版を示さないため、wptRevisionは未記録。選定外のテストと他ブラウザーは未実行。詳細: docs/atlas/picture-evidence-2026-10-18.md

実測時のテスト版は未記録です。リンク先の内容は変わることがあり、当時と同じテストで再確認できるとは限りません。

部分観測(Chrome 155 / 3テスト)
AAM pictureのrole、選択されたimgのaccessible name、named / empty-alt、source候補の公開範囲 2026-10-18 / Chrome 155.0.0.0 / Windows 11 Pro build 26300 / picture-v1のChrome Accessibility Tree。pictureはcontainerとして表示。altのあるimgは画像nodeとしてalt文字列とともに表示し、空のalt属性を持つ画像と個々のsourceはnodeとして表示しなかった。Windows Accessibility API、支援技術、他ブラウザーは未観測。詳細: docs/atlas/picture-evidence-2026-10-18.md 部分観測(Chrome Accessibility Tree)

source selection、画像取得、decode、候補選択後のtree、platform API、支援技術の結果は、ブラウザー・OS・viewport・DPR・network・画像形式に依存し得ます。単一環境の観測を、すべての実装に共通する結果として登録しません。

Coverage / Open Issues

  • 確認済み意味、Categories、Context、Content model、tag omission、HTMLPictureElement
  • 確認済みsourceのmedia・type・srcset・sizesとimg fallbackの仕様上の境界
  • 確認済みresolution switchingとart direction、画像形式選択、altとAccessibility mappingの入口
  • 実測済みChrome 155の2条件でsource selection、currentSrc、fallback、未選択sourceのrequestを観測
  • 実測済み選定したWPT 3ファイルはすべてpass。実行版がわからないため、結果は部分観測として記録
  • 実測済みChrome Accessibility Treeで、名前のある画像・空のalt・source候補の見え方を観測
  • 未完了Firefox・Safari、ほかのviewport・DPR、形式ごとのdecode・error・fallback、さらに動的なsource変更を比較
  • 未完了WPTの追加実行と実行版の固定。今回選んだ3ファイル以外は未実行
  • 未完了WindowsのAccessibility API、Narrator・NVDAなどの支援技術、他ブラウザーでのアクセシビリティを確認

この実測は1つのChrome環境と選定したWPTに限ります。すべてのブラウザーや支援技術で同じ結果になるとは限りません。

Related surface

初心者向けの画像候補、alt、寸法、読み込みの説明はYugienのpicture要素ページを参照してください。単一画像とsrcset・sizesの画像処理モデルはimg要素、sourceの親要素別の属性条件・候補選択はsource要素、media element内での選択との比較はvideo要素で確認できます。audio要素固有の範囲は別Topicとして扱います。