| この記事の要点 |
|
figure 要素とは
<figure> は HTML5 で追加された意味タグ (semantic element) です。本文から独立した図表・画像・コードリスト・引用・動画などをひとまとまりにマークアップし、必要に応じて <figcaption> でキャプションを付けるために使います。
W3C の定義では「本文から切り出して別ページに移動しても、本文の意味が壊れない自己完結したコンテンツ」を表すとされています。「本文に番号付きで参照される図」がイメージとして近いです。
基本構文
<figure>
<img src="chart.png" alt="2025年の売上推移グラフ">
<figcaption>図1: 2025年の四半期別売上推移</figcaption>
</figure>
<figcaption> は <figure> の先頭または末尾に 1 つだけ置きます。省略しても文法的には OK で、その場合はキャプションなしの図扱いになります。
使える中身のバリエーション
画像
<figure>
<img src="diagram.svg" alt="システム構成図">
<figcaption>図2: マイクロサービス構成図</figcaption>
</figure>
コードリスト
<figure>
<pre><code>function hello() {
console.log("Hello, World!");
}</code></pre>
<figcaption>リスト1: 最小の JavaScript 関数</figcaption>
</figure>
引用
<figure>
<blockquote>
<p>Talk is cheap. Show me the code.</p>
</blockquote>
<figcaption>— Linus Torvalds</figcaption>
</figure>
複数画像のグループ
<figure>
<img src="before.png" alt="リファクタ前のコード">
<img src="after.png" alt="リファクタ後のコード">
<figcaption>図3: リファクタリング前後の比較</figcaption>
</figure>
img をそのまま置くのとどう違うか
機械的なレンダリング結果は変わりませんが、意味付けが変わります。
| 書き方 | 意味 | 検索エンジン / 支援技術への伝わり方 |
|---|---|---|
<img> 単独 | 段落内のインライン画像 | 本文の挿絵程度 |
<figure><img></figure> | 独立した図 | キャプション付きの「図表」と認識される |
figure を使うべきでないケース
- 装飾画像 — ヘッダー背景、ボタンアイコンなど。
<div>や CSS 背景に。 - 本文と密結合した画像 — 「次の画像のように〜」と本文がその画像に依存している場合は、独立性がないので figure は不適切。
- レイアウト目的のラッパー — 中央寄せしたいだけなら
<div class="center">で十分。
よくある質問
Q: figcaption を画像の上に置きたい
A: <figure> 内の先頭に置けば構造的に上、末尾に置けば下になります。仕様上はどちらも 1 つだけ許可。
Q: img の alt と figcaption の使い分けは?
A: alt は画像の代替テキスト(画像が表示できない時に何が描かれているか)、figcaption はキャプション(「図1: 〜」のような本文中の説明)。役割が違うので両方書きます。
Q: figure をネストできる?
A: 仕様上は禁止されていませんが、独立した図の中に別の独立した図、という構造はほぼ意味を成さないので非推奨です。
子ページ
子ページはありません
同階層のページ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15