ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
section 要素とは
section 要素は HTML5 で追加されたセクショニング要素で、文書内の一般的なセクション(章・節)を表します。本の章、ニュースサイトの各カテゴリブロック、フォームのステップなど、「テーマでまとまった内容」を意味づけるときに使います。
基本構文
<section>
<h2>会社概要</h2>
<p>当社は2010年に設立され、Web 開発を中心に...</p>
</section>
<section>
<h2>サービス紹介</h2>
<p>主なサービスは以下の通りです...</p>
</section>
使用条件: 見出し必須
HTML5 仕様上、section は見出し (h1-h6) を持つのが推奨されています。見出しなしで使うと意味づけが弱くなります。
<!-- OK: 見出しあり -->
<section>
<h2>料金プラン</h2>
<p>...</p>
</section>
<!-- NG: 見出しなしで section を使う意味がない -->
<section>
<p>...</p>
</section>
article / aside / nav との違い
HTML5 のセクショニング要素は 4 種類あります。用途が決まっているものはそれぞれの専用要素を使い、それ以外を section にします。
| 要素 | 意味 | 典型用途 |
|---|---|---|
article | 独立した記事 | ブログ記事 / ニュース / 商品ページ |
aside | 本文の補足 | サイドバー / 関連情報 / プルクオート |
nav | ナビゲーション | メニュー / 目次 / パンくず |
section | 一般的なセクション | 章・節・カテゴリ別ブロック |
使用例
1. 記事内の章分け
<article>
<h1>JavaScript 入門</h1>
<section>
<h2>変数と型</h2>
<p>JavaScript には var, let, const の 3 種類の変数宣言があります...</p>
</section>
<section>
<h2>関数</h2>
<p>関数宣言と関数式の違いは...</p>
</section>
<section>
<h2>非同期処理</h2>
<p>Promise と async/await を使うと...</p>
</section>
</article>
2. トップページのカテゴリブロック
<main>
<section>
<h2>新着商品</h2>
<div class="product-grid">...</div>
</section>
<section>
<h2>人気ランキング</h2>
<ol>...</ol>
</section>
<section>
<h2>お知らせ</h2>
<ul>...</ul>
</section>
</main>
3. ステップ式フォーム
<form>
<section aria-labelledby="step1-title">
<h2 id="step1-title">ステップ 1: お客様情報</h2>
<label>氏名 <input type="text" name="name"></label>
</section>
<section aria-labelledby="step2-title">
<h2 id="step2-title">ステップ 2: 配送先</h2>
<label>住所 <input type="text" name="address"></label>
</section>
</form>
誤用パターン
section は意味的なまとまりがあるときだけ使います。スタイリング目的の div 代わりに使うのは誤りです。
| 誤用 | 正しい要素 |
|---|---|
| 単なる装飾用ラッパー | div |
| 独立した記事 | article |
| 本文の補足 | aside |
| ナビゲーション | nav |
| ページ全体のヘッダー | header |
| ページ全体のフッター | footer |
見出しレベルの扱い
HTML5 ではsection ごとに見出しレベルがリセットされる「アウトラインアルゴリズム」が提案されていましたが、主要ブラウザは未実装です。実用上は明示的に h1 → h2 → h3 と階層を作るのが安全です。
<!-- 推奨: 明示的な階層 -->
<article>
<h1>記事タイトル</h1>
<section>
<h2>章タイトル</h2>
<section>
<h3>節タイトル</h3>
</section>
</section>
</article>
アクセシビリティ
- section はアクセシブル名がある場合のみ「Region ランドマーク」として認識される
aria-labelledbyで見出しと結びつけると識別しやすい- section が多すぎると逆にナビゲーションが混乱する — 意味のある区分に絞る
<section aria-labelledby="news-title">
<h2 id="news-title">お知らせ</h2>
<ul>...</ul>
</section>
FAQ
Q: section と div の使い分け
A: 見出しを持ち、テーマでまとまっているなら section。スタイル目的だけなら div。
Q: section の中に article を入れていい?
A: OK。例: ニュースサイトでカテゴリ section の中に記事 article を複数並べる構成。
Q: 見出しなしで section を使うと?
A: 仕様上は使えるが、アクセシビリティ上意味が伝わらない。div で十分なケースが多い。
Q: ランディングページの各ブロックを全部 section にしていい?
A: ヒーロー / 機能紹介 / 料金 / お問い合わせのようにテーマでまとまっているブロックならOK。各ブロックに見出しを付ける。
Q: section と article をネストする深さに制限は?
A: 仕様上の制限なし。実用上は2〜3 段に収めるのが読みやすい。深くなりすぎると意味づけが伝わりにくくなる。
ランディングページでの典型例
<main>
<section aria-labelledby="hero-title">
<h1 id="hero-title">最強の業務効率化ツール</h1>
<p>3 分で導入完了。今すぐ無料トライアル。</p>
</section>
<section aria-labelledby="features-title">
<h2 id="features-title">機能紹介</h2>
<article>
<h3>機能1: 自動化</h3>
<p>...</p>
</article>
<article>
<h3>機能2: 分析</h3>
<p>...</p>
</article>
</section>
<section aria-labelledby="pricing-title">
<h2 id="pricing-title">料金プラン</h2>
<table>...</table>
</section>
<section aria-labelledby="faq-title">
<h2 id="faq-title">よくある質問</h2>
<dl>...</dl>
</section>
</main>
このようにテーマ単位で section を切ると、スクリーンリーダーで「ランドマーク間を飛ばし読み」できるようになり、検索エンジンも文書構造を理解しやすくなります。
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?