figureタグの使い方【HTMLリファレンス】

HTMLのfigureタグは、画像や図表、コードスニペットなどの独立したコンテンツを表示するために使われます。

このタグを使うことで、コンテンツの意味を明確にし、SEOやアクセシビリティの向上に役立ちます。

この記事では、figureタグの基本的な使い方から、具体的な使用例、スタイリング方法、他のHTMLタグとの組み合わせ、そしてベストプラクティスまでを詳しく解説します。

目次から探す

figureタグとは

figureタグは、HTML5で導入されたタグの一つで、画像や図表、コードスニペットなどの独立したコンテンツを表現するために使用されます。

このタグを使用することで、コンテンツの意味を明確にし、SEOやアクセシビリティの向上に寄与します。

figureタグの基本構造

figureタグは、通常、figcaptionタグと組み合わせて使用されます。

figcaptionタグは、figureタグ内のコンテンツに対するキャプション(説明文)を提供します。

以下に、figureタグの基本的な構造を示します。

figureタグの基本的な書き方

figureタグの基本的な書き方は以下の通りです。

<figure>
  <img src="example.jpg" alt="説明文">
  <figcaption>画像のキャプション</figcaption>
</figure>

この例では、figureタグ内に画像とそのキャプションが含まれています。

imgタグは画像を表示し、figcaptionタグはその画像に対する説明を提供します。

figcaptionタグとの関係

figcaptionタグは、figureタグ内で使用されることが一般的です。

figcaptionタグは、figureタグ内のコンテンツに対する説明やキャプションを提供するために使用されます。

以下に、figcaptionタグの使用例を示します。

<figure>
  <img src="example.jpg" alt="説明文">
  <figcaption>これは画像のキャプションです。</figcaption>
</figure>

この例では、figureタグ内に画像とそのキャプションが含まれています。

figcaptionタグは、figureタグ内のコンテンツに対する説明を提供するために使用されます。

figureタグは、画像や図表、コードスニペットなどの独立したコンテンツを表現するために使用されます。

figcaptionタグと組み合わせることで、コンテンツの意味を明確にし、SEOやアクセシビリティの向上に寄与します。

基本的な構造を理解し、適切に使用することで、より意味のあるHTML文書を作成することができます。

figureタグの使用例

画像を含むfigureタグの例

figureタグは、画像とそのキャプションをまとめて表示する際に非常に便利です。

以下に、画像を含むfigureタグの基本的な使用例を示します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>画像を含むfigureタグの例</title>
    <style>
        figure {
            border: 1px solid #ccc;
            padding: 10px;
            max-width: 300px;
            margin: auto;
        }
        figcaption {
            text-align: center;
            font-style: italic;
        }
    </style>
</head>
<body>
    <figure>
        <img src="example.jpg" alt="サンプル画像" width="300">
        <figcaption>これはサンプル画像です。</figcaption>
    </figure>
</body>
</html>

この例では、figureタグ内にimgタグとfigcaptionタグを含めています。

imgタグで画像を表示し、figcaptionタグでその画像のキャプションを表示しています。

スタイルを適用することで、figureタグ全体に枠線を付け、キャプションを中央揃えにしています。

図表を含むfigureタグの例

figureタグは、画像だけでなく図表を含む場合にも使用できます。

以下に、図表を含むfigureタグの例を示します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>図表を含むfigureタグの例</title>
    <style>
        figure {
            border: 1px solid #ccc;
            padding: 10px;
            max-width: 500px;
            margin: auto;
        }
        figcaption {
            text-align: center;
            font-style: italic;
        }
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #ccc;
            padding: 8px;
            text-align: center;
        }
    </style>
</head>
<body>
    <figure>
        <table>
            <thead>
                <tr>
                    <th>項目</th>
                    <th>値</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>項目1</td>
                    <td>値1</td>
                </tr>
                <tr>
                    <td>項目2</td>
                    <td>値2</td>
                </tr>
            </tbody>
        </table>
        <figcaption>これはサンプルの図表です。</figcaption>
    </figure>
</body>
</html>

この例では、figureタグ内にtableタグとfigcaptionタグを含めています。

tableタグで図表を作成し、figcaptionタグでその図表のキャプションを表示しています。

スタイルを適用することで、図表全体に枠線を付け、キャプションを中央揃えにしています。

コードスニペットを含むfigureタグの例

figureタグは、コードスニペットを表示する場合にも使用できます。

以下に、コードスニペットを含むfigureタグの例を示します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>コードスニペットを含むfigureタグの例</title>
    <style>
        figure {
            border: 1px solid #ccc;
            padding: 10px;
            max-width: 600px;
            margin: auto;
            background-color: #f9f9f9;
        }
        figcaption {
            text-align: center;
            font-style: italic;
        }
        pre {
            background-color: #eee;
            padding: 10px;
            overflow-x: auto;
        }
    </style>
</head>
<body>
    <figure>
        <pre>
<code>
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>サンプルコード</title>
</head>
<body>
    <h1>こんにちは、世界!</h1>
</body>
</html>
"
        </pre>
        <figcaption>これはサンプルのHTMLコードです。</figcaption>
    </figure>
</body>
</html>

この例では、figureタグ内にpreタグとcodeタグ、そしてfigcaptionタグを含めています。

preタグとcodeタグでコードスニペットを表示し、figcaptionタグでそのコードスニペットのキャプションを表示しています。

スタイルを適用することで、コードスニペット全体に枠線を付け、背景色を変更し、キャプションを中央揃えにしています。

これらの例を通じて、figureタグがどのように使用されるかを理解できたでしょう。

次に、figureタグのスタイリングについて詳しく見ていきましょう。

figureタグのスタイリング

figureタグを使用する際には、見た目を整えるためにCSSを使ってスタイリングを行うことが一般的です。

ここでは、基本的なスタイリング方法から、レスポンシブデザインの実装、アクセシビリティの考慮までを解説します。

CSSを使った基本的なスタイリング

まずは、figureタグとfigcaptionタグに対して基本的なスタイリングを行う方法を見ていきましょう。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>figureタグの基本スタイリング</title>
    <style>
        figure {
            border: 1px solid #ccc;
            padding: 10px;
            margin: 20px;
            text-align: center;
        }
        figcaption {
            font-style: italic;
            color: #555;
        }
    </style>
</head>
<body>
    <figure>
        <img src="example.jpg" alt="サンプル画像">
        <figcaption>これはサンプル画像です。</figcaption>
    </figure>
</body>
</html>

上記のコードでは、figureタグに対して枠線、パディング、マージン、テキストの中央揃えを設定しています。

また、figcaptionタグには斜体と色を設定しています。

これにより、figureタグ内のコンテンツが見やすくなります。

レスポンシブデザインの実装

次に、figureタグをレスポンシブデザインに対応させる方法を見ていきましょう。

レスポンシブデザインとは、デバイスの画面サイズに応じてレイアウトを調整するデザイン手法です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>レスポンシブデザインの実装</title>
    <style>
        figure {
            border: 1px solid #ccc;
            padding: 10px;
            margin: 20px;
            text-align: center;
            max-width: 100%;
            box-sizing: border-box;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        figcaption {
            font-style: italic;
            color: #555;
        }
    </style>
</head>
<body>
    <figure>
        <img src="example.jpg" alt="サンプル画像">
        <figcaption>これはサンプル画像です。</figcaption>
    </figure>
</body>
</html>

このコードでは、figureタグとimgタグに対してmax-widthプロパティを設定し、コンテンツが親要素の幅を超えないようにしています。

また、box-sizingプロパティをborder-boxに設定することで、パディングやボーダーを含めた幅を計算するようにしています。

これにより、画面サイズに応じて画像やfigureタグの幅が自動的に調整されます。

アクセシビリティの考慮

最後に、figureタグを使用する際のアクセシビリティについて考慮するポイントを解説します。

アクセシビリティとは、すべてのユーザーがコンテンツを利用しやすくするための配慮です。

  1. 代替テキストの設定: 画像には必ずalt属性を設定し、画像の内容を説明するテキストを提供します。

これにより、視覚障害のあるユーザーや画像が表示されない場合でも内容が理解できます。

<img src="example.jpg" alt="サンプル画像">
  1. figcaptionタグの活用: figcaptionタグを使用して、画像や図表の説明を提供します。

これにより、コンテンツの意味がより明確になります。

<figcaption>これはサンプル画像です。</figcaption>
  1. コントラストの確保: テキストと背景のコントラストを十分に確保し、視認性を高めます。

例えば、figcaptionタグのテキスト色と背景色のコントラストを高く設定します。

figcaption {
    font-style: italic;
    color: #000; /* 黒色 */
    background-color: #fff; /* 白色 */
}

これらのポイントを押さえることで、figureタグを使用したコンテンツがより多くのユーザーにとって利用しやすくなります。

figureタグの応用

複数の画像や図表を含む場合

figureタグは、単一の画像や図表だけでなく、複数の画像や図表を含む場合にも使用できます。

例えば、ギャラリーやスライドショーのようなコンテンツを作成する際に便利です。

以下に、複数の画像を含むfigureタグの例を示します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>複数の画像を含むfigureタグの例</title>
    <style>
        figure {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 20px;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        figcaption {
            margin-top: 10px;
            font-style: italic;
        }
    </style>
</head>
<body>
    <figure>
        <img src="image1.jpg" alt="画像1">
        <img src="image2.jpg" alt="画像2">
        <figcaption>複数の画像を含む例</figcaption>
    </figure>
</body>
</html>

この例では、figureタグ内に2つの画像とfigcaptionタグを含めています。

CSSを使用して、画像がレスポンシブに表示されるようにスタイリングしています。

他のHTMLタグとの組み合わせ

figureタグは、他のHTMLタグと組み合わせて使用することで、より意味のあるコンテンツを作成できます。

特に、articleタグやsectionタグと組み合わせることで、コンテンツの構造を明確にし、SEOやアクセシビリティの向上に寄与します。

articleタグとの組み合わせ

articleタグは、独立したコンテンツを表すために使用されます。

figureタグをarticleタグ内に含めることで、記事内の画像や図表を明確に関連付けることができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>articleタグとの組み合わせ</title>
    <style>
        article {
            margin: 20px;
            padding: 20px;
            border: 1px solid #ccc;
        }
        figure {
            margin: 20px 0;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        figcaption {
            margin-top: 10px;
            font-style: italic;
        }
    </style>
</head>
<body>
    <article>
        <h1>記事のタイトル</h1>
        <p>この記事では、figureタグの使い方について説明します。</p>
        <figure>
            <img src="example.jpg" alt="サンプル画像">
            <figcaption>サンプル画像の説明</figcaption>
        </figure>
        <p>figureタグを使用することで、画像や図表を意味的に関連付けることができます。</p>
    </article>
</body>
</html>

この例では、articleタグ内にfigureタグを含め、記事の一部として画像を表示しています。

これにより、コンテンツの意味が明確になり、SEOやアクセシビリティの向上が期待できます。

sectionタグとの組み合わせ

sectionタグは、文書のセクションを表すために使用されます。

figureタグをsectionタグ内に含めることで、セクションごとに画像や図表を関連付けることができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>sectionタグとの組み合わせ</title>
    <style>
        section {
            margin: 20px;
            padding: 20px;
            border: 1px solid #ccc;
        }
        figure {
            margin: 20px 0;
        }
        img {
            max-width: 100%;
            height: auto;
        }
        figcaption {
            margin-top: 10px;
            font-style: italic;
        }
    </style>
</head>
<body>
    <section>
        <h2>セクションのタイトル</h2>
        <p>このセクションでは、figureタグの応用について説明します。</p>
        <figure>
            <img src="example2.jpg" alt="サンプル画像2">
            <figcaption>サンプル画像2の説明</figcaption>
        </figure>
        <p>sectionタグとfigureタグを組み合わせることで、セクションごとに画像や図表を関連付けることができます。</p>
    </section>
</body>
</html>

この例では、sectionタグ内にfigureタグを含め、セクションの一部として画像を表示しています。

これにより、セクションごとのコンテンツが明確になり、ユーザーにとって理解しやすい構造になります。

以上のように、figureタグは他のHTMLタグと組み合わせることで、より意味のあるコンテンツを作成することができます。

これにより、SEOやアクセシビリティの向上が期待でき、ユーザーエクスペリエンスも向上します。

figureタグのベストプラクティス

figureタグを効果的に使用することで、SEO(検索エンジン最適化)やユーザーエクスペリエンス(UX)を向上させることができます。

ここでは、figureタグのベストプラクティスについて詳しく解説します。

SEOにおけるfigureタグの活用

SEOにおいて、figureタグは非常に有用です。

以下のポイントを押さえることで、検索エンジンに対してより良い評価を得ることができます。

1. 画像のalt属性を適切に設定する

画像のalt属性は、画像が表示されない場合に代替テキストとして表示されるもので、検索エンジンに対して画像の内容を伝える役割も果たします。

適切なalt属性を設定することで、画像検索結果に表示されやすくなります。

<figure>
  <img src="example.jpg" alt="美しい風景の写真">
  <figcaption>美しい風景</figcaption>
</figure>

2. figcaptionタグを活用する

figcaptionタグを使用して画像や図表の説明を追加することで、コンテンツの意味を明確にし、検索エンジンに対しても有益な情報を提供できます。

<figure>
  <img src="example.jpg" alt="美しい風景の写真">
  <figcaption>この写真は、山と湖が織りなす美しい風景を捉えたものです。</figcaption>
</figure>

3. コンテンツの関連性を高める

figureタグを使用することで、画像や図表が本文と関連していることを明確に示すことができます。

これにより、検索エンジンはコンテンツの関連性をより高く評価します。

<article>
  <h2>自然の美しさについて</h2>
  <p>自然の風景は私たちに多くの感動を与えてくれます。以下の写真はその一例です。</p>
  <figure>
    <img src="example.jpg" alt="美しい風景の写真">
    <figcaption>この写真は、山と湖が織りなす美しい風景を捉えたものです。</figcaption>
  </figure>
</article>

ユーザーエクスペリエンスの向上

figureタグを適切に使用することで、ユーザーエクスペリエンスも向上させることができます。

以下のポイントを参考にしてください。

1. コンテンツの視覚的な魅力を高める

figureタグを使用することで、画像や図表を効果的に配置し、コンテンツの視覚的な魅力を高めることができます。

これにより、ユーザーはコンテンツをより楽しむことができます。

<figure>
  <img src="example.jpg" alt="美しい風景の写真">
  <figcaption>美しい風景</figcaption>
</figure>

2. コンテンツの理解を助ける

figcaptionタグを使用して画像や図表の説明を追加することで、ユーザーがコンテンツをより理解しやすくなります。

特に、複雑な情報を伝える場合には有効です。

<figure>
  <img src="chart.png" alt="売上の推移を示すグラフ">
  <figcaption>このグラフは、過去5年間の売上の推移を示しています。</figcaption>
</figure>

3. レスポンシブデザインの実装

figureタグを使用することで、画像や図表をレスポンシブに表示することが容易になります。

これにより、さまざまなデバイスでの表示が最適化され、ユーザーエクスペリエンスが向上します。

<figure>
  <img src="example.jpg" alt="美しい風景の写真" style="max-width: 100%; height: auto;">
  <figcaption>美しい風景</figcaption>
</figure>

以上のポイントを押さえることで、figureタグを効果的に活用し、SEOとユーザーエクスペリエンスの両方を向上させることができます。

よくある質問(FAQ)

figureタグとdivタグの違い

figureタグとdivタグはどちらもHTMLでコンテンツをグループ化するために使用されますが、それぞれの目的と使い方には明確な違いがあります。

  • figureタグ: 主に画像や図表、コードスニペットなどの独立したコンテンツをグループ化するために使用されます。

figureタグは、その内容が本文の流れから外れても意味が通じるようなコンテンツに適しています。

例えば、記事の中で引用される画像や図表などが該当します。

  • divタグ: 汎用的なコンテナタグで、特定の意味を持たないコンテンツのグループ化に使用されます。

スタイルやスクリプトを適用するために使われることが多く、特定の意味を持たないため、どんなコンテンツでもグループ化できます。

以下に、figureタグとdivタグの使用例を示します。

<!-- figureタグの例 -->
<figure>
  <img src="example.jpg" alt="Example Image">
  <figcaption>これは例の画像です。</figcaption>
</figure>
<!-- divタグの例 -->
<div class="example-container">
  <p>これはdivタグを使ったコンテンツのグループ化です。</p>
</div>

figcaptionタグは必須か?

figcaptionタグはfigureタグ内でキャプション(説明文)を提供するためのタグですが、必須ではありません。

figcaptionタグを使用することで、画像や図表の説明を明確にすることができます。

これにより、ユーザーがコンテンツの意味をより理解しやすくなります。

以下に、figcaptionタグを使用した場合と使用しない場合の例を示します。

<!-- figcaptionタグを使用した例 -->
<figure>
  <img src="example.jpg" alt="Example Image">
  <figcaption>これは例の画像です。</figcaption>
</figure>
<!-- figcaptionタグを使用しない例 -->
<figure>
  <img src="example.jpg" alt="Example Image">
</figure>

figcaptionタグを使用しない場合でも、figureタグは有効ですが、キャプションがないため、画像や図表の説明が不足する可能性があります。

figureタグのネストについて

figureタグは他のfigureタグの中にネストすることができますが、一般的には推奨されません。

ネストすることで、コンテンツの構造が複雑になり、読み手や検索エンジンにとって理解しにくくなる可能性があります。

以下に、figureタグのネストの例を示します。

<!-- figureタグのネストの例 -->
<figure>
  <img src="outer-image.jpg" alt="Outer Image">
  <figcaption>外側の画像の説明</figcaption>
  <figure>
    <img src="inner-image.jpg" alt="Inner Image">
    <figcaption>内側の画像の説明</figcaption>
  </figure>
</figure>

このようにネストすることは可能ですが、コンテンツの意味が明確でない場合や、読み手に混乱を招く可能性があるため、必要性がない限り避けるべきです。

代わりに、適切なセクションや記事タグを使用してコンテンツを整理することをお勧めします。

目次から探す