Доступность сайта (accessibility)
Сайтом пользуются очень разные люди: кто-то не видит и слушает страницу голосовым помощником, кто-то не пользуется мышью, кто-то плохо различает цвета. Доступность — это про то, чтобы сайт был удобен всем, а не только «среднему» посетителю. И приятный бонус: почти всё, что делает сайт доступным, заодно помогает и SEO. Разберём базу. Один из базовых пунктов — читаемый контраст текста и фона: пары цветов проверяются в проверке контраста.
Что такое доступность
Доступность (по-английски accessibility, сокращённо a11y) — это свойство сайта быть пригодным для людей с разными возможностями: для незрячих и слабовидящих, для тех, кто управляет только клавиатурой, плохо различает цвета или испытывает трудности с мелким текстом. Незрячие, например, «слушают» сайт через программу-скринридер, которая читает содержимое вслух — и от того, как сделан сайт, зависит, поймёт ли человек, что на странице.
Зачем это нужно
- Это люди и клиенты. Посетителей с особенностями восприятия больше, чем кажется. Недоступный сайт просто теряет их как аудиторию.
- Это удобнее всем. Хороший контраст, понятная навигация и крупный текст помогают и обычным посетителям — особенно на ярком солнце или с телефона.
- Это пересекается с SEO. Поисковый робот «воспринимает» сайт похоже на скринридер — по тексту и структуре, без картинки глазами. Что понятно роботу, то доступно и незрячему, и наоборот.
База доступности (и заодно SEO)
Где доступность и SEO совпадают
Это самое приятное. Атрибут alt у картинок нужен и скринридеру, и поиску по картинкам. Правильная иерархия заголовков H1–H6 помогает и незрячему ориентироваться, и поисковику понимать структуру. Осмысленный текст ссылок (вместо «нажмите сюда») полезен и тем, и другим. Семантические теги делают страницу понятной и роботу, и вспомогательным программам. Поэтому работа над доступностью почти всегда улучшает и техническое SEO — без отдельных усилий.
WCAG: международный стандарт
У доступности есть формальный стандарт — WCAG (Web Content Accessibility Guidelines), свод рекомендаций, как сделать веб пригодным для всех. В нём три уровня соответствия. A — базовый минимум, без которого частью сайта пользоваться невозможно. AA — практический ориентир, к которому стремятся: достаточный контраст, навигация с клавиатуры, подписи к элементам; именно AA обычно требуют законы о доступности в разных странах. AAA — самый строгий, для специализированных случаев, целиком его выполняют редко. Для большинства сайтов разумная цель — уровень AA. Знать про WCAG полезно, но начинать стоит не с чтения стандарта, а с базовых вещей вроде alt и контраста — они закрывают большую часть требований.
Как проверить доступность
Проверка доступности сочетает автоматику и ручной труд. Автоматические инструменты — вкладка Accessibility в Lighthouse (встроена в браузер) и расширения вроде axe — быстро находят явные проблемы: пропущенные alt, низкий контраст, поля без подписей. Но они ловят не всё, поэтому добавляют ручные проверки. Пройдите по сайту одной клавиатурой, клавишей Tab: можно ли добраться до всех ссылок и кнопок и видно ли, где сейчас фокус. Проверьте контраст текста. А лучший тест — включить скринридер (он есть в любой системе) и «послушать» страницу: если по звуку понятно, что на ней и как ею пользоваться, доступность в порядке.
ARIA: когда нужны атрибуты
Для сложных интерфейсов есть набор специальных атрибутов — ARIA (например, aria-label, aria-hidden, role). Они подсказывают вспомогательным программам то, что не выражается обычными тегами: что вот этот элемент — вкладка, а этот — всплывающее меню, и в каком он состоянии. ARIA нужна для нестандартных виджетов: слайдеров, выпадающих меню, модальных окон. Но есть важное правило: «никакой ARIA лучше плохой ARIA». Если задачу решает обычный семантический тег — кнопка через button, заголовок через h2, — используйте его, а не навешивайте role на div. Неправильно применённая ARIA путает скринридер сильнее, чем её отсутствие. Сначала семантика, ARIA — только там, где без неё никак.
Частые барьеры
Большинство проблем доступности — это одни и те же типовые барьеры. Картинки без alt — скринридер молчит или читает имя файла. Низкий контраст — бледно-серый текст на белом, который не все различают. Сайт, работающий только мышью, без доступа с клавиатуры. Плейсхолдер вместо подписи поля — он исчезает, когда начинаешь печатать, и человек забывает, что вводил. Капча с распознаванием картинок, непроходимая для незрячих. Автоматически запускающееся видео со звуком. И «div на всё» вместо нормальных кнопок и ссылок. Убрав эти барьеры, вы делаете сайт доступным процентов на восемьдесят — и заодно чище для поиска.
Коротко
Доступность (accessibility, a11y) — это пригодность сайта для всех, включая незрячих, людей без мыши и тех, кто плохо различает цвета. Базу составляют alt у картинок, правильная иерархия заголовков, достаточный контраст, навигация с клавиатуры, подписи к полям форм и семантическая вёрстка. Большая часть этого совпадает с техническим SEO: поисковый робот воспринимает сайт похоже на скринридер — по тексту и структуре. Поэтому делая сайт доступнее, вы заодно помогаете и продвижению.