HTML講座 / figureとfigcaptionで図と説明をまとめる

画像や図を、その題名や説明と一つのまとまりとして扱う場合はfigureとfigcaptionを使えます。キャプションはすべての読者に見える説明で、画像を見られない場合の情報を伝えるaltとは役割が違います。

画像とキャプションを一つにまとめる

画像講座の幅960ピクセルのサンプルを、HTMLファイルと同じ場所に保存します。実寸は960×540ピクセルです。次のHTMLをbodyへ、CSSをhead内のstyleへ入れて開きます。

<figure>
  <img src="html-image-sample-lake-tree-960-v1.webp"
       alt="A tree on a small island in a lake with mountains beyond"
       width="960" height="540">
  <figcaption>Figure: the lake-and-tree example used for this lesson</figcaption>
</figure>
figure { margin: 1rem 0; }
figure img { max-width: 100%; height: auto; }

figcaptionはfigureの最初か最後の子要素にします。例では画像の下に説明が表示され、最初へ移せば上に置けます。キャプションを編集してもaltは自動変更されないため、別々に確認してください。画像のパスはimgによる画像の挿入の手順で準備します。

altとキャプションの仕事は違う

altは画像が見えないときに必要な情報や機能を伝えます。figcaptionは図の題名、文脈、出典などをすべての人へ示します。同じ長い説明を両方へそのままコピーすると、読み上げが重複する場合があります。

装飾画像なら空のaltが適切な場合もありますが、重要な情報が他の場所で提供されていることが条件です。グラフなら単に「棒グラフ」とせず主要な傾向を伝え、詳細な値は近くの表や本文で補います。W3C WAIの判断フローとHTMLアクセシビリティの基本も参照できます。

figureが不要な場合と出典の示し方

文中に普通の画像を置くだけで、独立した図や説明のまとまりがないなら、必ずfigureにする必要はありません。反対に「次の図」として参照する図や説明付きのコード例などは候補になります。画像以外の内容も含められます。

キャプション内に出典を示す場合は、前の例のfigcaptionを次に置き換えます。リンクは実際の画像ファイルを提供する既存の英語版講座です。

<figcaption>Example image source: <a href="https://www.codingfactory.net/en/15491">the file supplied with the images lesson</a>.</figcaption>

他の画像を使う場合は実際の作成者や出典と利用条件を確認します。クレジットを書くだけで利用許可を得たことにはなりません。内容モデルはMDNのfigure要素で確認できます。

表示がおかしい場合

figureにはブラウザーの初期余白が付く場合があります。余白が広いときはHTMLの意味を変える前にCSSのmarginを確認します。画像が出なければパスとファイル名、説明が出なければfigcaptionの位置と閉じタグを調べます。狭い画面での比率と、代替テキストが説明の役割を果たすかも別々に確認してください。

같은 카테고리의 다른 글
HTML講座 / textarea・select・option・buttonを使う

HTML講座 / textarea・select・option・buttonを使う

複数行入力、選択メニュー、送信・リセット・通常ボタンを使い分けます。表示ラベルと送信値、初期値と現在値を実際のフォームで比較する方法も紹介します。

HTML講座 / formの構造とGET・POSTによる送信

HTML講座 / formの構造とGET・POSTによる送信

action、method、nameの役割とGET・POSTの違いを学びます。FormDataと開発者ツールを使い、送信対象の値、入力検証、サーバー処理を分けて確認します。

HTML講座 / table・tr・th・tdで表を作る

HTML講座 / table・tr・th・tdで表を作る

行と列を持つデータをHTMLの表で表す基本を学びます。見出しセルとデータセル、theadとtbody、横幅が広い表のスクロール方法も紹介します。

HTML講座 / メール・数値・日付・選択肢に合うinputの型

HTML講座 / メール・数値・日付・選択肢に合うinputの型

email、number、date、checkbox、radioの使い分けを学びます。見える入力UIと送信値、初期値と現在値の違いを、フォームデータの確認とともに説明します。

HTML講座 / リンクの作成、相対パスとページ内移動

HTML講座 / リンクの作成、相対パスとページ内移動

aとhrefによるリンク、絶対URLと相対URL、ページ内の移動を学びます。新しいタブ、メール、ダウンロードの条件と、三つのファイルでパスを確認する実習も紹介します。

HTML講座 / detailsとsummaryで開閉できる説明を作る

HTML講座 / detailsとsummaryで開閉できる説明を作る

JavaScriptなしで開閉する補足説明を作ります。open属性の真偽、分かりやすいsummaryの書き方、Tab・Enter・Spaceによる操作の確認方法も紹介します。

HTML講座 / caption・scope・セル結合で読みやすい表を作る

HTML講座 / caption・scope・セル結合で読みやすい表を作る

表の題名、列見出しと行見出し、colspanとrowspanの関係を学びます。色や位置だけに依存せず、一つの値に対応する見出しを判断できる表を目指します。

HTML講座 / audio・video・iframeでメディアを埋め込む

HTML講座 / audio・video・iframeでメディアを埋め込む

音声、動画、外部文書の埋め込みを学びます。字幕ファイル、代替リンク、画面幅への対応と、ファイル形式や提供元の制限による読み込み失敗の確認方法も説明します。

HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

同じ構図の解像度選択と、画面幅に応じた構図変更を区別して学びます。w記述子、ピクセル密度、currentSrcによる確認方法と、キャッシュが比較に与える影響も解説します。

HTML講座 / HTMLのエラーを探して文書を検査する

HTML講座 / HTMLのエラーを探して文書を検査する

Nu HTML Checkerの使い方と、重複IDを含む失敗例の修正を学びます。エラー位置の読み方、保存したファイルとサーバーの出力、構文と実際の操作の違いも解説します。