コンテンツセクション要素の理解
HTML5では、コンテンツを意味のあるまとまりに分けるための重要な要素が用意されています。これらはコンテンツセクション要素と呼ばれ、情報の構造化において重要な役割を果たします。
実際のブログ記事を例に、article
、section
、figure
、aside
の4つの要素がどのように使い分けられるかを見てみましょう。
各要素の役割と具体例
要素 | 役割(何のために使うか) | 具体例(中に入れるもの) | 注意点 |
---|---|---|---|
<article> | 独立して価値のあるコンテンツを示し、それ単体で完結する情報を提供します。 | ブログ記事、ニュース記事、商品詳細、ユーザーレビュー、フォーラム投稿 | 他のページに移動しても意味が通じる内容に使用します。複数配置可能です。 |
<section> | テーマや目的でまとまった内容のグループを示し、論理的な区分けを行います。 | 記事の章・節、機能別エリア、カテゴリ別コンテンツ、手順のステップ | 見出し(h2-h6)と組み合わせて使うことが推奨されます。単純な装飾目的では使いません。 |
<aside> | メインコンテンツに関連するが独立した補足情報を示します。 | 関連記事リンク、サイドバーコンテンツ、広告、注釈、用語解説 | 補足的・関連的な内容に使用します。ページ全体でもセクション内でも使えます。 |
<figure> | 視覚的なコンテンツとその説明をひとまとまりとして示します。 | 画像とキャプション、図表、コードブロック、イラスト、グラフ | <figcaption> と組み合わせて説明を追加できます。記事内での使用が一般的です。 |
この図解では、一つのブログ記事がarticleを軸として、section(章立て)、figure(図表)、aside(関連情報)といったコンテンツの意味と役割に基づいて構造化されている様子を表しています。各要素が明確な目的を持ち、情報の階層と関係性を正しく表現しています。
各要素の詳細と使い方
<article>
, <section>
, <figure>
, <aside>
の4つの要素について、それぞれの役割、使い方、実際のコード例を詳しく解説します。
article要素 - 独立したコンテンツ
<article>
要素は、独立して価値のあるコンテンツを表す特別な要素です。それ単体で完結する情報を含み、他のページやサイトに移動しても意味が通じる内容に使用します。
配置する内容
- ブログ記事 完結した記事コンテンツ
- ニュース記事 報道内容や情報記事
- 商品詳細 ECサイトの商品情報ページ
- ユーザーレビュー 評価や感想のコンテンツ
重要なポイントとして、<article>
要素は複数配置可能で、例えばブログ一覧ページでは各記事が個別の<article>
要素で囲まれます。また、記事内に独立したコンテンツがある場合は、ネスト(入れ子)構造も可能です。
実際のコード例とプレビュー
<article>
<header>
<h1>HTMLセマンティック要素の基本</h1>
<p>公開日: 2025年1月8日</p>
<p>カテゴリ: プログラミング</p>
</header>
<p>
HTMLセマンティック要素は、Webページの意味を
明確にするための重要な仕組みです...
</p>
<footer>
<p>著者: AI先生</p>
<p>タグ: HTML, セマンティック, 基礎</p>
</footer>
</article>
- プレビューにはスタイルを追加して見やすくしています。
section要素 - テーマ別のグループ
<section>
要素は、テーマや目的でまとまった内容のグループを示し、論理的な区分けを行います。文書の章や節、機能別のエリア分けに使用され、通常は見出し要素と組み合わせて使います。
設計のポイント
- 見出しとセット 必ず適切な見出し(h2-h6)と組み合わせる
- 論理的グループ化 関連する内容を意味のあるまとまりにする
- 階層構造対応 大きなセクション内に小さなセクションをネスト可能
- 装飾目的は禁止 単純なレイアウト目的では使わない
<section>
要素は装飾的な区切りではなく、意味的な区切りに使用することが重要です。CSSでスタイリングするためだけの区切りには<div>
を使用してください。
実際のコード例とプレビュー
<article>
<section>
<h2>基本概念</h2>
<p>セマンティック要素の基礎について説明します。</p>
</section>
<section>
<h2>実践的な使い方</h2>
<p>実際のコード例とベストプラクティスを紹介します。</p>
</section>
<section>
<h2>応用テクニック</h2>
<p>より高度な活用方法を学習します。</p>
</section>
</article>
- プレビューにはスタイルを追加して見やすくしています。
figure要素 - 視覚的コンテンツ
<figure>
要素は、視覚的なコンテンツとその説明をひとまとまりとして表します。画像、図表、コードブロックなどの視覚的要素を、説明文と組み合わせて使用します。
配置パターン
- 画像とキャプション 写真や図解に説明文を付ける
- 図表とタイトル グラフや表に見出しを組み合わせる
- コードブロックと説明 プログラムコードに解説を追加
- figcaptionとセット 説明文は専用の要素で明示する
<figure>
要素の特徴は、メインコンテンツから独立していても意味が通じることです。記事内で参照される図表や、補足的な視覚情報に適用します。
<figure>
要素は文脈に応じて配置場所が変わります:
- 記事内の
<figure>
→ 記事の内容に関連する図表やコード例 - セクション内の
<figure>
→ その章・節で説明される具体的な視覚情報
実際のコード例とプレビュー
<article>
<h1>記事タイトル</h1>
<figure>
<img src="/img/html-structure.png" alt="HTML文書構造の図解">
<figcaption>HTML文書の基本構造図</figcaption>
</figure>
<p>記事の本文内容...</p>
<figure>
<pre><code><html>
<head>
<title>ページタイトル</title>
</head>
<body>
<main>メインコンテンツ</main>
</body>
</html></code></pre>
<figcaption>HTML文書の基本構造</figcaption>
</figure>
</article>
- プレビューにはスタイルを追加して見やすくしています。
aside要素 - 補足情報
<aside>
要素は、メインコンテンツに関連するが独立した補足情報を示します。コンテンツセクションにおいて、記事内の関連情報や補足説明を明確に区別するために使用します。実務では、サイト全体のナビゲーションエリアやサイドバーなど、ページレベルでの使用が最も一般的です。
配置パターン
- 記事内補足情報 メイン内容に関連する注釈や用語解説
- 関連コンテンツ 記事に関連する参考情報やリンク
- ページレベル補助 サイト全体のナビゲーションやサイドバー(実務で最頻出)
- 広告・宣伝 メインコンテンツと独立した告知・広告エリア
実務での<aside>
要素の使用頻度:
- ページレベル(70%) → サイト全体のサイドバー、グローバルナビゲーション
- 記事レベル(30%) → 記事内の補足情報、関連リンク、注釈
実際のコード例とプレビュー
<article>
<h1>HTMLの基本</h1>
<p>HTMLについて学習しましょう。</p>
<!-- 記事内の補足情報 -->
<aside>
<h3>関連用語</h3>
<ul>
<li>セマンティック要素</li>
<li>マークアップ言語</li>
</ul>
</aside>
</article>
- プレビューにはスタイルを追加して見やすくしています。
実践的な使い分けガイド
よくあるWebサイトパターン
実際のWebサイト制作で頻繁に見られる構成パターンを3つ紹介します。
ブログ記事ページ
個人ブログや企業のブログ記事でよく使われる構成です。
<main>
<article>
<header>
<h1>記事のタイトル</h1>
<p>投稿日: 2025年1月10日</p>
</header>
<section>
<h2>はじめに</h2>
<p>記事の導入部分...</p>
</section>
<section>
<h2>主な内容</h2>
<p>メインの内容...</p>
<figure>
<img src="graph.png" alt="データの推移を示すグラフ">
<figcaption>過去5年間の売上推移</figcaption>
</figure>
</section>
<aside>
<h3>関連情報</h3>
<p>この記事に関連する補足説明...</p>
</aside>
<footer>
<p>著者: 田中太郎</p>
<p>カテゴリ: Web開発</p>
</footer>
</article>
</main>
製品紹介ページ
企業サイトの製品・サービス紹介でよく見る構造です。
<main>
<article>
<header>
<h1>新製品「SmartWatch Pro」</h1>
<p>革新的なウェアラブルデバイス</p>
</header>
<section>
<h2>主な特徴</h2>
<p>高性能センサーを搭載し...</p>
</section>
<section>
<h2>技術仕様</h2>
<figure>
<img src="smartwatch.jpg" alt="SmartWatch Proの外観">
<figcaption>SmartWatch Pro(シルバーモデル)</figcaption>
</figure>
<ul>
<li>バッテリー: 48時間</li>
<li>防水レベル: IPX8</li>
</ul>
</section>
<aside>
<h3>購入前の注意</h3>
<p>本製品を購入する際は、対応機種をご確認ください...</p>
</aside>
</article>
</main>
会社案内ページ
企業サイトの会社案内ページで、section要素を正しく活用した例です。
<main>
<article>
<header>
<h1>株式会社テックソリューション</h1>
<p>技術で未来を創造する</p>
</header>
<section>
<h2>会社概要</h2>
<p>当社は2010年に設立され...</p>
<ul>
<li>設立年: 2010年</li>
...
</ul>
</section>
<section>
<h2>事業内容</h2>
<p>主に以下の3つの分野で事業を展開しています...</p>
<section>
<h3>Webシステム開発</h3>
<p>企業向けWebアプリケーションの開発...</p>
<figure>
<img src="web-dev.jpg" alt="開発チームの様子">
<figcaption>Webシステム開発部門</figcaption>
</figure>
</section>
</section>
<section>
<h2>アクセス情報</h2>
<p>〒100-0001 東京都千代田区...</p>
</section>
<aside>
<h3>採用情報</h3>
<p>現在、Webエンジニアを募集中です...</p>
</aside>
</article>
</main>
各要素の使い分けポイント
ここでは、要素選択の「判断基準」を短くまとめます。まずは「そのブロックが独立して意味を持つか」を最優先で考え、次に見出しの有無や参照されるかどうか、補足性を基準に決めると迷いにくくなります。
- 独立性があるか それ自体で完結する情報なら
<article>
を使用(ブログ記事、商品ページ) - 論理的グループか 見出しとセットで章・節を分けるなら
<section>
を使用(記事内の章、機能別エリア) - 視覚的コンテンツか 画像・図表・引用を説明付きで示すなら
<figure>
と<figcaption>
を使用 - 補足・関連情報か メインから外れた注釈・関連記事・サイドバーなら
<aside>
を使用 - 装飾目的のみか 意味を持たないレイアウト・装飾目的なら
<div>
を使用 - ネスト(入れ子)構造 article内にsection、aside、figureなど階層的に配置
- 意味的価値を優先 見た目の都合ではなく、情報の意味で判断する
組み合わせ時の注意点
複数の要素を組み合わせる際に気をつけるべきポイントです。
- article内にsectionを使う 長い記事を論理的なセクションに分割(会社案内、技術記事など)
- section内のarticleは慎重に 本当に独立したコンテンツかを検討する
- figureはどこでも使える article、section、aside内で画像説明が必要な時
- asideの位置に注意 記事内なら記事の補足、記事外なら全体の関連情報
- 見出しを忘れずに section要素には必ず見出しを付ける
- 意味的な階層を意識 単なるレイアウトではなく、コンテンツの論理構造で判断
理解度チェッククイズ
コンテンツセクション要素ミニクイズ
<!-- パターンA -->
<figure>
<img src="chart.png" alt="売上グラフ">
<figcaption>2024年度売上実績</figcaption>
</figure>
<!-- パターンB -->
<figure>
<p>この製品の特徴は高品質であることです。</p>
<figcaption>製品の説明</figcaption>
</figure>
<!-- パターンC -->
<figure>
<blockquote>
"この本は素晴らしい内容でした"
</blockquote>
<figcaption>読者からのレビュー</figcaption>
</figure>
<!-- 構造A -->
<article>
<h1>会社案内</h1>
<section>
<h2>会社概要</h2>
<p>設立年、従業員数など...</p>
</section>
<section>
<h2>事業内容</h2>
<p>主力事業の説明...</p>
</section>
</article>
<!-- 構造B -->
<section>
<h1>会社案内</h1>
<article>
<h2>会社概要</h2>
<p>設立年、従業員数など...</p>
</article>
<article>
<h2>事業内容</h2>
<p>主力事業の説明...</p>
</article>
</section>
<article>
<header>
<h1>プログラミング入門</h1>
<p>2025年1月10日</p>
</header>
<section>
<p>プログラミングの基礎について説明します。</p>
<ul>
<li>変数について</li>
<li>関数について</li>
</ul>
</section>
<section>
<h2>実践編</h2>
<p>実際にコードを書いてみましょう。</p>
</section>
<aside>
<h3>関連書籍</h3>
<p>おすすめの参考書を紹介...</p>
</aside>
</article>
まとめ
- article要素 独立した完結性のあるコンテンツ(記事、製品紹介、レビューなど)
- section要素 論理的なグループ化、必ず見出しとセット
- figure要素 画像・図表・引用など参照される自己完結的コンテンツ
- aside要素 補足情報や関連情報、メインから少し離れた内容
- 判断基準 独立性→グループ化→画像説明→補足情報の順序で考える
- 組み合わせ活用 article内section、section内article、どこでもfigure・aside
- 見出し重要 section要素には必ず見出しを付ける
次回は、テキストレベルのセマンティック要素(strong、em、mark等)について学び、より細かい意味表現の技術を習得していきましょう。