An element that represents the beginning of a webpage or section, typically containing the title and navigation.
<header> 要素は、ページやセクションの導入部分を表すために使います。ここには見出し(<h1>~<h6>)、ロゴ、ナビゲーション、検索フォームなど、そのページやセクションを理解するための手がかりとなる情報をまとめます。
多くの場合、ページやセクションの先頭に配置されますが、重要なのは「位置」ではなく「導入部」であることです。
<header> は直近のセクショニング要素(例:<section>, <article>)やセクショニング・ルート(例:<body>, <dialog>)の導入部を表します。
例えば、ページ全体のヘッダーとして使うこともできますし、記事ごとに個別の <header> を用意することも可能です。
<h1>~<h6>)<header> は 見出しを必ず含む必要はありませんが、見出しと一緒に使うことが推奨される場合が多いです。見出しなしで、概要やナビゲーションだけをまとめても問題ありません。
ページの中で複数の <header> を使うことができます。ページ全体のものと、各記事やセクション専用のものを併用できます。
禁止されている配置があります。<header> は以下の要素の内側に入れてはいけません:
<address><footer><header><header> 自体にはランドマークロールは付きません。
ページ全体の共通ヘッダーをランドマーク化したい場合は、1 ページに 1 つだけ role="banner" を付けることを検討してください。
記事やセクションごとの <header> には通常ランドマークは不要です。
HTML
<body>
<header role="banner">
<h1>私のブログ</h1>
<nav>
<a href="/">ホーム</a>
<a href="/about">プロフィール</a>
</nav>
<form action="/search" role="search">
<input name="q" aria-label="サイト内検索">
</form>
</header>
<main role="main">
<!-- ページ本文 -->
</main>
</body>
HTML
<article>
<header>
<h2>最新のお知らせ</h2>
<p>イベントやアップデートの概要をまとめています。</p>
<nav>
<a href="#events">イベント一覧</a>
<a href="#updates">更新情報</a>
</nav>
</header>
<p>…本文がここに続きます…</p>
</article>
<header> はページやセクションの導入部分を表す要素<address> / <footer> / 別の <header> の中には置けないrole="banner" を利用初心者の方はまず「ページや記事の“顔”を作る要素」と覚えるとわかりやすいです。