スクリーンリーダーのための見出し階層
スクリーンリーダー利用者が効果的に移動できるよう見出しを構成します
「スクリーンリーダーのための見出し階層」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。
スクリーンリーダーが見出しを移動する方法
スクリーンリーダーのユーザーは、主に見出しを使ってページを移動します。
- Hを押して次の見出しへ移動します
- 1~6を押して特定の見出しレベルへ移動します
- すべての見出しの一覧(目次のようなもの)を開きます
- このナビゲーションを機能させるには、正しい見出し階層が不可欠です
スクリーンリーダーの見出し一覧
NVDAとJAWSでは、ページ上のすべての見出しを一覧表示できます。
<!-- A well-structured page with this heading order: -->
<h1>HTML5 Complete Guide</h1>
<h2>Document Structure</h2>
<h3>The DOCTYPE</h3>
<h3>The html head body</h3>
<h2>Semantic Elements</h2>
<h3>Article</h3>
<h3>Section</h3>
<!-- Becomes a navigable list for screen reader users -->
<!-- Similar to a table of contents in a book -->誤った見出し階層
よくある見出し階層の間違い:
<!-- BAD: skipping h2, going straight from h1 to h3 -->
<h1>My Article</h1>
<h3>Introduction</h3> <!-- Skips h2! -->
<h4>Background</h4>
<!-- BAD: using headings for visual size -->
<h4 class="huge-title">This looks big</h4> <!-- h4 in logical order? -->
<!-- BAD: using bold text instead of headings for sections -->
<p><strong>Introduction</strong></p> <!-- Not a heading at all -->実際の正しい階層
ドキュメントページの正しい見出し構造:
<h1>HTML Forms Documentation</h1>
<h2>Overview</h2>
<h2>Form Elements</h2>
<h3>input</h3>
<h4>text type</h4>
<h4>email type</h4>
<h3>select</h3>
<h3>textarea</h3>
<h2>Validation</h2>
<h3>Built-in Validation</h3>
<h3>Custom Validation</h3>1ページに1つのh1
ベストプラクティスは、1ページに<h1>をちょうど1つだけ使用することです。
<h1>JavaScript Array Methods</h1>
<!-- This is the page's main topic -->
<!-- Should match or closely relate to the <title> element -->
<!-- Appears as the main heading users see first -->
<!-- Search engines give it the highest SEO weight -->見出しレベルはコンテンツの階層を表す
見出しレベルは、コンテンツの論理構造を表します。
- ページの主要なセクションには
<h2>を使用します - h2セクション内のサブセクションには
<h3>を使用します - さらに下位のサブセクションには
<h4>を使用します - 実際にはh4より深いレベルが必要になることはほとんどありません
見た目のために見出しを使わない
デフォルトの見た目のサイズを基準に見出しレベルを選んではいけません。
/* BAD approach: h4 because it looks right: */
<h4 style="font-size: 2rem;">Section Title</h4>
/* CORRECT approach: right level, resized with CSS: */
<h2>Section Title</h2>
/* Then: h2 { font-size: 2rem; } */
/* Or: aria-label on section if heading would disrupt structure:
— rare, usually better to fix the heading level */WCAG 2.4.6 見出しとラベル
WCAG 2.4.6(レベルAA)では、次のことが求められます。
見出しとラベルで、トピックまたは目的を説明します。
- 見出しでは、そのセクションの内容を正確に説明する必要があります
- 「Section」や「Details」のような汎用的な見出しは、この達成基準を満たしません
- フォームフィールドのラベルでは、そのフィールドの目的を説明する必要があります
コンポーネントで見出しを使う
再利用可能なコンポーネントを構築するときは、見出しレベルを柔軟に変更できる必要があります。
<!-- BAD: hardcoded heading level in a card component -->
<div class="card">
<h3>Card Title</h3> <!-- What if card appears in h2 or h4 context? -->
</div>
<!-- GOOD: document context determines level -->
<!-- Component receives level as a parameter in JS frameworks -->
<!-- Or use aria-level on a generic element -->
<div role="heading" aria-level="3">Dynamic Level Heading</div>文書のアウトライン
ブラウザーのDevToolsまたは次のツールで、ページの見出しアウトラインを確認します。
- Chrome → Accessibilityパネル → Name/roleビュー
- Firefox → Accessibilityタブ
- HeadingsMap Chrome拡張機能 — 見た目のアウトラインを表示します
- WAVEアクセシビリティツール — headingsセクション
見出しとSEOの整合性
見出しの階層は、SEOのベストプラクティスと一致します。
- 検索エンジンは見出しの階層を解析して、コンテンツの構造を理解します
- H1 = メインのトピック(タイトルと一致);H2 = 主要なサブトピック;H3 = 詳細
- 見出しにキーワードを自然に含めると、ページの関連性を示すシグナルが向上します
- 正しい見出し構造 = アクセシビリティとSEOを同時に改善できます
スキップナビゲーションと見出し
スキップリンクと見出しナビゲーションを組み合わせます。
<!-- Skip link bypasses nav to main content: -->
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Main content heading enables heading navigation: -->
<main id="main-content">
<h1>Page Title</h1>
</main>
<!-- Screen reader users: skip link for fast access;
heading navigation for page exploration -->確認
スクリーンリーダーのユーザーは、通常どのように見出し間を移動しますか。
まとめ:見出しの階層
見出しのアクセシビリティで重要な点:
- 1ページにつき1つの
<h1>— メインのトピック - 見出しレベルは順番どおりに使う — 決して飛ばさない
- 見出しでは見た目のサイズではなく、内容を説明する
- スクリーンリーダーのユーザーはHキーと見出し一覧で移動する
- HeadingsMapまたはWAVEでアウトラインを確認する
よくある質問
「スクリーンリーダーのための見出し階層」レッスンは無料ですか?
はい。「スクリーンリーダーのための見出し階層」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。
「スクリーンリーダーのための見出し階層」で何を学びますか?
スクリーンリーダー利用者が効果的に移動できるよう見出しを構成します ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
HTML Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「スクリーンリーダーのための見出し階層」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHTML Academyレッスンでコードを書いて実行できますか?
はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- アクセシビリティが重要な理由とWCAGレベル
- スクリーンリーダーのための見出し階層
- 画像のaltテキストはいつ、どのように使うか
- キーボード操作とフォーカス順序