Skip to content
EN
← Все статьи

Доступность сайта и «версия для слабовидящих»: что действительно требуется по WCAG

Коротко. Доступность — это возможность пользоваться сайтом клавиатурой, экранным диктором и на увеличенном масштабе. «Версия для слабовидящих» в виде кнопки-переключателя её не создаёт: панель меняет размер шрифта и цвета поверх той же разметки, а причина недоступности — в разметке. Реальный минимум закрывается семантикой, контрастом, клавиатурой и подписями к полям, и проверяется наполовину руками, а не автоматикой.

Кому доступность обязательна, а кому просто выгодна

Требования к доступности сайтов в России описаны в национальном стандарте на доступность интернет-ресурсов (серия ГОСТ Р 52872) и в отраслевых правилах: они адресованы прежде всего сайтам органов власти, государственных и муниципальных учреждений, образования, здравоохранения и организаций, оказывающих услуги населению. Точный перечень и действующая редакция меняются — сверяйте их по официальному источнику, а не по статье в блоге.

Коммерческому сайту доступность обычно не вменяется в обязанность, но остаётся выгодной по трём причинам, ни одна из которых не про благотворительность:

  • Часть аудитории просто не может купить. Не только незрячие: временный гипс, яркое солнце на экране телефона, шумное метро, возрастная дальнозоркость — всё это те же барьеры, что и у постоянных ограничений.
  • Доступная разметка — семантическая разметка. Заголовки по уровням, подписи к полям, осмысленные ссылки одинаково нужны и экранному диктору, и поисковому роботу.
  • Доступность ловит обычные баги интерфейса. Форма, которую нельзя пройти табом, чаще всего сломана и мышью — просто это заметили позже.
Схема: один и тот же интерфейс воспринимается по-разному через экранный диктор, увеличение масштаба и клавиатурную навигацию
Доступность — не отдельная версия сайта, а свойство основной: тот же интерфейс должен работать голосом, клавиатурой и на увеличенном масштабе.

«Версия для слабовидящих»: почему кнопка не делает сайт доступным

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

Панель работает поверх той же разметки. Она умеет менять внешний вид, но не может починить причину недоступности. Если у картинки нет описания, экранный диктор промолчит и при увеличенном шрифте. Если кнопка сделана из div без роли, она не станет кнопкой оттого, что стала крупнее. Если поле формы не связано с подписью, диктор так и не скажет, что в него вводить.

Тот, кому она адресована, обычно ею не пользуется. Незрячий человек приходит со своим экранным диктором, слабовидящий — со встроенным увеличением системы и собственными настройками контраста. Эти инструменты уже настроены под пользователя лучше, чем любая панель на сайте.

Оверлей может мешать. Панели, которые агрессивно переписывают страницу и навешивают свои ARIA-атрибуты, способны конфликтовать с экранным диктором и ухудшать то, что работало. Международное сообщество разработчиков ассистивных технологий относится к таким наложениям скептически ровно по этой причине.

Панель — это дополнение, а не замена. Ставить её можно, если формальное требование к сайту предполагает наличие такой версии. Но считать, что после установки виджета работа сделана, — самая дорогая ошибка в теме: базовые барьеры остаются на месте, а ощущение закрытой задачи мешает их заметить.

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

Принципы WCAG: POUR

Международный стандарт WCAG строится на четырёх принципах, и в них удобно раскладывать любой найденный дефект.

Воспринимаемость

  • У изображений есть alt, описывающий смысл, а не имя файла.
  • У видео есть субтитры, у важного аудио — расшифровка.
  • Цвет не единственный носитель смысла: «поля, отмеченные красным» невидимы для дальтоника.
  • Контраст текста не ниже 4,5:1, для крупного — не ниже 3:1.

Управляемость

  • Вся функциональность доступна с клавиатуры, включая меню, модальные окна и слайдеры.
  • Видно, где находится фокус, и порядок обхода совпадает с визуальным.
  • Ничего не мигает чаще трёх раз в секунду.
  • Действия по времени можно продлить или отключить.

Понятность

  • Указан язык страницы, иначе диктор прочитает русский текст с английской фонетикой.
  • Интерфейс ведёт себя предсказуемо: фокус в поле не переключает страницу сам по себе.
  • Ошибки формы объясняют, что именно не так и как исправить.

Надёжность

  • Разметка валидна, элементы не вложены друг в друга произвольно.
  • ARIA используется точечно и не противоречит семантике.

Практический минимум, который закрывает большую часть барьеров

Полный WCAG велик, но подавляющее большинство реальных проблем на типовом сайте — это семь пунктов ниже.

1. Семантическая разметка вместо набора блоков

<!-- Плохо: блок с обработчиком клика -->
<div class="nav">
  <div class="nav__item" data-href="/">Главная</div>
</div>

<!-- Хорошо: ссылка остаётся ссылкой, навигация — навигацией -->
<nav aria-label="Основная навигация">
  <a href="/">Главная</a>
</nav>

Кликабельный div не попадает в обход клавиатурой, не сообщает свою роль диктору и не открывается в новой вкладке средним кликом. Ссылка и кнопка получают всё это бесплатно.

2. Осмысленные описания изображений

<!-- Декоративное: пустой alt, чтобы диктор его пропустил -->
<img src="divider.png" alt="">

<!-- Информативное: описываем смысл, а не вид -->
<img src="chart.png" alt="Выручка выросла на 45% в третьем квартале">

<!-- Ссылка-картинка: alt описывает, куда ведёт ссылка -->
<a href="/pricing"><img src="banner.png" alt="Тарифы и цены"></a>

Пустой alt — не ошибка, а инструмент: он говорит диктору «пропусти, это оформление». Ошибка — его отсутствие: тогда диктор прочитает имя файла.

3. Подписи к полям формы

<!-- Плохо: подпись только в placeholder, она исчезает при вводе -->
<input type="email" placeholder="Ваш email">

<!-- Хорошо: явная связь подписи и поля -->
<label for="email">Электронная почта</label>
<input type="email" id="email" name="email" autocomplete="email"
       aria-describedby="email-hint">
<p id="email-hint">Пришлём подтверждение заказа</p>

Placeholder — подсказка, а не подпись: он исчезает при вводе, имеет низкий контраст и не читается частью дикторов. Атрибут autocomplete помогает не только людям с ограничениями — он экономит всем время.

4. Контраст

Светло-серый текст на белом — самая частая находка любого аудита. Минимум 4,5:1 для обычного текста и 3:1 для крупного; это касается и текста на кнопках, и подписей под полями, и текста поверх фотографий. Отдельная проверка — состояние :disabled и плейсхолдеры: их часто делают настолько бледными, что прочитать невозможно.

5. Клавиатура и видимый фокус

Пройдите страницу табом от начала до конца. Всё интерактивное должно получать фокус, порядок должен совпадать с визуальным, а обводку фокуса нельзя убирать без замены. Правило простое: outline: none без собственного видимого стиля фокуса — это дефект, а не дизайн.

6. Заголовки по уровням

Один h1 на страницу, дальше h2 и h3 по вложенности, без перескоков ради размера шрифта. Экранные дикторы умеют переходить по заголовкам, и для незрячего это то же, что для зрячего — беглый взгляд по странице.

7. Масштаб и мобильные размеры

Страница должна оставаться работоспособной при увеличении до 200%: без горизонтальной прокрутки и без наезжающих друг на друга блоков. Кликабельные зоны на мобильном — не меньше 44 пикселей по каждой стороне, иначе в них не попасть ни при треморе, ни просто на ходу.

Схема практического минимума: семантика, описания изображений, подписи полей, контраст, клавиатура, заголовки и масштаб
Семь пунктов практического минимума закрывают большую часть реальных барьеров — и ни один из них не решается кнопкой-переключателем.

ARIA: сначала не использовать

Первое правило ARIA — не применять ARIA, если задачу решает нативный элемент. Правильный button уже сообщает свою роль, получает фокус и реагирует на пробел и Enter; div с role="button" придётся дооснащать вручную, и часть поведения всё равно будет отличаться.

<!-- Избыточно и хрупко -->
<div role="button" tabindex="0" aria-pressed="false">Отправить</div>

<!-- Достаточно -->
<button type="submit">Отправить</button>

<!-- ARIA уместна там, где нативного элемента нет -->
<div role="status" aria-live="polite">Заявка отправлена</div>

Неверная ARIA хуже её отсутствия: атрибут переопределяет то, что браузер сообщал сам, и диктор начинает описывать элемент неправильно. Если сомневаетесь — уберите ARIA и возьмите нативный тег.

Как проверять: автоматика ловит меньше половины

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

Идеальный балл автоматической проверки — не оценка «доступно». Он означает лишь, что не найдено формализуемых нарушений. Осмысленность описаний, логичность порядка фокуса и понятность ошибок сканер не оценивает — именно там живёт большая часть реальных барьеров.

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

Ручная часть — четыре проверки, каждая по паре минут:

  1. Только клавиатура. Уберите руку с мыши и пройдите ключевой сценарий: меню, форма, модальное окно, отправка. Проверьте, что из модального окна можно выйти клавишей Escape и что фокус не «убегает» за него.
  2. Экранный диктор. В любой современной системе он встроен. Достаточно послушать первые полминуты главной: понятно ли, куда вы попали, и что за ссылки читаются.
  3. Масштаб 200%. Увеличьте страницу и посмотрите, не появилась ли горизонтальная прокрутка и не перекрыло ли что-то содержимое.
  4. Отключённые изображения. Быстрый способ увидеть, где alt отсутствует или бессмыслен.

Общее состояние страниц — коды ответа, заголовки, скорость — удобно снимать перед аудитом, чтобы не путать недоступность с обычной поломкой: для этого есть аудит сайта, проверка заголовков и проверка скорости. Медленная страница бьёт по всем, но по людям с ассистивными технологиями — сильнее: диктор читает то, что уже отрисовано.

Схема проверки: автоматический сканер закрывает часть нарушений, остальное выявляют клавиатура, экранный диктор, масштаб и отключённые изображения
Автоматика закрывает формализуемую часть, всё остальное ловится четырьмя ручными проверками по паре минут каждая.

Типичные нарушения и как их чинить

НарушениеКого ломаетКак починить
Кликабельный div вместо кнопки или ссылкиКлавиатура, экранный дикторВзять нативный button или a
outline: none без заменыВсех, кто ходит табомСобственный видимый стиль фокуса
Подпись поля только в placeholderДиктор, люди с когнитивными особенностямиЯвный label for
Светло-серый текст на беломСлабовидящих, всех на солнцеПоднять контраст до 4,5:1
Заголовки выбраны по размеру шрифтаНавигацию дикторомВыстроить уровни по смыслу, размер задавать стилями
Модальное окно без ловушки фокуса и EscapeКлавиатуруУдерживать фокус внутри, закрывать по Escape, возвращать фокус назад
Смысл передан только цветомДальтониковДобавить текст, значок или подпись
Не указан язык страницыЭкранный дикторПроставить атрибут языка в корневом теге
Автовоспроизведение видео со звукомПочти всехОтключить автозапуск, дать управление

Доступность и SEO: где они совпадают

Пересечение реальное, но не стоит превращать его в обещание позиций. Совпадает то, что относится к структуре документа:

  • Заголовки по уровням одинаково помогают диктору и роботу понять структуру.
  • Описания изображений — это и доступность, и единственный способ для поиска понять картинку; как их писать под задачу поиска, разобрано в материале про оптимизацию изображений.
  • Осмысленный текст ссылок вместо «подробнее» полезен обоим.
  • Скорость и стабильность вёрстки — часть пользовательского опыта, и её метрики разобраны в гайде по Web Vitals.

А вот чего доступность не делает: она не поднимает сайт в выдаче сама по себе и не заменяет работу с содержанием. Считать её SEO-инструментом — способ разочароваться.

Диаграмма пересечения: структура документа, описания изображений и скорость полезны и людям с ассистивными технологиями, и поисковым роботам
Пересечение доступности и поиска — это структура документа, описания и скорость; всё остальное у них своё.

Частые вопросы

Достаточно ли поставить панель «версия для слабовидящих»?

Нет. Панель меняет оформление поверх той же разметки и не чинит причину: отсутствующие описания, некликабельные с клавиатуры элементы, поля без подписей. Ставить её имеет смысл как дополнение или когда наличие такой версии требуется формально, но базовую работу она не заменяет.

С чего начать, если бюджет ограничен?

С клавиатуры и контраста. Пройдите табом ключевой сценарий и поднимите контраст текста — это две самые дешёвые правки с самым заметным эффектом. Следом — подписи к полям и описания изображений.

Нужно ли делать отдельную версию сайта для незрячих?

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

Как понять, что сайт подпадает под обязательные требования?

Ориентируйтесь на тип организации и характер услуг, а формулировки сверяйте с действующей редакцией стандарта и отраслевых правил. Если сайт относится к государственному сектору, образованию, здравоохранению или оказанию услуг населению — вопрос стоит задать юристу, а не решать по аналогии с соседним сайтом.

Автоматический сканер показал «100 из 100». Это значит, что всё хорошо?

Нет. Такой балл означает лишь, что не найдено формализуемых нарушений. Осмысленность описаний, логичность порядка фокуса и понятность сообщений об ошибках автоматика не оценивает — их проверяют руками.

Сломает ли доступность дизайн?

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

Чеклист доступности

  • Ключевой сценарий проходится одной клавиатурой, фокус виден всегда.
  • Контраст текста не ниже 4,5:1, включая кнопки, подсказки и неактивные состояния.
  • У всех информативных изображений есть осмысленный alt, у декоративных — пустой.
  • Каждое поле формы связано с подписью, а не только с placeholder.
  • Ошибки формы объясняют причину и способ исправления текстом, а не только цветом.
  • Заголовки идут по уровням, на странице один h1.
  • Указан язык страницы.
  • Модальные окна удерживают фокус, закрываются по Escape и возвращают фокус на вызвавший элемент.
  • При увеличении до 200% нет горизонтальной прокрутки и перекрытий.
  • Кликабельные зоны на мобильном не меньше 44 пикселей.
  • Прогнан автоматический аудит и выполнены четыре ручные проверки.
  • Панель «версия для слабовидящих», если она есть, считается дополнением, а не результатом.

Проверьте ваш сайт прямо сейчас

Проверить SEO своего сайта →
Другие статьи: SEO
SEO
Open Graph: как настроить превью ссылки в Telegram, VK и соцсетях
21.07.2026 · 477 просм.
SEO
Sitemap XML: структура карты сайта, лимиты, генерация и проверка
16.03.2026 · 398 просм.
SEO
SEO-аудит сайта: чеклист из 20 пунктов
14.03.2026 · 225 просм.
SEO
Цепочки редиректов: как они влияют на SEO и скорость
11.03.2026 · 207 просм.