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

この記事では、HTMLの<section>タグについて詳しく解説します。

<section>タグの定義や役割、他のタグとの違い、基本的な使い方、実際の使用例、アクセシビリティやSEO効果、スタイリング方法、ベストプラクティスなど、初心者でも理解しやすいように説明しています。

これを読むことで、<section>タグを正しく使いこなせるようになります。

目次から探す

sectionタグとは

定義と役割

<section>タグは、HTML5で導入されたセクショニングコンテンツを表すタグです。

このタグは、文書の中で意味的に関連するコンテンツのグループを定義するために使用されます。

例えば、ブログ記事の各セクションやニュースサイトの各ニュース記事などが該当します。

<section>タグを使用することで、文書の構造を明確にし、検索エンジンやスクリーンリーダーなどの支援技術がコンテンツをより理解しやすくなります。

他のHTMLタグとの違い

divタグとの違い

<div>タグは、HTML文書内でブロックレベルの要素をグループ化するために使用されますが、特に意味を持たない汎用的なコンテナです。

一方、<section>タグは意味的なセクションを表すため、コンテンツの意味や文脈を明確にする役割があります。

例えば、以下のように<div>タグと<section>タグを使った例を比較してみましょう。

<!-- divタグを使用した例 -->
<div>
  <h2>セクション1</h2>
  <p>このセクションの内容です。</p>
</div>
<div>
  <h2>セクション2</h2>
  <p>このセクションの内容です。</p>
</div>
<!-- sectionタグを使用した例 -->
<section>
  <h2>セクション1</h2>
  <p>このセクションの内容です。</p>
</section>
<section>
  <h2>セクション2</h2>
  <p>このセクションの内容です。</p>
</section>

<div>タグを使用した場合、ブラウザや検索エンジンはこれらのコンテンツが意味的に関連しているかどうかを判断しにくいですが、<section>タグを使用することで、各セクションが独立した意味を持つことが明確になります。

articleタグとの違い

<article>タグもHTML5で導入されたタグで、独立して再利用可能なコンテンツを表すために使用されます。

例えば、ブログ記事、ニュース記事、フォーラムの投稿などが該当します。

<section>タグと<article>タグの違いは、<article>タグが独立して再利用可能なコンテンツを表すのに対し、<section>タグは文書内の意味的なセクションを表す点です。

以下に、<section>タグと<article>タグを使った例を示します。

<!-- sectionタグを使用した例 -->
<section>
  <h2>セクション1</h2>
  <p>このセクションの内容です。</p>
</section>
<section>
  <h2>セクション2</h2>
  <p>このセクションの内容です。</p>
</section>
<!-- articleタグを使用した例 -->
<article>
  <h2>記事1</h2>
  <p>この記事の内容です。</p>
</article>
<article>
  <h2>記事2</h2>
  <p>この記事の内容です。</p>
</article>

<section>タグは文書内のセクションを表し、<article>タグは独立した記事を表すため、使用するシナリオが異なります。

文書の構造や意味を考慮して適切なタグを選択することが重要です。

sectionタグの基本的な使い方

基本構文

sectionタグは、HTML文書内で意味的に関連するコンテンツのセクションを定義するために使用されます。

基本的な構文は以下の通りです。

<section>
  <!-- セクション内のコンテンツ -->
</section>

このタグは、見出しや段落、リスト、画像など、さまざまなHTML要素を含むことができます。

sectionタグを使用することで、文書の構造を明確にし、検索エンジンやスクリーンリーダーがコンテンツを理解しやすくなります。

シンプルな例

以下は、sectionタグを使ったシンプルな例です。

この例では、ブログ記事のセクションを定義しています。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>ブログ記事の例</title>
</head>
<body>
  <section>
    <h1>ブログのタイトル</h1>
    <p>これはブログ記事のイントロダクションです。</p>
  </section>
  <section>
    <h2>セクション1のタイトル</h2>
    <p>セクション1の内容がここに入ります。</p>
  </section>
  <section>
    <h2>セクション2のタイトル</h2>
    <p>セクション2の内容がここに入ります。</p>
  </section>
</body>
</html>

この例では、sectionタグを使ってブログ記事の各セクションを明確に分けています。

各セクションには見出し(h1h2)と段落(p)が含まれています。

ネストされたsectionタグの例

sectionタグは他のsectionタグの中にネストすることもできます。

これにより、より複雑な文書構造を作成することができます。

以下は、ネストされたsectionタグの例です。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>ネストされたセクションの例</title>
</head>
<body>
  <section>
    <h1>メインセクションのタイトル</h1>
    <p>これはメインセクションのイントロダクションです。</p>
    <section>
      <h2>サブセクション1のタイトル</h2>
      <p>サブセクション1の内容がここに入ります。</p>
    </section>
    <section>
      <h2>サブセクション2のタイトル</h2>
      <p>サブセクション2の内容がここに入ります。</p>
    </section>
  </section>
</body>
</html>

この例では、メインのsectionタグの中に2つのサブセクションがネストされています。

各サブセクションには独自の見出しと内容が含まれています。

このようにネストすることで、文書の階層構造を明確に表現することができます。

以上が、sectionタグの基本的な使い方に関する解説です。

次のセクションでは、sectionタグの実用例について詳しく見ていきます。

sectionタグの実用例

ブログ記事での使用例

ブログ記事では、sectionタグを使って記事の各セクションを明確に分けることができます。

例えば、イントロダクション、本文、結論などの部分をそれぞれsectionタグで囲むことで、コンテンツの構造が明確になります。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>ブログ記事の例</title>
</head>
<body>
    <article>
        <header>
            <h1>ブログ記事のタイトル</h1>
            <p>投稿日: 2023年10月1日</p>
        </header>
        <section>
            <h2>イントロダクション</h2>
            <p>この記事では、HTMLのsectionタグについて解説します。</p>
        </section>
        <section>
            <h2>本文</h2>
            <p>sectionタグは、HTML5で導入されたセクショニングコンテンツを表すタグです。</p>
        </section>
        <section>
            <h2>結論</h2>
            <p>sectionタグを使うことで、コンテンツの構造が明確になり、SEOやアクセシビリティが向上します。</p>
        </section>
        <footer>
            <p>著者: 山田太郎</p>
        </footer>
    </article>
</body>
</html>

この例では、sectionタグを使ってイントロダクション、本文、結論の各セクションを分けています。

これにより、記事の構造が明確になり、読みやすさが向上します。

ニュースサイトでの使用例

ニュースサイトでは、sectionタグを使って各ニュース記事やセクションを分けることが一般的です。

例えば、トップニュース、スポーツ、エンターテインメントなどのセクションをsectionタグで囲むことで、サイト全体の構造が明確になります。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>ニュースサイトの例</title>
</head>
<body>
    <header>
        <h1>ニュースサイトのタイトル</h1>
    </header>
    <section>
        <h2>トップニュース</h2>
        <article>
            <h3>トップニュースのタイトル</h3>
            <p>トップニュースの内容がここに入ります。</p>
        </article>
    </section>
    <section>
        <h2>スポーツ</h2>
        <article>
            <h3>スポーツニュースのタイトル</h3>
            <p>スポーツニュースの内容がここに入ります。</p>
        </article>
    </section>
    <section>
        <h2>エンターテインメント</h2>
        <article>
            <h3>エンターテインメントニュースのタイトル</h3>
            <p>エンターテインメントニュースの内容がここに入ります。</p>
        </article>
    </section>
    <footer>
        <p>© 2023 ニュースサイト</p>
    </footer>
</body>
</html>

この例では、sectionタグを使ってトップニュース、スポーツ、エンターテインメントの各セクションを分けています。

これにより、ユーザーは興味のあるセクションを簡単に見つけることができます。

商品ページでの使用例

商品ページでは、sectionタグを使って商品情報、レビュー、関連商品などのセクションを分けることができます。

これにより、ユーザーは必要な情報を簡単に見つけることができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>商品ページの例</title>
</head>
<body>
    <header>
        <h1>商品ページのタイトル</h1>
    </header>
    <section>
        <h2>商品情報</h2>
        <p>商品名: サンプル商品</p>
        <p>価格: ¥1,000</p>
        <p>説明: これはサンプル商品の説明です。</p>
    </section>
    <section>
        <h2>レビュー</h2>
        <article>
            <h3>ユーザーAのレビュー</h3>
            <p>この商品はとても良いです。</p>
        </article>
        <article>
            <h3>ユーザーBのレビュー</h3>
            <p>価格に見合った価値があります。</p>
        </article>
    </section>
    <section>
        <h2>関連商品</h2>
        <ul>
            <li>関連商品1</li>
            <li>関連商品2</li>
            <li>関連商品3</li>
        </ul>
    </section>
    <footer>
        <p>© 2023 商品ページ</p>
    </footer>
</body>
</html>

この例では、sectionタグを使って商品情報、レビュー、関連商品の各セクションを分けています。

これにより、ユーザーは商品に関する情報を簡単に見つけることができます。

以上のように、sectionタグを使うことで、コンテンツの構造が明確になり、ユーザーにとって使いやすいページを作成することができます。

sectionタグのアクセシビリティ

スクリーンリーダーとの連携

sectionタグは、ウェブページのコンテンツを論理的に区分けするためのタグです。

このタグを使用することで、スクリーンリーダーなどの支援技術がページの構造をより理解しやすくなります。

スクリーンリーダーは、ページ内のセクションを認識し、ユーザーに対して適切なナビゲーションを提供します。

例えば、以下のようなHTMLコードがあるとします。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>スクリーンリーダーとの連携例</title>
</head>
<body>
    <header>
        <h1>ウェブサイトのタイトル</h1>
    </header>
    <section>
        <h2>セクション1</h2>
        <p>これはセクション1の内容です。</p>
    </section>
    <section>
        <h2>セクション2</h2>
        <p>これはセクション2の内容です。</p>
    </section>
    <footer>
        <p>フッターの内容</p>
    </footer>
</body>
</html>

このようにsectionタグを使用することで、スクリーンリーダーは「セクション1」や「セクション2」といった区分を認識し、ユーザーに対してセクションごとのナビゲーションを提供します。

これにより、視覚障害者のユーザーもページの内容を効率的に理解することができます。

ARIAランドマークロールの使用

ARIA(Accessible Rich Internet Applications)は、ウェブコンテンツのアクセシビリティを向上させるための仕様です。

sectionタグに対してARIAランドマークロールを追加することで、さらにアクセシビリティを向上させることができます。

例えば、以下のようにrole属性を使用してランドマークロールを指定します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>ARIAランドマークロールの例</title>
</head>
<body>
    <header>
        <h1>ウェブサイトのタイトル</h1>
    </header>
    <section role="region" aria-labelledby="section1-heading">
        <h2 id="section1-heading">セクション1</h2>
        <p>これはセクション1の内容です。</p>
    </section>
    <section role="region" aria-labelledby="section2-heading">
        <h2 id="section2-heading">セクション2</h2>
        <p>これはセクション2の内容です。</p>
    </section>
    <footer>
        <p>フッターの内容</p>
    </footer>
</body>
</html>

この例では、sectionタグにrole=regionを追加し、aria-labelledby属性でセクションの見出しを指定しています。

これにより、スクリーンリーダーは各セクションを「リージョン」として認識し、ユーザーに対してより明確なナビゲーションを提供します。

ARIAランドマークロールを使用することで、特に複雑なウェブページにおいて、ユーザーがページ内の異なるセクションを簡単に見つけることができるようになります。

これにより、アクセシビリティが大幅に向上し、より多くのユーザーがウェブコンテンツを利用しやすくなります。

sectionタグのSEO効果

検索エンジンの理解を助ける

sectionタグは、SEO(検索エンジン最適化)においても重要な役割を果たします。

検索エンジンは、ウェブページの内容を理解し、適切にインデックスするためにHTMLの構造を解析します。

sectionタグを使用することで、ページの内容が論理的に区分けされ、検索エンジンがその内容をより正確に理解できるようになります。

例えば、以下のようなHTMLコードを考えてみましょう。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>SEO効果のあるsectionタグの使い方</title>
</head>
<body>
    <header>
        <h1>SEO効果のあるsectionタグの使い方</h1>
    </header>
    <section>
        <h2>検索エンジンの理解を助ける</h2>
        <p>sectionタグは、SEOにおいて重要な役割を果たします。</p>
    </section>
    <section>
        <h2>コンテンツの構造化</h2>
        <p>sectionタグを使うことで、ページの内容が論理的に区分けされます。</p>
    </section>
    <footer>
        <p>© 2023 Webライター</p>
    </footer>
</body>
</html>

この例では、<section>タグを使って「検索エンジンの理解を助ける」と「コンテンツの構造化」という2つの主要なトピックを区分けしています。

検索エンジンはこれを解析し、それぞれのセクションが独立した内容を持つことを理解します。

これにより、検索エンジンはページの内容をより正確にインデックスし、適切な検索結果に表示することができます。

コンテンツの構造化

sectionタグを使用することで、ウェブページのコンテンツが論理的に構造化され、ユーザーにとっても理解しやすくなります。

これは、SEOの観点からも非常に重要です。

なぜなら、検索エンジンはユーザーエクスペリエンスを重視しており、論理的に構造化されたコンテンツはユーザーにとっても価値が高いと判断されるからです。

以下に、sectionタグを使ったコンテンツの構造化の例を示します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>コンテンツの構造化</title>
</head>
<body>
    <header>
        <h1>コンテンツの構造化</h1>
    </header>
    <section>
        <h2>イントロダクション</h2>
        <p>このセクションでは、コンテンツの構造化の重要性について説明します。</p>
    </section>
    <section>
        <h2>具体的な方法</h2>
        <p>sectionタグを使ってコンテンツを区分けする方法を紹介します。</p>
    </section>
    <section>
        <h2>まとめ</h2>
        <p>コンテンツの構造化は、SEOとユーザーエクスペリエンスの両方において重要です。</p>
    </section>
    <footer>
        <p>© 2023 Webライター</p>
    </footer>
</body>
</html>

この例では、<section>タグを使って「イントロダクション」、「具体的な方法」、「まとめ」という3つのセクションに分けています。

これにより、ユーザーはページの内容を簡単に理解でき、検索エンジンもそれぞれのセクションの内容を正確にインデックスすることができます。

sectionタグを適切に使用することで、ウェブページの内容が論理的に構造化され、検索エンジンとユーザーの両方にとって価値のあるページを作成することができます。

これが、sectionタグがSEOにおいて重要な理由です。

sectionタグのスタイリング

CSSでの基本的なスタイリング

sectionタグは、HTML文書内で特定のセクションを定義するためのタグですが、見た目を整えるためにはCSSを使用してスタイリングする必要があります。

ここでは、基本的なスタイリング方法を紹介します。

背景色とパディングの設定

以下の例では、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 {
            background-color: #f0f0f0; /* 背景色を設定 */
            padding: 20px; /* 内側の余白を設定 */
            margin-bottom: 20px; /* 下部の余白を設定 */
        }
    </style>
</head>
<body>
    <section>
        <h2>セクション1</h2>
        <p>これは最初のセクションです。</p>
    </section>
    <section>
        <h2>セクション2</h2>
        <p>これは2番目のセクションです。</p>
    </section>
</body>
</html>

このコードをブラウザで表示すると、各sectionタグに背景色とパディングが適用され、見やすいレイアウトになります。

ボーダーとフォントスタイルの設定

次に、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 {
            background-color: #f0f0f0; /* 背景色を設定 */
            padding: 20px; /* 内側の余白を設定 */
            margin-bottom: 20px; /* 下部の余白を設定 */
            border: 1px solid #ccc; /* ボーダーを設定 */
            font-family: Arial, sans-serif; /* フォントスタイルを設定 */
        }
    </style>
</head>
<body>
    <section>
        <h2>セクション1</h2>
        <p>これは最初のセクションです。</p>
    </section>
    <section>
        <h2>セクション2</h2>
        <p>これは2番目のセクションです。</p>
    </section>
</body>
</html>

このコードでは、sectionタグにボーダーとフォントスタイルが追加され、さらに視覚的に区別しやすくなります。

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

sectionタグを使用する際には、レスポンシブデザインを考慮することも重要です。

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

メディアクエリを使用したレスポンシブデザイン

以下の例では、メディアクエリを使用して、画面幅が600px以下の場合にsectionタグのスタイルを変更しています。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>レスポンシブデザインの実装</title>
    <style>
        section {
            background-color: #f0f0f0; /* 背景色を設定 */
            padding: 20px; /* 内側の余白を設定 */
            margin-bottom: 20px; /* 下部の余白を設定 */
            border: 1px solid #ccc; /* ボーダーを設定 */
            font-family: Arial, sans-serif; /* フォントスタイルを設定 */
        }
        @media (max-width: 600px) {
            section {
                background-color: #e0e0e0; /* 背景色を変更 */
                padding: 10px; /* 内側の余白を変更 */
                font-size: 14px; /* フォントサイズを変更 */
            }
        }
    </style>
</head>
<body>
    <section>
        <h2>セクション1</h2>
        <p>これは最初のセクションです。</p>
    </section>
    <section>
        <h2>セクション2</h2>
        <p>これは2番目のセクションです。</p>
    </section>
</body>
</html>

このコードでは、画面幅が600px以下の場合にsectionタグの背景色、パディング、フォントサイズが変更されます。

これにより、スマートフォンやタブレットなどの小さな画面でも見やすいレイアウトが実現できます。

フレックスボックスを使用したレスポンシブデザイン

フレックスボックスを使用すると、より柔軟なレイアウトを実現できます。

以下の例では、sectionタグをフレックスコンテナとして設定し、子要素をレスポンシブに配置しています。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>フレックスボックスを使用したレスポンシブデザイン</title>
    <style>
        .container {
            display: flex;
            flex-wrap: wrap;
            gap: 20px; /* 子要素間の間隔を設定 */
        }
        section {
            background-color: #f0f0f0; /* 背景色を設定 */
            padding: 20px; /* 内側の余白を設定 */
            border: 1px solid #ccc; /* ボーダーを設定 */
            flex: 1 1 calc(33.333% - 40px); /* 子要素の幅を設定 */
            box-sizing: border-box; /* ボックスサイズを設定 */
        }
        @media (max-width: 600px) {
            section {
                flex: 1 1 100%; /* 画面幅が600px以下の場合、子要素の幅を100%に設定 */
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <section>
            <h2>セクション1</h2>
            <p>これは最初のセクションです。</p>
        </section>
        <section>
            <h2>セクション2</h2>
            <p>これは2番目のセクションです。</p>
        </section>
        <section>
            <h2>セクション3</h2>
            <p>これは3番目のセクションです。</p>
        </section>
    </div>
</body>
</html>

このコードでは、sectionタグをフレックスコンテナ内の子要素として配置し、画面幅に応じてレイアウトが変わるように設定しています。

画面幅が600px以下の場合、各sectionタグは幅100%で表示され、縦に並びます。

以上のように、sectionタグを使用する際には、CSSを活用してスタイリングを行い、レスポンシブデザインを実装することで、さまざまなデバイスで見やすいレイアウトを実現できます。

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

適切な使用シナリオ

sectionタグは、HTML文書内で意味的に関連するコンテンツをグループ化するために使用されます。

以下は、sectionタグを適切に使用するシナリオの例です。

1. 複数のセクションを持つ記事

ブログ記事やニュース記事など、複数のセクションに分かれているコンテンツにsectionタグを使用します。

各セクションは独立したテーマやトピックを持ち、見出し(h1〜h6タグ)で区切られます。

<article>
  <header>
    <h1>HTMLの基本</h1>
  </header>
  <section>
    <h2>HTMLとは</h2>
    <p>HTMLはウェブページを作成するためのマークアップ言語です。</p>
  </section>
  <section>
    <h2>基本的なタグ</h2>
    <p>HTMLには様々なタグがあります。例えば、<code><p>"タグは段落を表します。</p>
  </section>
</article>

2. ウェブページの主要なセクション

ウェブページ全体を大きなセクションに分ける場合にもsectionタグを使用します。

例えば、ヘッダー、メインコンテンツ、フッターなどです。

<body>
  <header>
    <h1>ウェブサイトのタイトル</h1>
  </header>
  <section>
    <h2>メインコンテンツ</h2>
    <p>ここにメインコンテンツが入ります。</p>
  </section>
  <section>
    <h2>サイドバー</h2>
    <p>ここにサイドバーのコンテンツが入ります。</p>
  </section>
  <footer>
    <p>フッターの情報</p>
  </footer>
</body>

避けるべき誤用例

sectionタグは便利ですが、適切に使用しないと意味が失われることがあります。

以下は、sectionタグの誤用例です。

1. 単なるスタイルのために使用する

sectionタグは意味的なグループ化のために使用されるべきであり、単にスタイルを適用するために使用するのは避けるべきです。

スタイルのためにはdivタグを使用する方が適切です。

<!-- 誤用例 -->
<section class="blue-background">
  <p>このセクションは青い背景を持っています。</p>
</section>
<!-- 正しい使用例 -->
<div class="blue-background">
  <p>このセクションは青い背景を持っています。</p>
</div>

2. 意味のないネスト

sectionタグを無意味にネストすることは避けるべきです。

各sectionタグは独立した意味を持つべきであり、無意味なネストは文書の構造を複雑にするだけです。

<!-- 誤用例 -->
<section>
  <section>
    <section>
      <p>無意味なネストは避けましょう。</p>
    </section>
  </section>
</section>
<!-- 正しい使用例 -->
<section>
  <p>無意味なネストは避けましょう。</p>
</section>

3. 小さなコンテンツのグループ化

sectionタグは大きな意味的なセクションをグループ化するために使用されるべきであり、小さなコンテンツのグループ化には適していません。

小さなコンテンツのグループ化にはdivタグを使用する方が適切です。

<!-- 誤用例 -->
<section>
  <p>小さなコンテンツ1</p>
  <p>小さなコンテンツ2</p>
</section>
<!-- 正しい使用例 -->
<div>
  <p>小さなコンテンツ1</p>
  <p>小さなコンテンツ2</p>
</div>

以上がsectionタグのベストプラクティスです。

適切な使用シナリオを理解し、誤用を避けることで、HTML文書の意味的な構造を保ち、アクセシビリティやSEO効果を最大限に引き出すことができます。

よくある質問(FAQ)

sectionタグと他のセクショニングタグの違いは?

HTMLにはいくつかのセクショニングタグが存在しますが、それぞれの役割や使い方には違いがあります。

以下に主要なセクショニングタグとの違いを説明します。

divタグとの違い

divタグは汎用的なコンテナ要素で、特定の意味を持たないため、スタイルやスクリプトを適用するために使われます。

一方、sectionタグは文書のセクションを明示的に示すためのタグで、意味的な区切りを表現します。

articleタグとの違い

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

例えば、ブログ記事やニュース記事など、単独で意味を持つコンテンツに適しています。

sectionタグは、文書の一部を区切るために使われ、必ずしも独立したコンテンツである必要はありません。

sectionタグを使うべきタイミングは?

sectionタグを使うべきタイミングは、文書やアプリケーションの中で意味的な区切りを示したい場合です。

以下のようなシナリオで使用するのが適切です。

  • 見出しを持つセクション: 例えば、ブログ記事の中で「イントロダクション」「メインコンテンツ」「結論」などのセクションを区切る場合。
  • テーマごとの区切り: 例えば、製品ページで「特徴」「仕様」「レビュー」などの異なるテーマを区切る場合。
  • 複数のセクションを含むコンテンツ: 例えば、ニュースサイトで複数の記事を一つのページにまとめる場合。

sectionタグのネストはどの程度まで許容される?

sectionタグはネストして使用することができますが、過度なネストは避けるべきです。

適切なネストの深さは、文書の構造と内容に依存しますが、以下のガイドラインを参考にしてください。

  • 意味的な区切りを意識する: ネストする際は、各sectionタグが意味的に区切られた内容を持つようにします。
  • 見出しの階層を考慮する: 各sectionタグ内に適切な見出し(<h1>から<h6>)を配置し、見出しの階層が論理的に整合するようにします。
  • 過度なネストを避ける: 深すぎるネストは読みづらく、メンテナンスが難しくなるため、必要最低限のネストに留めます。

以下は、適切なネストの例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>sectionタグのネスト例</title>
</head>
<body>
    <section>
        <h1>ブログ記事のタイトル</h1>
        <section>
            <h2>イントロダクション</h2>
            <p>この記事のイントロダクションです。</p>
        </section>
        <section>
            <h2>メインコンテンツ</h2>
            <section>
                <h3>サブセクション1</h3>
                <p>メインコンテンツのサブセクション1です。</p>
            </section>
            <section>
                <h3>サブセクション2</h3>
                <p>メインコンテンツのサブセクション2です。</p>
            </section>
        </section>
        <section>
            <h2>結論</h2>
            <p>この記事の結論です。</p>
        </section>
    </section>
</body>
</html>

この例では、sectionタグを適切にネストし、各セクションに見出しを配置しています。

これにより、文書の構造が明確になり、読みやすさとメンテナンス性が向上します。

目次から探す