edubun
日本語

意味のあるページ構造

ほとんどのページは、ヘッダー、メニュー、本文、フッターというだいたい同じ形をしています。HTMLにはそれぞれの要素があり、スクリーンリーダーでそこへすぐに移動できます。

divだらけからランドマークへ

長い間、ページはheaderやmenuのようなクラス名をつけた <div> 要素でつくられていました。<div> はまったく意味のない汎用の箱なので、手がかりはクラス名だけで、それが見えるのはコードを読む人だけでした。今のHTMLには、それぞれの領域が何かを示す要素があります。ブラウザー、検索エンジン、支援技術はそれを理解し、スクリーンリーダーの利用者はランドマークとよばれるこれらの領域を一覧にして、目の見える人がレイアウトをちらっと見るのと同じように、目的の領域へ移動できます。

よくあるページの形。標準で決まっているのはラベルだけで、位置はCSSで決まり、スマートフォンでは変わることもあります。

主な領域

  • <header>:導入部分。ふつうはサイト名やロゴで、メインメニューが入ることも多い。記事が自分のheaderをもつこともある。
  • <nav>:サイトのメニューや目次のような、主要なナビゲーションのリンクのまとまり。リンクのまとまりがすべてnavを必要とするわけではない。
  • <main>:このページだけの内容。表示される <main> は一つのページにちょうど一つにし、header、nav、aside、footerの中には入れない。
  • <article>:ブログの記事、ニュース、商品カードのように、それだけで意味が通じる独立した内容。
  • <section>:ページや記事の、テーマごとの部分。ふつうは自分の見出しをもつ。
  • <aside>:サイドバー、用語の囲み、関連リンクのように、本文に関係はあるが本文とは別の内容。
  • <footer>:作者、著作権、連絡先のリンクのような、しめくくりの情報。

これらの要素が表すのは意味で、位置ではありません。<nav> が上にある必要はなく、<aside> が右にある必要もありません。スマートフォンでは、asideはたいてい本文の下にきます。位置はCSSで決まります。見出しの段階を大きさではなく構造で選んだのと同じように、内容が何かを考えて要素を選びましょう。

articleかsectionか

考えるべきなのは、その部分がほかの場所、たとえばニュースリーダーの中やリンクとして共有されたときに、それだけで意味が通じるかどうかです。通じるなら <article> です。レシピの「材料」の部分のように、もっと大きなものの一部としてしか意味をなさないなら <section> です。どちらもふつうは見出しで始めます。articleはsectionを含むことができ、「最新の投稿」のsectionがいくつもの投稿カードをもつように、sectionがarticleを含むこともできます。

divとspanにも出番はある

合う要素がないときは、ブロックには <div> を、行の中の数語には <span> を使います。カードを格子状に並べる <div class="cards"> のように、CSSのためのとっかかりとして便利です。きまりは、まず意味のある要素を探し、内容を表すものがないときだけ汎用の要素にすることです。divだけでできたページも動きますが、コードを見ない人すべてに構造が隠されてしまいます。

簡単な確かめ方があります。CSSを切ってページを開くか、ブラウザーの拡張機能が表示する見出しとランドマークのアウトラインを読んでみましょう。ヘッダー、メニュー、本文、フッターがはっきりしていて、筋の通った順に読めるなら、構造はきちんとはたらいています。

ARIAよりもネイティブの要素を

W3CのWAI-ARIAという標準の一部である role 属性を、<div role="navigation"> のように見かけることがあります。これは汎用の要素に、支援技術向けの意味を与えます。ARIAの使い方についてのW3Cのガイドは、簡単なきまりから始まります。必要な意味をもつネイティブのHTML要素がすでにあるなら、そちらを使うことです。<nav> のほうが短く、どこでも動き、ある場所では書いて別の場所では書き忘れる、ということもありません。ボタンも同じです。本物の <button> は何もしなくてもTabでフォーカスでき、EnterやSpaceで押せますが、クリックできる <div> で同じことをするには追加のコードが必要です。

header導入部分:サイト名、ロゴ、多くの場合メニュー
nav主要なナビゲーションのリンク
mainこのページだけの内容。一つのページに一つ
articleそれだけで意味が通じる独立した内容
sectionテーマごとの部分。ふつうは見出しがある
asideサイドバーのような、関係はあるが別の内容
footerしめくくりの情報:作者、著作権、連絡先
ランドマークスクリーンリーダーの利用者が移動できるページの領域
  1. 表示されるmain要素は、一つのページにいくつあるべきですか?
  2. それだけで共有できるブログの記事は
    • article
    • section
    • aside
  3. レシピのarticleの「材料」の部分は
    • section
    • article
    • nav
  4. サイトのメニューを入れる要素はどれですか?
  5. asideは右側に表示しなければなりませんか?
    • いいえ。位置はCSSで決まる
    • はい
    • 広い画面のときだけ
  6. divは何を意味しますか?
    • 何も意味しない。汎用の箱
    • 文書の節
    • レイアウトの格子
  7. 行の中の数語に、意味をもたせずにスタイルのための印をつける要素はどれですか?
    • span
    • div
    • strong
  8. 著作権と連絡先のリンクはどこに入れるべきですか?
    • footer
    • header
    • main
  9. ランドマークはスクリーンリーダーの利用者にどう役立ちますか?
    • 領域を一覧にして、そこへ移動できる
    • 文字の音量を大きくする
    • メニューを隠す
  10. mainをheaderの中に置けますか?
    • いいえ
    • はい
    • 見出しがあるときだけ
ポイント
  • header、nav、main、article、section、aside、footerがページの領域に名前をつけます。
  • 意味で選び、位置はCSSが決めます。
  • divとspanは、意味のある要素がどれも合わないときだけ使います。
このコースの出典 (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

確認日: 2026-10-17