БесплатноБесплатный прототип ключевой страницы и черновик ТЗ при старте проекта

Доступность и семантическая вёрстка карточки товара

Доступная и семантичная вёрстка карточки товара в шаблоне 1С-Битрикс: теги, alt, фокус, ARIA

Незрячий пользователь со скринридером доходит до карточки товара, слышит «изображение image-4837, ссылка, ссылка, ссылка» и не понимает, ни что это за товар, ни как положить его в корзину. А человек, который пользуется только клавиатурой, нажимает Tab и обнаруживает, что кнопка «Купить» просто недосягаема. Оба клиента готовы платить — но интерфейс их не пускает.

Эта статья — практическое руководство по доступной и семантичной вёрстке карточки товара в шаблоне 1С-Битрикс: какие теги использовать, как заполнять alt, где нужна ARIA, как обеспечить навигацию с клавиатуры и не сломать структуру заголовков. Доступность — часть качественной фронтенд-разработки, которую мы закладываем в проектах по автоматизации и разработке на 1С.

Коротко

  • Доступность улучшает интерфейс для всех: клавиатура, мобильные, поисковые роботы, а не только для людей с ограничениями.
  • Сначала нативная семантика (button, a, h1, table), потом ARIA — и только там, где нативных тегов не хватает.
  • Один h1 на страницу, осмысленный alt, настоящие кнопки для действий и видимый фокус на всех элементах.
  • Кастомные блоки шаблонов 1С-Битрикс (SKU, галерея) нужно проверять вручную клавиатурой и скринридером.

Почему доступность выгодна магазину

Доступность (a11y) часто воспринимают как узкую заботу о небольшой группе пользователей. На деле она улучшает интерфейс сразу для всех. Семантичная вёрстка понятнее поисковым роботам, а значит, работает на SEO. Корректная навигация с клавиатуры ускоряет работу опытных пользователей. Хороший контраст спасает на ярком солнце, а логичная структура — в шумной обстановке или при временной травме руки.

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

Семантика прежде всего

Фундамент доступности — правильные HTML-теги. Нативный элемент уже несёт смысл и поведение, понятные и браузеру, и вспомогательным технологиям. Кнопка — это button, ссылка — это a, список характеристик — ul или dl, таблица характеристик — table с заголовками.

Элемент карточкиПравильный тегЧастая ошибка
Наименование товараh1Просто крупный div
Кнопка «В корзину»buttondiv с onclick
Переход в разделa hrefspan с обработчиком
Характеристикиtable или dlНабор div со стилями
Хлебные крошкиnav с olЦепочка span

Когда семантика на месте, скринридер объявляет элементы правильно, а клавиатурная навигация работает из коробки. Это экономит массу ARIA-костылей, которые иначе пришлось бы навешивать. Именно поэтому доступность начинают с ревизии тегов, а не с добавления атрибутов.

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

Иерархия заголовков карточки

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

В 1С-Битрикс за структуру заголовков отвечает не только шаблон карточки, но и вложенные компоненты. Блоки рекомендаций, отзывов или похожих товаров легко выводят собственные h1 или h2, ломая иерархию. Это стоит проверять при сборке страницы из компонентов.

Изображения и alt

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

Правила простые, но их часто нарушают:

В 1С-Битрикс alt удобно генерировать из наименования товара и свойств прямо в шаблоне, а не полагаться на имя загруженного файла. Хороший alt помогает и незрячим пользователям, и поиску картинок.

Кнопки, ссылки и действия

Самое частое и самое дорогое нарушение — интерактивные элементы, свёрстанные не теми тегами. Кнопка «В корзину», сделанная из div с обработчиком клика, недоступна с клавиатуры и не объявляется как кнопка. Покупатель, который не пользуется мышью, не сможет купить товар.

Разграничение простое: если элемент выполняет действие на текущей странице (добавить в корзину, открыть попап) — это button; если ведёт на другую страницу — это ссылка a. Нативные элементы получают фокус, срабатывают по Enter и пробелу и правильно объявляются. Ключевые действия карточки — в корзину, купить, в избранное, сравнение — обязаны быть настоящими интерактивными элементами, а не стилизованными блоками.

Действие — это button, переход — это ссылка. Никаких div с onclick для кнопки «Купить». От этого зависит, сможет ли часть покупателей вообще оформить заказ с клавиатуры.

Выбор торговых предложений

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

Доступный подход — использовать нативные радиокнопки либо элементы с корректной ролью и состоянием выбранного, сгруппированные с подписью группы (через fieldset и legend или aria-label). В 1С-Битрикс блок SKU почти всегда верстается кастомно: цветные плашки, свотчи, кнопки размеров. Именно поэтому его доступность нужно проверять отдельно — из коробки семантики выбора там обычно нет, её добавляют осознанно.

Навигация с клавиатуры и фокус

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

  1. Все интерактивные элементы достижимы. Кнопки, ссылки, поля, выбор вариантов доступны через Tab.
  2. Логичный порядок обхода. Фокус движется сверху вниз и слева направо, без хаотичных прыжков.
  3. Видимый фокус. Элемент в фокусе явно выделен — контур или подсветка, а не убранный ради эстетики outline.
  4. Ловушки фокуса контролируются. В попапах (быстрый просмотр, галерея) фокус заперт внутри и возвращается назад при закрытии.

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

ARIA там, где она нужна

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

Где ARIA действительно уместна на карточке:

Во всех этих случаях речь о том, чего нет в нативной семантике. Если же элемент можно сделать нативным тегом — делают его, а не имитируют ролью через ARIA.

Контраст, размеры и мобильные

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

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

Особенности шаблонов 1С-Битрикс

Стандартные компоненты 1С-Битрикс дают базовую разметку, но доступность из коробки в них не гарантирована, а кастомные шаблоны легко её ломают. На что смотреть в первую очередь:

Если карточка требует глубокой доработки шаблонов и логики, это уже задача уровня разработки компонентов — подходы мы разбираем в статьях про разработку модуля Битрикс и работу с данными через D7 ORM, а вопросы окружения и производительности шаблонов — в материале про хостинг и инфраструктуру BitrixVM.

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

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

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

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

Чек-лист внедрения

  1. Семантика выверена. Кнопки — button, ссылки — a, характеристики — таблица или список.
  2. Один h1 и чистая иерархия. Наименование — единственный h1, уровни заголовков без пропусков.
  3. Alt осмысленный. Изображения описаны по товару, декоративные — с пустым alt.
  4. Действия доступны. В корзину, купить и выбор варианта работают с клавиатуры и объявляются.
  5. Фокус виден. Каждый интерактивный элемент имеет заметный стиль фокуса.
  6. ARIA к месту. Роли и состояния добавлены только там, где нет нативной семантики.
  7. Проверено вручную. Карточка пройдена клавиатурой и скринридером, контраст достаточный.

Вывод

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

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

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

Зачем интернет-магазину доступность, если основная аудитория без ограничений?

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

Что важнее для карточки товара — семантика или ARIA-атрибуты?

Сначала семантика, потом ARIA. Правильный нативный тег (button, a, h1, ul, table) уже несёт смысл и поведение, понятные скринридеру и браузеру. ARIA нужна там, где нативной семантики не хватает: для кастомных компонентов, состояний, живых регионов. Главное правило доступности: не использовать ARIA, если задачу решает нативный элемент. Избыток или неверная ARIA вредит сильнее, чем её отсутствие, потому что вводит вспомогательные технологии в заблуждение.

Сколько заголовков h1 должно быть на странице товара?

Один. h1 карточки товара — это, как правило, наименование товара, и он должен быть единственным на странице. Дальше идёт логичная иерархия h2, h3 без пропусков уровней: характеристики, описание, отзывы. В шаблонах 1С-Битрикс важно проследить, чтобы компоненты не выводили лишние h1 (например, в блоках рекомендаций), иначе структура заголовков ломается и для скринридеров, и для SEO.

Как правильно заполнять alt у изображений товара?

Alt должен описывать, что изображено, коротко и по делу: наименование товара, ракурс или цвет, если это важно. Для чисто декоративных изображений alt оставляют пустым, чтобы скринридер их пропускал. В 1С-Битрикс alt удобно генерировать из наименования товара и свойств, а не оставлять пустым или дублировать имя файла. Плохой alt (например, имя файла с цифрами) бесполезен для незрячих пользователей и не помогает SEO.

Можно ли верстать кнопку «В корзину» тегом div?

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

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

Выбор варианта — это, по сути, группа переключателей. Доступный вариант — использовать нативные радиокнопки или элементы с корректной ролью и состоянием выбранного, сгруппированные с подписью (например, через fieldset и legend или aria-label группы). Каждый вариант должен получать фокус, переключаться с клавиатуры и объявлять своё состояние. В 1С-Битрикс блок SKU часто верстают кастомно, поэтому доступность выбора предложений нужно проверять отдельно.

Чем проверять доступность карточки товара?

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

Поделиться:

Нужна доступная и семантичная карточка товара?

Приведём вёрстку карточки к семантике и доступности, проверим клавиатуру и скринридер. Разберём ваш шаблон и предложим план доработки.

Разработка на 1С

Игорь Воскресенский

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

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