| この記事の要点 |
|
header 要素とは
<header> は HTML5 で導入されたセマンティック要素で、もっとも近いセクション(article / section / aside / nav / body)のヘッダー領域を表します。最も近いセクショニング要素が body の場合はページ全体のヘッダーとして機能します。
基本構文
<header>
<h1>サイト名</h1>
<p>キャッチコピー</p>
<nav>
<ul>
<li><a href="/">ホーム</a></li>
<li><a href="/about">概要</a></li>
</ul>
</nav>
</header>
header に入れる典型的なコンテンツ
- サイトロゴ / サイト名(多くの場合
<h1>) - キャッチコピー / リード文
- ナビゲーション(
<nav>) - 検索フォーム
- 著者情報 / 公開日(記事の場合)
- パンくずリスト
複数配置パターン
HTML5 では 1 ページに複数の <header> を置けます。それぞれの最寄りのセクショニング要素に従属します。
<body>
<header> <!-- ページ全体のヘッダー -->
<h1>技術ブログ</h1>
<nav>...</nav>
</header>
<main>
<article>
<header> <!-- 記事のヘッダー -->
<h2>HTML5 セマンティック要素まとめ</h2>
<p>公開日: 2026-06-11 / 著者: Alice</p>
</header>
<p>本文...</p>
<footer> <!-- 記事のフッター -->
<p>タグ: HTML, Web</p>
</footer>
</article>
</main>
</body>
制約事項
<header>内に別の<header>を入れ子にすることはできない<header>内に<footer>を入れることもできない<header>自体はセクショニング要素ではないため、独自のアウトラインを作らない
div との違い
| 項目 | <header> | <div class="header"> |
|---|---|---|
| 意味 | ヘッダーであることを明示 | 意味なし(汎用コンテナ) |
| 支援技術(スクリーンリーダー) | 「バナー」「ヘッダー」として読み上げ | 単なるグループ |
| SEO / アクセシビリティ | 有利 | 中立 |
| CSS / JS から | 要素セレクタで指定可 | クラス指定が必要 |
アクセシビリティ
body 直下の <header> は ARIA の role="banner" 相当として扱われ、スクリーンリーダーで「バナー」ランドマークとして認識されます。ページ全体のヘッダーは 1 つに絞るのがベストプラクティスです。
関連要素
| 要素 | 役割 |
|---|---|
<header> | セクションのヘッダー |
<footer> | セクションのフッター |
<nav> | 主要なナビゲーション |
<main> | ページの主要コンテンツ(1 ページに 1 つ) |
<article> | 独立した記事 / 投稿 |
<section> | 意味のあるまとまり |
<aside> | 補足情報 / サイドバー |
FAQ
Q: ヘッダー画像(hero)はどこに入れる?
A: ページ全体の印象を作る hero は <header> に含めるのが自然。ただし装飾だけなら CSS の背景画像にしても良い。
Q: h1 は <header> の中に入れるべき?
A: 必須ではないが、セマンティクス上は外より中のほうがすっきりする。ページの主見出しは main 側に置く流派もある。
Q: スクロール追従の固定ヘッダーは?
A: <header> 要素に position: sticky; top: 0; を適用するだけ。意味づけと表示は別レイヤなので問題ない。
関連記事
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15