</> Praktum

Главная / HTML / Основы доступности HTML

HTML · качество

Основы доступности HTML

Доступный интерфейс можно использовать с клавиатурой, программой чтения с экрана, увеличением и разными способами ввода. Большую часть основы даёт правильно написанный HTML.

Начни с семантики

Используй настоящие ссылки, кнопки, заголовки, списки и поля формы. Встроенные элементы уже умеют получать фокус и сообщают браузеру свою роль.

<button type="button">Открыть меню</button>
<a href="/css/">Перейти к CSS</a>

Подписи и альтернативный текст

Каждому полю нужна связанная подпись label. Содержательное изображение получает краткий alt, а декоративное — пустой alt="", чтобы его пропустило чтение с экрана.

<label for="email">Электронная почта</label>
<input id="email" name="email" type="email">

<img src="chart.png" alt="Рост посещаемости с января по март">

Клавиатура и фокус

Пройди страницу клавишей Tab. Фокус должен быть видимым, порядок — логичным, а все действия — доступными без мыши. Не добавляй положительный tabindex, чтобы вручную переставить элементы.

button:focus-visible {
  outline: 3px solid #ffbc42;
  outline-offset: 3px;
}

Частые ошибки

Доступность начинается до особых атрибутов

Крупный текст, обычная кнопка, подпись у поля и заголовки по порядку уже закрывают большую часть проблем. Специальные атрибуты нужны, когда смысла элемента не хватает. Если кнопка — это настоящий button, ей не нужен role="button". Если картинка информативная, ей нужен alt, а не атрибут для чтения вслух поверх пустого текста.

Проверь страницу с клавиатуры: клавиша Tab переходит по ссылкам, полям и кнопкам, а Enter или пробел активируют то, что в фокусе. Всё, до чего нельзя дойти без мыши, для части людей недоступно.

Фокус, подпись и имя элемента

<button type="button" aria-pressed="false">
  Тёмная тема
</button>

<a href="/html/formy/">
  <img src="/images/form.png" alt="">
  Перейти к уроку про формы
</a>

У переключателя есть состояние. Если внешний вид меняется, состояние тоже должно быть в коде, иначе программа чтения не узнает, включена тема или нет. У ссылки с картинкой имя берётся из текста. Пустой alt здесь правильный: он не повторяет второй раз фразу «перейти к уроку».

Что не стоит чинить атрибутами

Запомни: Пройди собственную страницу только с клавиатуры один раз после каждой крупной правки. Это занимает минуту и находит больше проблем, чем длинный список атрибутов.

Практика

Проверь одну свою страницу без мыши. Исправь пропущенные подписи, порядок заголовков, alt изображений и видимость фокуса.

Связанные темы

Семантика · Формы · focus-visible

Практикум по теме

  • Ссылка «сразу к тексту» — С клавиатуры человек сначала попадает в шапку и меню. Длинное меню заставляет пройти десяток ссылок до текста.

Ещё в разделе HTML