Иерархия заголовков для экранных дикторов
Структурируйте заголовки так, чтобы пользователи экранных дикторов могли эффективно перемещаться по странице
«Иерархия заголовков для экранных дикторов» — бесплатный урок HTML Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения 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>Один h1 на странице
Рекомендуемый подход: ровно один <h1> на странице:
<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>для основных разделов страницы - Используйте
<h3>для подразделов внутри разделов h2 - Используйте
<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) требует:
Заголовки и подписи должны описывать тему или назначение.
- Заголовки должны точно описывать содержимое раздела
- Общие заголовки вроде «Раздел» или «Подробности» не соответствуют этому критерию
- Подписи полей формы должны описывать назначение поля
Использование заголовков в компонентах
При создании повторно используемых компонентов уровни заголовков должны быть гибкими:
<!-- 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 → панель специальных возможностей → представление «Имя/роль»
- Firefox → вкладка специальных возможностей
- Расширение HeadingsMap для Chrome — показывает визуальную структуру
- Инструмент специальных возможностей WAVE — раздел заголовков
Согласование заголовков и 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 -->Быстрая проверка
Как пользователи программ чтения с экрана обычно переходят между заголовками?
Итоги: иерархия заголовков
Основные правила доступности заголовков:
- Один
<h1>на страницу — основная тема - Используйте уровни заголовков по порядку — никогда не пропускайте уровни
- Заголовки описывают содержимое, а не визуальный размер
- Пользователи программ чтения с экрана переходят с помощью клавиши H и списка заголовков
- Проверяйте структуру с помощью HeadingsMap или WAVE
Часто задаваемые вопросы
Урок «Иерархия заголовков для экранных дикторов» бесплатный?
Да — полный текст урока «Иерархия заголовков для экранных дикторов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс HTML Academy, подпишись на CoddyKit PRO. Курс HTML Academy содержит 4 уроков всего.
Чему я научусь в уроке «Иерархия заголовков для экранных дикторов»?
Структурируйте заголовки так, чтобы пользователи экранных дикторов могли эффективно перемещаться по странице Ты практикуешь HTML Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать HTML Academy?
Предыдущий опыт не требуется. HTML Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Иерархия заголовков для экранных дикторов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке HTML Academy?
Да. Каждый урок HTML Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Зачем нужна доступность: уровни WCAG
- Иерархия заголовков для экранных дикторов
- Альтернативный текст изображений: когда и как
- Навигация с клавиатуры и порядок фокуса