Основной инструмент - скринридеры (screen readers). Программа читает содержимое экрана вслух синтезированным голосом. Популярные:
- NVDA (бесплатный, Windows)
- JAWS (платный, Windows, стандарт в госструктурах)
- VoiceOver (встроен в macOS и iOS)
- TalkBack (Android)
Как это работает: скринридер парсит DOM страницы и озвучивает элементы по порядку. Пользователь навигирует клавиатурой: Tab по интерактивным элементам, стрелки по тексту, специальные хоткеи для перехода к заголовкам, спискам, формам.
Что нужно для адаптации:
-
Семантическая верстка. Используй правильные теги: <nav>, <main>, <article>, <aside>, <header>, <footer>. Скринридер озвучивает их как ориентиры.
-
Заголовки по иерархии. H1 > H2 > H3 без пропусков. Пользователи прыгают по заголовкам чтобы понять структуру страницы.
-
Alt для картинок. Декоративные картинки alt="", информативные - описание содержимого. "Фото мужчины в костюме" а не "IMG_2847.jpg".
-
Формы с label. Каждый input связан с label через for/id или вложенностью. Без этого скринридер не скажет что за поле.
-
Фокус видимый. Не убирай outline. Если кастомный дизайн, сделай свой стиль :focus.
-
ARIA когда семантики не хватает. aria-label, aria-describedby, role. Но сначала попробуй решить нативными тегами.
Поставь NVDA и попробуй сам попользоваться своим сайтом с закрытыми глазами. Сразу поймешь где проблемы.
Огонь, спасибо! Поставил NVDA, офигел как сложно. Половина кнопок вообще не озвучивается