11.

HTML5 <main> 要素の使い方と ARIA role / Skip Link / SEO

編集
この記事の要点
  • は HTML5 のページのメインコンテンツを示すセクション要素
  • 1 ページに 1 つだけ(複数あるとアクセシビリティ違反)
  • 暗黙の ARIA role は main。HTML5 では role 属性を別途付ける必要なし
  • /
    /
  • Skip Link本文へスキップ)と組み合わせると a11y / キーボード操作向上

main 要素とは

HTML5.1 で標準化されたセクション要素。ページの主要コンテンツを意味します。スクリーンリーダー利用者が「本文だけを読みたい」とき、この要素にジャンプできます。



記事タイトル | サイト名

  

サイト名

記事タイトル

本文...

© 2026 サイト名

含めるべき / 含めないべき

要素
内?
理由
(サイト共通)
×全ページ共通の要素
×全ページ共通
ページの主役
本文の節
記事内のヘッダ
記事の冒頭部分(タイトル等)
記事内のフッタ
記事の末尾(著者情報等)
サイドバー 本文の補足なら含めても OK
(サイト共通)
×全ページ共通

1 ページに 1 つだけ

HTML5 仕様は「

ページに 1 つだけ」と明記。複数あるとバリデーションエラー、スクリーンリーダーも混乱します:



  
記事 A
記事 B
記事 A
記事 B

例外: hidden 属性付きなら複数 OK(SPA で画面切替時に使う)。


ホーム

...

About

...

Contact

...

ARIA role との関係

HTML5 の

暗黙の role が main。明示的に書く必要はありません:


...
...
...
...

Skip Link(本文へスキップ)

キーボード / スクリーンリーダー利用者のため、ページ冒頭に「本文へスキップ」リンクを置きます:


  

  
...
...

HTML5 アウトラインと main

HTML5 のアウトラインアルゴリズム上、

セクショニング要素ではない
/
/

最近更新/作成されたページ