HTMLのsection要素の使い方を徹底解説!正しいマークアップのポイント
この記事では、HTMLの<section>要素の基本的な使い方から実践的な活用例まで、わかりやすく解説します。
section要素とは?
HTMLの<section>要素は、ドキュメント内の個別のコンテンツブロック(セクション)を表すためのコンテナ要素です。関連性のある内容をテーマごとにグループ化する際に使用します。
ページを複数のセクションに分割する
たとえば、企業に関するさまざまな情報を紹介するWebページには、次のような複数のセクションが含まれることがあります。
- ヒーローセクション(メインビジュアル)
- サービス紹介セクション
- チーム紹介セクション
- スポンサーセクション
- お問い合わせセクション
各セクションは、次のように独立した自己完結型のブロックとして記述できます。
<section>
<h2>セクション1</h2>
<p>...</p>
<img src="" alt="" />
</section>
<section>
<h2>セクション2</h2>
<p>...</p>
<img src="" alt="" />
</section>
<section>
<h2>セクション3</h2>
<p>...</p>
<img src="" alt="" />
</section>
article要素の中でsection要素を使う
<section>要素のもうひとつの代表的な使い方は、<article>要素の中に入れるパターンです。
たとえば、複数のトピックを扱う長文の記事があるとします。そのような場合は、<section>要素を使って記事をトピックごとに分割すると、文書構造が明確になり読みやすくなります。
<article>
<h1>記事のメインタイトル</h1>
<section>
<h2>トピック1</h2>
<p>...</p>
<img src="" alt="" />
</section>
<section>
<h2>トピック2</h2>
<p>...</p>
<img src="" alt="" />
</section>
<section>
<h2>トピック3</h2>
<p>...</p>
<img src="" alt="" />
</section>
</article>
section要素の中にarticle要素を入れる
逆に、<article>要素を<section>要素の中に配置することもできます。
たとえば、トップページに最新のブログ記事カードを一覧表示するセクションがあり、各カードが個別の記事へのリンクを含む場合、次のようにマークアップします。
<section>
<h2>最新のブログ記事はこちら</h2>
<article>
<a href="/path-to-blog-post-1">
<h3>ブログ記事1</h3>
</a>
</article>
<article>
<a href="/path-to-blog-post-2">
<h3>ブログ記事2</h3>
</a>
</article>
<article>
<a href="/path-to-blog-post-3">
<h3>ブログ記事3</h3>
</a>
</article>
</section>
section要素とdiv要素の使い分けのポイント
<section>要素を使うべきか迷ったときは、「そのコンテンツに見出し(h2〜h6など)が必要かどうか」を判断基準にするのがおすすめです。見出しを持つ意味のあるまとまりであれば<section>が適しており、単なるスタイリング目的のグループ化であれば汎用コンテナの<div>を使いましょう。
その他の主なコンテナ要素
<section>タグは、コンテナ要素を定義するための数あるHTMLタグのひとつです。よく使われる主なHTMLコンテナ要素には、次のようなものがあります。
<article>、<main>、<header>、<footer>、<form>、そして<div>(他のどのタグも当てはまらない場合に使う汎用的なタグ)などです。それぞれの役割を理解して適切に使い分けることで、SEOやアクセシビリティの面でも大きなメリットがあります。
-
HTMLのrequired属性とは?フォームの必須入力チェックを実装する方法
HTMLのrequired属性は、フォーム送信前にその要素(フィールド)への入力が必須であることを指定するための属性です。この属性が設定されたフィールドが空のまま送信ボタンがクリックされると、ブラウザは自動的に「このフィールドに入力してください(Please fill out this field)」というエラーメッセージを表示し、フォームの送信は失敗します。 JavaScriptを使わずに、HTMLだけで簡単なバリデーション(入力チェック)を実現できるのが大きな特徴です。 required属性を使用できる要素 required属性は、以下の3つのフォーム部品に対して使用できます。 <
-
HTMLで要素に値を追加するには?value属性の使い方を解説
HTMLで要素に値を設定するには、value属性を使用します。value属性は、フォーム送信時にサーバーへ送られる初期値や、要素が持つ現在の値を指定するために使われます。 value属性が使用できる要素 value属性は、以下のHTML要素で利用できます。 <button> … ボタンのラベルとして送信される値 <input> … 入力フィールドの初期値 <li> … 順序付きリスト(<ol>)内での項目の開始番号 <option> … 選択肢としてサーバーへ送信される値 <meter> … 計測範囲内における現在の値