0Pricing
HTML Academy · レッスン

section要素とdivの違い

sectionと通常のdivを使い分けられるようにします

「section要素とdivの違い」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。

section要素

<section>要素は、関連するコンテンツをテーマごとのセクションにまとめます:

<section>
  <h2>Contact Information</h2>
  <p>Email: hello@example.com</p>
  <p>Phone: (555) 555-0100</p>
</section>

sectionとdivの違い

重要な問いは、そのグループに名前を付けられるようなテーマや目的があるかどうかです:

  • <section> — ある場合に使用します。テーマごとのグループを表し、見出しを付けるべきです
  • <div> — ない場合に使用します。スタイル設定やスクリプトのための単なるコンテナです

sectionには見出しが必要

すべての<section>には、見出し(<h2>〜<h6>)を付けるべきです:

<!-- Good: section with heading -->
<section>
  <h2>Our Team</h2>
  <ul>...</ul>
</section>

<!-- Bad: section without heading -->
<section class="hero">  <!-- should be a div -->
  <img src="banner.jpg" alt="">
</section>

sectionを使用する場面

<section>は、次のような場面で使用します:

  • 文書の章
  • ウィザードのタブやステップ
  • 長い記事の各部分(Introduction、Methods、Results)
  • ホームページのマーケティング用セクション(Features、Pricing、Testimonials)

divを使用する場面

意味上の役割を持たず、CSSやJavaScriptのためのコンテナだけが必要な場合は、<div>を使用します:

<div class="layout">   <!-- just a CSS grid container -->
  <nav>...</nav>
  <main>...</main>
</div>

<div id="modal">       <!-- a JavaScript-controlled modal -->
  ...
</div>

長い記事内のsection

sectionを使って、article内に章を作成します:

<article>
  <h1>Complete Guide to HTML5</h1>

  <section>
    <h2>Introduction</h2>
    <p>HTML5 is the fifth version...</p>
  </section>

  <section>
    <h2>Semantic Elements</h2>
    <p>HTML5 introduced many semantic elements...</p>
  </section>

  <section>
    <h2>Forms</h2>
    <p>HTML5 greatly improved form handling...</p>
  </section>
</article>

ホームページのセクション

sectionで構造化したホームページ:

<main>
  <section id="hero">
    <h2>Build Better Web Apps</h2>
    <p>The platform for modern developers.</p>
  </section>

  <section id="features">
    <h2>Key Features</h2>
    ...
  </section>

  <section id="pricing">
    <h2>Pricing</h2>
    ...
  </section>
</main>

sectionによる見出しのコンテキスト

sectionは、HTML5の文書アウトラインアルゴリズムにおいて、新しい見出しのコンテキストを作成します:

<section>
  <h2>Chapter 1</h2>   <!-- h2 within section context -->
  <section>
    <h3>Section 1.1</h3>
  </section>
</section>
<!-- Note: the HTML5 outline algorithm was never implemented in browsers -->
<!-- In practice, heading order still depends on h1-h6 numbers, not section nesting -->

セクションのaria-labelledby

スクリーンリーダー向けに、sectionとその見出しを関連付けます:

<section aria-labelledby="features-heading">
  <h2 id="features-heading">Features</h2>
  <ul>...</ul>
</section>
<!-- Screen reader: "Features section" when entering the section -->

判断フローチャート

どのコンテナ要素を使用すべきでしょうか?

  • 主要なナビゲーション? → <nav>
  • ページの主要なコンテンツ? → <main>
  • 自己完結型のコンテンツ? → <article>
  • 見出しのあるテーマごとのグループ? → <section>
  • サイドバーや関連コンテンツ? → <aside>
  • 単なるスタイル用コンテナ? → <div>

見出しのないsectionにはdivを使用

sectionに見出しを付けられない場合は、代わりにdivを使用します:

<!-- This has no heading — it is just a CSS layout container -->
<!-- Use div, not section: -->
<div class="two-column">
  <div class="column">Left content</div>
  <div class="column">Right content</div>
</div>

確認問題

sectionよりもdivを優先すべきなのは、どのような場合ですか?

まとめ:sectionとdivの違い

sectionとdivの要点:

  • <section> — テーマごとのグループで、見出しを付けるべきです
  • <div> — スタイル設定やスクリプトのための、意味上中立なコンテナです
  • sectionは、スクリーンリーダーでの移動に使える名前付きランドマーク領域を作成します
  • aria-labelledbyを追加して、sectionとその見出しを関連付けます
  • 迷った場合はdivを使用します。後からいつでもsectionに変更できます

よくある質問

「section要素とdivの違い」レッスンは無料ですか?

はい。「section要素とdivの違い」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。

「section要素とdivの違い」で何を学びますか?

sectionと通常のdivを使い分けられるようにします ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

HTML Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「section要素とdivの違い」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このHTML Academyレッスンでコードを書いて実行できますか?

はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. header nav main footer
  2. article要素と自己完結型コンテンツ
  3. section要素とdivの違い
  4. time address mark
← HTML Academyに戻る