JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - figcaptionタグ

JavaScript JavaScript
スポンサーリンク

figcaption 要素は「図のタイトル・説明を書くためのラベル」

<figcaption> は、
「この図は何なのか?」を説明するための“キャプション専用タグ” です。

単体では使わず、必ず <figure> の中で使います。

<figure>
  <img src="coffee.jpg" alt="カップに注がれたホットコーヒー">
  <figcaption>朝に飲むホットコーヒー</figcaption>
</figure>

ここで <figure> が「図の箱」、
<figcaption> が「その図のタイトル・説明」という関係になっています。

「画像の下に小さく書いてある説明文」
「図1. 〜」みたいなやつを、HTML でちゃんと意味付きで表現するのが <figcaption> です。


alt と figcaption の違いをしっかり分けて考える

alt は「画像そのものの説明」、figcaption は「図としての意味」

ここが一番大事なポイントです。

alt(img の属性)
画像が見えない人・環境のために、
「この画像には何が写っているか」を言葉で説明するもの。

figcaption
図全体(画像+文脈)について、
「この図は何を示しているのか」「何を伝えたいのか」を説明するもの。

例で比べてみます。

<figure>
  <img
    src="sales-graph.png"
    alt="2023 年の売上推移を示す折れ線グラフ"
  >
  <figcaption>図1. 夏のキャンペーン期間中に売上が大きく伸びていることが分かる。</figcaption>
</figure>

alt は「グラフの中身そのもの」を説明しています。
figcaption は「このグラフから読み取れるポイント」を説明しています。

つまり、

画像の“中身” → alt
図の“意味・要約” → figcaption

という分担です。


figcaption の位置と書き方のパターン

上に置くか、下に置くか

<figcaption><figure> の最初か最後に置きます。

上に置くパターン(タイトルっぽい):

<figure>
  <figcaption>朝のコーヒーとノート PC</figcaption>
  <img src="coffee-laptop.jpg" alt="コーヒーの横にノート PC が置かれている写真">
</figure>

下に置くパターン(キャプションっぽい):

<figure>
  <img src="coffee-laptop.jpg" alt="コーヒーの横にノート PC が置かれている写真">
  <figcaption>朝のコーヒーとノート PC</figcaption>
</figure>

どちらも正解です。
「図の上にタイトルを出したいか」「下に説明を出したいか」で決めればOKです。

CSS でスタイルを整えると、より“図とキャプション”らしくなります。

figure {
  margin: 1.5rem 0;
  text-align: center;
}

figcaption {
  font-size: 0.9rem;
  color: #666;
  margin-top: 0.5rem;
}

画像以外にも使える:コード例・表・イラストなど

コード例+説明を figcaption でラベル付けする

<figure>
  <figcaption>JavaScript でボタンにクリックイベントを付ける例</figcaption>
  <pre><code>
const button = document.querySelector("#myButton");
button.addEventListener("click", () => {
  alert("クリックされました");
});
  </code></pre>
</figure>

ここでは、
「コードブロックそのもの」が図の本体で、
<figcaption> が「このコードは何の例か」を説明しています。

グラフやスクリーンショットにも相性がいい

<figure>
  <img src="dashboard.png" alt="管理画面のダッシュボードのスクリーンショット">
  <figcaption>図2. 管理画面のダッシュボード。売上とアクセス数を一目で確認できる。</figcaption>
</figure>

スクリーンショットは、
「何が写っているか」だけでなく
「何を見せたいのか」が重要なので、
figcaption でそこを補ってあげると親切です。


JavaScript と figcaption:コンポーネントとして扱う

ギャラリーの 1 アイテムとしての figure+figcaption

HTML 側にコンテナだけ用意しておいて、
JS で <figure><figcaption> を生成するパターンもよくあります。

<div id="gallery"></div>
const data = [
  { src: "photo1.jpg", alt: "ギャラリーの写真 1", caption: "写真 1:海辺の夕焼け" },
  { src: "photo2.jpg", alt: "ギャラリーの写真 2", caption: "写真 2:森の小道" },
];

const container = document.querySelector("#gallery");

data.forEach((item) => {
  const figure = document.createElement("figure");
  const img = document.createElement("img");
  const cap = document.createElement("figcaption");

  img.src = item.src;
  img.alt = item.alt;
  cap.textContent = item.caption;

  figure.appendChild(img);
  figure.appendChild(cap);
  container.appendChild(figure);
});
JavaScript

ここでは、
「1 つの figure が 1 つの“図コンポーネント”」になっていて、
figcaption がその図のラベルとして機能しています。

JS で動的に扱うときも、
alt と figcaption の役割を分けて持たせておくと、
アクセシビリティも保ったまま UI を作れます。


figcaption を使うか迷ったときの判断基準

「この図に“タイトルや説明”を付けたいか?」

シンプルにこう考えるといいです。

「この画像(またはコード・グラフ)は、
本文とは別に“図としてのタイトルや説明”があった方が分かりやすいか?」

そう感じるなら、<figure><figcaption> の出番です。

ただの装飾画像 → figcaption は不要
本文中の小さなアイコン → figcaption は不要
記事中の重要な図・グラフ → figcaption があると意味が伝わりやすい
コード例・スクリーンショット → figcaption で「何の例か」を書くと親切

「図として独立した意味を持たせたいか?」
ここがスイッチです。


初心者として「figcaption タグ」で絶対に掴んでほしいこと

<figcaption> は、
「figure の中身が何なのかを説明する“図のキャプション”」 です。

必ず <figure> の中で使う
画像だけでなく、コードやグラフにも使える
alt は「中身の説明」、figcaption は「図としての意味・要約」
図にタイトルや説明を付けたいときにだけ使う
JS でギャラリーやコード例を作るときの“ラベル”としても便利

あなたが図や画像を置くときに、
「この図、キャプションがあった方が“何を見せたいか”伝わるよな?」
と感じたら、その瞬間が <figcaption> を書くタイミングです。

タイトルとURLをコピーしました