ФиксИнтернет-магазин на 1С-Битрикс под ключ за 30 дней по фиксированной цене

Доступность (accessibility) интернет-магазина на 1С-Битрикс

Доступность (accessibility) интернет-магазина на 1С-Битрикс: семантика и ARIA, навигация с клавиатуры и видимый фокус, контраст текста, alt и доступные формы

Представьте покупателя, который не видит экран и «читает» ваш магазин голосом программы-скринридера. Или человека с травмой руки, который не может пользоваться мышью и ходит по сайту одной клавишей Tab. Или пожилого посетителя, которому мелкий светло-серый шрифт на белом фоне попросту не разобрать. Все они хотят купить у вас товар — и все они уйдут, если кнопка «В корзину» сделана из безымянного div, у картинок нет описаний, а по форме заказа невозможно пройти с клавиатуры. Доступность сайта (accessibility, коротко a11y) — это не благотворительность и не «галочка для отчёта», а свойство магазина, которое расширяет аудиторию и одновременно улучшает удобство для всех.

В этой статье разберём по-инженерному, из чего складывается доступный интернет-магазин на 1С-Битрикс: что такое веб-доступность и стандарт WCAG (обзорно, с уровнями A и AA), кому и зачем это нужно, как устроены семантическая вёрстка и ARIA-роли, навигация с клавиатуры (фокус, порядок обхода, skip-link), контраст и размер шрифта, alt-тексты и подписи полей, доступные формы, модалки, меню, карусели и умный фильтр, что такое «версия для слабовидящих» и в чём её ограничения, как всё это ложится на компоненты Битрикса и кастом, и как это тестировать скринридером, клавиатурой и автоаудитом. Материал основан на нашей практике оптимизации конверсии (CRO) и разработки интернет-магазинов на 1С-Битрикс — без выдуманных «процентов роста», зато с рабочими принципами.

Коротко

  • Доступность — это про всех, а не только про незрячих: люди с нарушениями зрения, слуха и моторики, пожилые и все, у кого ситуативные ограничения (яркое солнце, сломанная мышь, шумное место).
  • WCAG строится на четырёх принципах — воспринимаемость, управляемость, понятность, надёжность — и трёх уровнях A/AA/AAA; для магазина разумная цель — уровень AA.
  • База доступности почти бесплатна: семантические теги вместо div-супа, работа с клавиатуры, видимый фокус, достаточный контраст, alt и подписи форм.
  • ARIA — это добавка, а не замена семантике: сначала правильные теги, ARIA — только там, где нативных средств не хватает (модалки, меню, фильтр).
  • «Версия для слабовидящих» не заменяет доступный сайт: надёжнее делать доступным сам магазин, а переключатель добавлять как дополнение и там, где он требуется.

Что такое веб-доступность (a11y) и почему это не «для галочки»

Веб-доступность (accessibility) — это свойство сайта, при котором им может полноценно пользоваться максимально широкий круг людей, в том числе те, у кого есть постоянные, временные или ситуативные ограничения. Сокращение a11y — это то же слово «accessibility», где 11 символов между первой буквой «a» и последней «y»; так же образованы i18n (internationalization) и l10n (localization). За модным сокращением стоят очень конкретные вещи: сможет ли незрячий человек со скринридером купить товар, дойдёт ли до конца заказа человек, у которого нет мыши, прочитает ли подписи слабовидящий.

Ключевая идея доступности в том, что интерфейсом пользуются по-разному. Зрячий человек с мышью видит всю страницу сразу и кликает куда угодно. А есть другие способы взаимодействия:

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

Важно: доступность — это не отдельный «режим сайта», а качество самого интерфейса. Хорошая новость в том, что бо́льшая часть доступности достигается правильной вёрсткой и почти ничего не стоит, если делать её сразу, а не переделывать потом.

Кому важна доступность: не только незрячие

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

А теперь про ситуативные ограничения, которые случаются с каждым. Яркое солнце на экране телефона на улице — временное «слабовидение». Сломанная или севшая мышь — временная «только клавиатура». Шумный вагон метро без наушников — временная «глухота» к видео. Рука занята пакетами, и телефон в другой руке — временная «моторная» проблема. Получается, что улучшения ради людей с инвалидностью помогают и абсолютно всем в неудобных условиях. Именно поэтому доступность часто называют частным случаем хорошего UX, а не отдельной от него темой.

Совет: когда проектируете элемент, спросите себя не только «как это выглядит», но и «как этим воспользуются без мыши, без звука и при плохом зрении». Три коротких вопроса закрывают большинство базовых проблем доступности ещё на этапе макета.

Зачем доступность бизнесу: аудитория, SEO, требования

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

Шире аудитория и меньше потерь в воронке

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

Связь с SEO

Поисковый робот в некотором смысле — это «слепой пользователь»: он не видит картинку и не воспринимает интерфейс «на глаз», а опирается на разметку. Поэтому многое из доступности напрямую полезно для SEO: одна корректная структура заголовков, осмысленные alt у изображений, текстовые ссылки с понятными формулировками, подписи полей, семантические теги. Работая над доступностью, вы попутно приводите в порядок семантику, а это фундамент технического SEO. Подробнее пересечение мы разбираем в материале про технический SEO-аудит магазина на 1С-Битрикс.

Требования и репутация

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

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

WCAG обзорно: четыре принципа и уровни A/AA/AAA

Главный ориентир в доступности — WCAG (Web Content Accessibility Guidelines), международные рекомендации по доступности веб-контента. Это не закон и не набор «хитростей», а структурированный свод критериев, по которым можно проверить сайт и понять, что улучшить. Знать WCAG наизусть не нужно, но полезно понимать его логику — четыре принципа и три уровня.

Четыре принципа

WCAG держится на четырёх принципах, которые удобно запомнить по первым буквам (POUR в оригинале): контент должен быть воспринимаемым, управляемым, понятным и надёжным.

Четыре принципа WCAG WCAG доступность Воспринимаемость alt, субтитры, контраст Управляемость клавиатура, фокус, время Понятность простой язык, ошибки Надёжность валидный код, ARIA
Схема: четыре принципа WCAG — воспринимаемость, управляемость, понятность и надёжность — вместе описывают, что делает контент доступным.
ПринципО чём онПримеры для магазина
ВоспринимаемостьКонтент можно воспринять хотя бы одним из чувствalt у фото товара, субтитры к видео, достаточный контраст текста
УправляемостьИнтерфейсом можно управлять разными способамиЗаказ проходится с клавиатуры, видимый фокус, нет ловушек, хватает времени
ПонятностьКонтент и поведение предсказуемы и ясныПонятные подписи полей, ясные тексты ошибок, единообразная навигация
НадёжностьКонтент корректно работает в разных средствахВалидная разметка, корректные роли/ARIA, работа со скринридерами

Три уровня соответствия

Каждый критерий WCAG отнесён к одному из трёх уровней:

Для коммерческого интернет-магазина разумная цель — уровень AA. Практичный путь: сначала закрыть критерии уровня A (без них совсем плохо), затем последовательно довести до AA, а отдельные требования AAA внедрять там, где это уместно и не мешает бизнес-логике. Важно понимать, что WCAG — это про смысл, а не про «зелёные галочки» инструмента: автоматический аудит проверяет лишь часть критериев, остальное требует ручной проверки клавиатурой и скринридером.

Семантическая вёрстка: теги вместо div-супа

Самый дешёвый и самый мощный инструмент доступности — семантическая вёрстка, то есть использование HTML-тегов по их смыслу. Заголовок — это <h1>…<h6>, кнопка — <button>, ссылка — <a href>, список — <ul>/<ol>, навигация — <nav>, основное содержимое — <main>, таблица данных — <table> с <th>. Каждый такой тег несёт встроенный смысл, который скринридер объявляет пользователю, а браузер обрабатывает правильным поведением.

Противоположность этому — «div-суп»: страница, целиком собранная из <div> и <span> с классами. Визуально она может выглядеть идеально, но для скринридера это плоский поток безликого текста без заголовков, кнопок и ориентиров. Разница особенно наглядна на кнопке и ссылке.

Семантика div-суп <button> В корзину </button> → «кнопка» <a href> Каталог </a> → «ссылка» <h2> Заголовок </h2> → «заголовок» <nav> ... </nav> → «навигация» <div class="btn"> В корзину → «текст» <span onclick> Каталог → «текст» <div class="title"> → «текст» <div class="menu"> → «текст» Скринридер и клавиатура работают из коробки Для скринридера — плоский поток без смысла
Схема: семантические теги объявляются скринридером как «кнопка», «ссылка», «заголовок», «навигация», а div-суп остаётся безликим текстом, недоступным с клавиатуры.

Практические правила семантики для магазина:

Семантика — это тот случай, когда «сделать правильно» не дороже, чем «сделать как попало»: button писать не сложнее, чем div class="btn". Просто первое доступно всем, а второе — только тем, у кого есть мышь.

ARIA-роли и атрибуты: когда нужны, а когда вредят

ARIA (Accessible Rich Internet Applications) — набор специальных атрибутов (role, aria-label, aria-expanded, aria-hidden и других), которые добавляют разметке смысл для вспомогательных технологий там, где обычного HTML не хватает. ARIA умеет объявлять роль элемента («это диалог», «это вкладка»), его состояние («раскрыто/свёрнуто», «выбрано») и связи между элементами. Это мощный инструмент — но с важной оговоркой.

Главное правило ARIA формулируют так: «первое правило ARIA — не использовать ARIA». Звучит парадоксально, но смысл прост: если задачу решает нативный HTML-тег, надо брать его, а не имитировать поведение через ARIA на div. Нативный button уже «кнопка» и работает с клавиатурой; писать <div role="button"> и вручную добавлять обработку клавиш — лишний труд и источник ошибок. ARIA нужна там, где нативных средств действительно нет: сложные виджеты вроде модальных окон, вкладок, аккордеонов, «умных» выпадающих меню и каруселей.

Где ARIA в магазине уместна и полезна:

Важно: неправильная ARIA хуже, чем её отсутствие. Роль role="button" на div без обработки клавиатуры или aria-hidden на важном контенте создаёт ложное впечатление и ломает опыт. Сначала — семантика и клавиатура, и только затем ARIA как аккуратная добавка поверх.

Навигация с клавиатуры: фокус, порядок, skip-link

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

Как это устроено:

Чтобы это работало, все интерактивные элементы должны быть настоящими интерактивными тегами (см. раздел про семантику): нативные a, button, input попадают в порядок обхода автоматически. Как только кнопку делают из div, она выпадает из клавиатурной навигации — на ней нельзя остановиться клавишей Tab, а значит, и нажать её без мыши невозможно.

Skip-link — ссылка «к содержимому»

На каждой странице магазина сверху десятки ссылок: логотип, меню, разделы каталога, поиск, корзина. Пользователю клавиатуры пришлось бы «протабать» их все на каждой странице, чтобы добраться до товаров. Решение — skip-link: скрытая ссылка «Перейти к содержимому», которая появляется при фокусе первой же клавишей Tab и переносит фокус сразу к основному содержимому (main). Это стандартный приём, который сильно облегчает навигацию и почти ничего не стоит в реализации.

Навигация с клавиатуры и фокус Перейти к содержимому ↵ skip-link (виден по Tab) 1 Каталог 2 Поиск 3 Корзина 4 Карточка товара 2 490 ₽ В корзину 5 Видимый фокус — рамка вокруг элемента, на котором стоит фокус Tab идёт по порядку 1 → 2 → 3 → 4 → 5, фокус всегда виден
Схема: skip-link появляется первым по Tab, порядок обхода логичен (шапка → содержимое), а элемент под фокусом всегда обведён видимой рамкой.

Видимый фокус и логичный порядок обхода

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

Не убирайте обводку фокуса

Браузер по умолчанию рисует вокруг элемента под фокусом рамку или подсветку. Это ориентир пользователя клавиатуры: «я сейчас здесь». Дизайнерам она порой кажется лишней, и в CSS появляется печально известное outline: none — после чего по сайту невозможно ходить с клавиатуры, потому что не видно, где ты. Правильный подход — не убирать фокус, а оформить его под стиль сайта: заметная рамка, подсветка, изменение фона. Современные браузеры умеют показывать фокус только при навигации с клавиатуры (через :focus-visible), не мешая тем, кто кликает мышью, — это удобный компромисс.

Порядок обхода должен совпадать со смыслом

Фокус должен переходить по элементам в логичном порядке: сверху вниз, слева направо, как читается страница. Обычно это обеспечивается порядком элементов в HTML. Проблемы начинаются, когда визуальный порядок расходится с порядком в коде (элемент переставлен стилями) или когда в вёрстку добавляют tabindex с положительными числами, пытаясь «управлять» обходом вручную, — почти всегда это ломает естественный порядок. Правило простое: держите логичный порядок в разметке, используйте tabindex="0" только чтобы включить в обход нестандартный элемент и tabindex="-1" чтобы программно ставить фокус (например, в модалке), и избегайте положительных значений tabindex.

Не создавайте ловушек фокуса

«Ловушка фокуса» — ситуация, когда фокус попал в элемент и не может из него выйти клавиатурой (частая беда самодельных модалок и виджетов). Внутри модального окна фокус, наоборот, полезно временно «запереть» (пока оно открыто, Tab ходит только по нему), но с обязательным выходом по Esc и возвратом фокуса на кнопку, которая окно открыла. А вот на обычной странице никаких ловушек быть не должно: из любого элемента фокус должен свободно двигаться дальше.

Контраст текста и размер шрифта

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

WCAG задаёт конкретные ориентиры по контрасту для уровня AA:

ЧтоМинимальный контраст (AA)Комментарий
Обычный текстне ниже 4,5:1Основная масса текста: описания, характеристики, подписи
Крупный текстне ниже 3:1Примерно от 18pt, или от 14pt полужирного — заголовки, цены
Интерфейс и графикане ниже 3:1Границы полей, иконки-действия, элементы, несущие смысл
Контраст текста: плохо и хорошо Плохо Купить смеситель 2 490 ₽ — в наличии В корзину контраст ниже 4,5:1 — не читается Хорошо Купить смеситель 2 490 ₽ — в наличии В корзину контраст ≥ 4,5:1 — читается легко
Схема: слева бледный текст на белом фоне не дотягивает до нужного контраста, справа тёмный текст на светлом фоне читается уверенно и людьми со сниженным зрением.

Ещё несколько правил, тесно связанных с контрастом и шрифтом:

Проверяют контраст не на глаз, а инструментами: контраст-чекерами и автоаудитами (Lighthouse, axe), которые считают соотношение точно. Глаз дизайнера на хорошем откалиброванном мониторе — плохой судья: то, что ему кажется «нормальным серым», на бюджетном телефоне под солнцем исчезает.

Alt для изображений и текстовые альтернативы

Скринридер не видит картинку — он читает её alt (текстовую альтернативу из атрибута alt). В интернет-магазине изображений очень много: фото товаров, баннеры, иконки, логотипы, схемы. Правильные alt-тексты делают их доступными и попутно помогают SEO (поисковик тоже «читает» alt).

Как писать alt в магазине:

Отдельная тема — другие текстовые альтернативы. К видеообзорам товаров нужны субтитры (для людей с нарушением слуха и для тех, кто смотрит без звука) и, в идеале, текстовая расшифровка. У сложных схем и инфографики должно быть текстовое описание рядом или в подписи. Аудиоконтент (если есть) сопровождают текстом. Смысл один: любая невизуальная информация должна иметь текстовый эквивалент.

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

Доступные формы и подписи полей

Формы — сердце магазина: поиск, фильтр, добавление в корзину, регистрация, а главное — оформление заказа. Недоступная форма означает, что человек не может купить, даже если очень хочет. Основа доступной формы — правильные подписи (label).

Ключевые правила доступных форм:

Особое внимание — форме оформления заказа. Чем она короче и понятнее, тем доступнее: каждое лишнее поле — это лишний барьер для всех, а для человека со скринридером или без мыши — вдвойне. Убирайте необязательное, не заставляйте регистрироваться до покупки, подставляйте данные автозаполнением. Доступный checkout и удобный checkout — это, по сути, одно и то же.

Доступные ошибки и валидация

Отдельно стоит разобрать, как форма сообщает об ошибках — это частая точка провала доступности. Представьте: человек заполнил заказ, нажал «Оформить», а форма молча не отправилась или где-то наверху появилась красная надпись, которую пользователь скринридера или клавиатуры не заметил. Заказ потерян.

Как сделать ошибки доступными:

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

Доступные модальные окна

Модальные окна (диалоги) в магазине повсюду: быстрый просмотр товара, форма обратного звонка, «товар добавлен в корзину», подтверждение, вход. Самодельные модалки — один из главных источников проблем доступности, потому что нативного тега «модальное окно», работающего идеально, исторически не было, и их собирают вручную.

Что делает модалку доступной:

Если стоит выбор между самодельной модалкой и проверенным компонентом, почти всегда лучше взять готовое доступное решение или, где возможно, нативный элемент <dialog>, который берёт часть этой работы на себя. Свою модалку с нуля легко сделать красивой, но недоступной.

Доступное меню и выпадающие списки

Навигация магазина — это меню, часто многоуровневое, с выпадениями каталога. Доступность здесь ломается двумя классическими способами: меню работает только по наведению (hover) и меню собрано на div без клавиатуры.

Тот же принцип касается аккордеонов (характеристики, FAQ, разделы мобильного меню): кнопка-заголовок с aria-expanded, содержимое раскрывается по клику и с клавиатуры, состояние объявляется скринридеру. Хорошая новость: если делать меню на семантике (ссылки, кнопки, списки) и добавить пару ARIA-атрибутов состояния, оно становится доступным почти без дополнительных усилий.

Доступная карусель и галерея товара

Карусели (слайдеры баннеров) и галереи фото товара — красивый, но проблемный с точки зрения доступности элемент. Типичные беды: слайды переключаются только свайпом или мышью, автопрокрутка нельзя остановить, а точки-индикаторы не работают с клавиатуры.

Часто самый доступный вариант — вообще отказаться от сложной автокарусели баннеров в пользу статичного блока или простой галереи с явными кнопками. Автослайдер редко приносит столько пользы, сколько создаёт проблем — и с доступностью, и со скоростью, и с конверсией.

Доступный умный фильтр каталога

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

Про мобильную специфику фильтра-шторки, sticky-панелей и тап-зон мы подробно писали в материале про мобильную версию магазина на 1С-Битрикс — доступность и мобильный UX тут почти полностью совпадают: крупные цели, работа без наведения, предсказуемое поведение полезны всем.

«Версия для слабовидящих»: когда нужна и её ограничения

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

Когда она действительно нужна

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

В чём её ограничения

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

Гораздо надёжнее и дешевле в поддержке — делать доступным сам основной сайт: достаточный контраст в базовой теме, масштабируемый шрифт в относительных единицах, семантику, поддержку клавиатуры, alt и подписи. Тогда слабовидящему часто вообще не нужен отдельный режим (он увеличит страницу штатными средствами браузера/ОС), незрячий пользуется скринридером, а человек без мыши — клавиатурой. «Версия для слабовидящих» в этом случае становится приятным дополнением там, где она требуется, а не фиговым листком, за которым прячут недоступный магазин.

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

Доступность в компонентах Битрикса и кастоме

Теперь о том, как всё это ложится на 1С-Битрикс. Хорошая новость: типовые компоненты и решения уже используют формы, ссылки и кнопки, поэтому базовая доступность в них присутствует. Плохая новость: кастомные доработки и «дизайнерская» вёрстка часто эту доступность ломают. Разберём по слоям.

Где обычно всё в порядке

Штатные компоненты каталога (catalog.section, catalog.element), корзины (sale.basket.basket), оформления (sale.order.ajax), форм и поиска в основе используют семантические теги: настоящие ссылки на товары, поля с подписями, кнопки. Пока вы не переопределяете их вёрстку на div-суп, базовая доступность и клавиатурная навигация в них работают.

Где обычно ломается

Как правильно внедрять доступность в Битриксе:

  1. Не трогайте ядро — работайте в шаблонах. Все правки делайте на уровне шаблонов компонентов (template.php) и стилей, а не в самих компонентах — так проще обновлять платформу и не ломать корзину с оформлением.
  2. Проверьте семантику шаблонов. Убедитесь, что кнопки — это button, ссылки — a, списки — списки, заголовки идут по иерархии, а не «на глаз» размером шрифта.
  3. Наведите порядок в теме. Контраст текста и элементов до нужного уровня, видимый фокус (:focus-visible), относительные единицы шрифта, отказ от кодирования смысла только цветом.
  4. Добавьте alt из инфоблоков. Соберите alt фото товаров из названия и свойств прямо в шаблоне каталога и карточки.
  5. Доведите виджеты. Модалки, меню, слайдеры, фильтр — роли, управление фокусом, клавиатура, aria-expanded, паузы автопрокрутки.
  6. Проверьте формы и ошибки. Подписи label, правильные типы полей, autocomplete, доступные сообщения об ошибках у полей.
  7. Прогоните тестами. Клавиатура, скринридер, автоаудит — по ключевым страницам (каталог, карточка, корзина, оформление).

Если магазин большой и кастома много, доступность разумно закладывать как часть разработки интернет-магазина на 1С-Битрикс — тогда семантика, клавиатура и контраст встроены с самого начала, а не «прикручиваются» потом ценой переделок.

Тестирование доступности

Доступность, как и скорость, нельзя «сделать на глаз» — её проверяют. Причём в три слоя, потому что ни один инструмент по отдельности не даёт полной картины.

1. Клавиатура — самый быстрый тест

Отложите мышь и пройдите ключевой сценарий «каталог → карточка → корзина → оформление заказа» только с клавиатуры: Tab/Shift+Tab для перехода, Enter/пробел для нажатия, стрелки внутри списков, Esc для закрытия. Отмечайте проблемы: куда нельзя попасть Tab'ом, где не видно фокуса, где он «застревает» в ловушке или уводит в невидимые элементы, где skip-link отсутствует. Этот тест не требует инструментов и вылавливает большинство грубых нарушений за десять минут.

2. Скринридер — как это слышат

Включите скринридер и послушайте страницу. На технике Apple это встроенный VoiceOver, на Windows — бесплатный NVDA или встроенный «Экранный диктор». Пройдите по заголовкам, ссылкам, кнопкам, полям, картинкам и оцените: понятно ли, что это за элемент; объявляются ли кнопки как кнопки; читаются ли alt у фото; понятны ли подписи полей и сообщения об ошибках; не засоряют ли декоративные картинки озвучку. Скринридер показывает сайт «ушами» — совсем иначе, чем глазами, и обнажает проблемы, невидимые визуально.

3. Автоаудит — массовая проверка

Автоматические инструменты быстро находят частые формальные ошибки на многих страницах:

Важно про автоматику: инструменты проверяют лишь часть критериев WCAG — примерно те, что видны в коде (нет alt, низкий контраст, дубли id). Они не оценят, логичен ли порядок фокуса, осмысленны ли alt-тексты, удобно ли пользоваться модалкой с клавиатуры. Поэтому автоаудит — это первый слой, а не финальная проверка. «Зелёный Lighthouse» ещё не означает «доступный сайт».

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

Доступность, SEO и мобильная версия

Доступность не существует в вакууме — она тесно переплетена с двумя другими важными для магазина темами: SEO и мобильным UX. И это отличная новость, потому что усилия окупаются трижды.

Общий фундамент с SEO

Поисковый робот воспринимает страницу похоже на скринридер: он не видит картинку и интерфейс «на глаз», а читает разметку. Поэтому многое из доступности — это одновременно и техническое SEO:

Как выстроить эту семантическую основу системно, мы разбираем в материале про технический SEO-аудит магазина на 1С-Битрикс — многие пункты там дословно совпадают с чек-листом доступности.

Общие цели с мобильной версией и скоростью

Мобильный UX и доступность совпадают почти полностью: крупные зоны нажатия помогают и людям с моторными нарушениями, и всем на телефоне; работа без наведения (hover) обязательна и на сенсорном экране, и для клавиатуры; отсутствие скачков вёрстки (CLS) полезно и незрячим со скринридером, и зрячим, целящимся в кнопку. А быстрый, лёгкий сайт с предсказуемым поведением удобнее для всех, включая пользователей вспомогательных технологий. Про метрики скорости и стабильности, которые тут пересекаются с доступностью, мы писали в материале про Core Web Vitals интернет-магазина.

Вывод простой: доступность — это не «ещё одна задача поверх остальных», а во многом та же работа, что и качественное SEO и мобильный UX, но взятая под другим углом. Сделав сайт доступным, вы попутно улучшаете его для поиска и для мобильных покупателей.

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

Проблемы доступности кочуют из проекта в проект. Вот те, что встречаются чаще всего, — и которых легко избежать, если знать о них заранее.

Мини-FAQ. С чего начать, если ресурсов мало? С двух дешёвых и мощных шагов: заменить все псевдокнопки на настоящие button/a (это разом чинит клавиатуру и скринридер) и привести в порядок контраст и видимый фокус в теме. Дальше — alt у товаров и подписи форм. Эти меры закрывают большинство барьеров без переписывания сайта.

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

Сведём всё в практический список, по которому удобно принимать готовность магазина к доступности — перед запуском или после доработки.

ОбластьЧто проверяемХорошо, если
СемантикаТеги по смыслу, иерархия заголовковbutton/a/списки/nav/main, один h1, логичные h2–h3
КлавиатураПроход воронки без мышиВсё достижимо Tab, есть skip-link, нет ловушек фокуса
ФокусВидимость и порядок обходаФокус всегда виден (focus-visible), порядок логичен
Контраст и шрифтЧитаемость текста и элементовТекст ≥4,5:1 (крупный ≥3:1), масштабирование не сломано
ИзображенияТекстовые альтернативыОсмысленные alt, пустой alt у декора, alt-действие у иконок-ссылок
ФормыПодписи, типы, автозаполнениеlabel у полей, верные типы, autocomplete, крупные цели
ОшибкиПонятность и озвучкаОшибка у поля текстом, не только цветом, aria-invalid
МодалкиРоль, фокус, закрытиеrole=dialog, фокус заперт, Esc и крестик, возврат фокуса
МенюНе только hover, состояниеРаботает с клавиатуры, aria-expanded, скрытое недоступно фокусу
КарусельУправление и паузаКнопки-стрелки доступны, автопрокрутку можно остановить
Цвет и смыслНе только цветомНаличие/статус дублируются текстом или значком
Версия для слабовидящихНужна ли и не подменяет ли доступностьОсновной сайт доступен сам, режим — как дополнение
ТестированиеТри слоя проверкиКлавиатура + скринридер + автоаудит по боевым страницам

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

Вывод

Доступность интернет-магазина на 1С-Битрикс — это не благотворительность и не «версия для слабовидящих ради галочки», а свойство сайта, которое расширяет аудиторию, снижает потери в воронке и попутно улучшает SEO и мобильный UX. В её основе лежит понятная и во многом бесплатная работа: семантическая вёрстка (теги по смыслу вместо div-супа), навигация с клавиатуры с видимым фокусом и skip-link, достаточный контраст и масштабируемый шрифт, осмысленные alt и текстовые альтернативы, доступные формы с подписями и понятными ошибками, а также аккуратно доведённые модалки, меню, карусели и фильтр. ARIA при этом — не замена семантике, а добавка поверх неё там, где нативного HTML не хватает.

Ориентир — стандарт WCAG уровня AA с его четырьмя принципами: контент должен быть воспринимаемым, управляемым, понятным и надёжным. В 1С-Битрикс база доступности есть уже в типовых компонентах, а внедрять её правильно — на уровне шаблонов и стилей, не трогая ядро: проверить семантику, навести порядок в контрасте и фокусе, собрать alt из инфоблоков, довести кастомные виджеты и формы. И обязательно протестировать в три слоя — клавиатурой, скринридером и автоаудитом, — потому что «зелёный Lighthouse» ещё не значит «доступный сайт». Сделайте это — и ваш магазин перестанет молча терять уже пришедших покупателей только из-за того, что кнопка сделана из div, а подпись — светло-серым по белому.

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

Что такое веб-доступность (accessibility, a11y) простыми словами?

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

Что такое WCAG и какой уровень нужен интернет-магазину?

WCAG (Web Content Accessibility Guidelines) — международный свод рекомендаций по доступности веб-контента. Он строится на четырёх принципах: контент должен быть воспринимаемым, управляемым, понятным и надёжным. У WCAG три уровня соответствия: A — базовый минимум, AA — практический стандарт, к которому стремится большинство сайтов и на который ссылаются требования во многих странах, AAA — самый строгий, достижимый не для всего контента. Для коммерческого интернет-магазина разумная цель — уровень AA: он охватывает контраст текста, работу с клавиатуры, подписи форм, текстовые альтернативы и предсказуемое поведение интерфейса. Начинать имеет смысл с критериев уровня A, затем закрывать AA, а отдельные требования AAA внедрять там, где это уместно и не ломает бизнес-логику.

Обязательно ли делать «версию для слабовидящих» на сайте?

Отдельная «версия для слабовидящих» — это переключатель, включающий крупный шрифт, высокий контраст и упрощённое оформление. Для части сайтов (например, государственных и социально значимых) такой режим может быть требованием, поэтому его наличие стоит проверять по актуальным нормативам применительно к вашему типу организации. Но важно понимать ограничение: кнопка «для слабовидящих» помогает только тем, кто её увидит и нажмёт, и почти не помогает незрячим со скринридером или людям, управляющим сайтом с клавиатуры. Гораздо надёжнее делать доступным сам основной сайт: достаточный контраст, масштабируемый шрифт, семантику и поддержку клавиатуры. Тогда режим «для слабовидящих» становится приятным дополнением, а не костылём, за которым прячут недоступный магазин.

Почему нельзя делать кнопки и ссылки из обычных div?

Кнопка из тега button и ссылка из тега a получают доступное поведение бесплатно: они попадают в порядок обхода клавиатурой, реагируют на Enter и пробел, объявляются скринридером как «кнопка» или «ссылка», показывают фокус. Обычный div — это просто контейнер: он не фокусируется с клавиатуры, не реагирует на клавиши и озвучивается как безликий текст. Если сделать «кнопку» из div с обработчиком клика, ею смогут пользоваться только те, у кого есть мышь, а для клавиатуры и скринридера она станет невидимой ловушкой. Поэтому правило простое: для действий используйте button, для переходов — a со ссылкой в href, а не имитируйте интерактив на div и span. Это самый дешёвый способ разом закрыть множество проблем доступности.

Какой контраст текста считается достаточным по WCAG?

По уровню AA обычный текст должен иметь контраст с фоном не ниже 4,5:1, а крупный текст (примерно от 18 пунктов или от 14 пунктов полужирного) — не ниже 3:1. Для интерфейсных элементов и графики, несущих смысл (границы полей, иконки-действия), ориентир — контраст не ниже 3:1. Смысл требования в том, чтобы текст читался людьми со сниженной контрастной чувствительностью, при ярком свете и на недорогих экранах. Светло-серый текст на белом фоне, бледные подписи и «водянистые» плейсхолдеры — частая причина провала по контрасту. Проверяют его специальными инструментами (контраст-чекерами и аудитами вроде axe или Lighthouse), а не на глаз, потому что глаз дизайнера на хорошем мониторе обманчив.

Как связаны доступность и SEO интернет-магазина?

У доступности и технического SEO общий фундамент — понятная семантическая структура страницы. Поисковый робот, как и скринридер, «не видит» картинку и не понимает интерфейс «на глаз»: он опирается на теги, заголовки, текстовые альтернативы и подписи. Поэтому работа над доступностью почти всегда улучшает и SEO: один заголовок h1 и логичная иерархия h2–h3, осмысленные alt у изображений, текстовые ссылки вместо картинок-кнопок, корректные подписи форм, понятные тексты ссылок вместо «подробнее». Кроме того, доступность тесно связана с мобильным UX и Core Web Vitals: крупные зоны нажатия, отсутствие скачков вёрстки и предсказуемое поведение полезны всем. Отдельного «поискового бонуса за доступность» ждать не стоит, но качественная семантика и удобство — это то, что ценят и люди, и поисковые системы.

Можно ли сделать типовой магазин на 1С-Битрикс доступным или нужен полный переписанный шаблон?

В большинстве случаев переписывать всё не нужно. Типовые решения и компоненты 1С-Битрикс уже используют формы, ссылки и кнопки, а доступность добавляется на уровне шаблонов компонентов и стилей: правильные теги вместо div, подписи полей через label, alt у изображений товаров из свойств инфоблока, видимый фокус, достаточный контраст в теме оформления, корректные ARIA-атрибуты у меню, модалок и фильтра. Проблемы обычно возникают в кастомных доработках — самодельных выпадающих меню, модальных окнах, каруселях и «умных» фильтрах, собранных на div. Их и приходится доводить до ума в первую очередь. То есть путь к доступному магазину на Битриксе — это чаще аккуратная правка шаблонов и кастома, а не разработка сайта с нуля.

Как проверить доступность магазина без специальных знаний?

Начать можно с трёх простых проверок, которые под силу любому. Первая — пройти ключевой сценарий «каталог → карточка → корзина → оформление заказа», используя только клавиатуру: Tab для перехода между элементами, Enter и пробел для нажатия, стрелки внутри списков. Если куда-то нельзя попасть или не видно, где сейчас фокус, — это проблема. Вторая — включить встроенный скринридер (VoiceOver на технике Apple, NVDA на Windows) и послушать, как озвучиваются кнопки, ссылки, картинки и поля формы. Третья — прогнать страницы через автоматический аудит: вкладку Lighthouse в браузере или расширение axe DevTools; они находят частые ошибки — низкий контраст, отсутствие alt и подписей, неправильную структуру заголовков. Автоматика ловит не всё, но в связке с проверкой клавиатурой и скринридером даёт честную картину и список первоочередных доработок.

Поделиться:

Хотите магазин, доступный для всех покупателей?

Проведём аудит доступности и UX: пройдём воронку с клавиатуры и скринридером, найдём барьеры, приведём в порядок семантику, фокус, контраст, alt и формы — на уровне шаблонов 1С-Битрикс, без вреда обновлениям и скорости.

Редакция B2Bsite

Редакция студии B2Bsite. С 2014 года команда проектирует и развивает интернет-магазины на 1С-Битрикс: каталог, карточку товара, корзину и оформление заказа, повышая конверсию, скорость и доступность для среднего и крупного бизнеса.

← Все статьи блога