Проект для обсуждения. Редакция 0.2. Сентябрь 2026 года

Карта автоматизируемости WCAG 2.2 A/AA

Версия движка проверки: axe-core 4.13.0. Всего критериев: 55 (A: 31, AA: 24). Задействовано правил движка: 63.

Итог по автоматизируемости: полностью - 0, частично - 20, вручную - 35.

Правила классификации

  • «вручную»: ни одно действующее (не experimental и не мертвое deprecated) правило движка с тегом критерия не найдено.
  • «частично»: правила есть, но покрывают только часть условий критерия; конкретный остаток указан в столбце «Что остается человеку».
  • «полностью»: применяется только если все проверяемые условия критерия программно определимы без участия человека. В этой сборке такому условию не удовлетворяет ни один критерий (см. расхождения ниже).
  • can_prove для всех частично автоматизируемых критериев в этой сборке равен «нарушение»: автоматический pass означает лишь отсутствие найденной ошибки, а не доказанное прохождение критерия.

Расхождения с прежней оценкой

Прежняя экспертная оценка одним прочтением (без проверки по движку) дала итог: полностью 3 (3.1.1, 2.4.2, 1.4.3), частично 20, вручную 32. Проверка по фактическим тегам axe-core 4.13.0 дала: полностью 0, частично 20, вручную 35.

  • 3.1.1 Язык страницы. Правила html-has-lang/html-lang-valid/html-xml-lang-mismatch проверяют присутствие и синтаксическую валидность атрибута lang, но не то, что заявленный язык совпадает с фактическим языком контента. Итог: частично, не полностью.
  • 2.4.2 Заголовок страницы. Правило document-title проверяет только присутствие непустого <title>, а не описательность заголовка относительно темы или назначения страницы. Итог: частично, не полностью.
  • 1.4.3 Контраст, минимум. Правило color-contrast надежно ловит нарушение при однозначно определимых сплошных цветах, но на фоне-изображении, градиенте или при полупрозрачности возвращает incomplete, а не прохождение. Итог: частично, не полностью.
  • Общее число «частично» в этой сборке (20) получено независимо от прежней оценки (по реальным тегам axe-core), поэтому состав множества «частично» отличается от прежнего даже там, где итоговое число совпадает: часть прежних «частично» здесь оказались «вручную» (например, при более строгой проверке enabled/experimental-статуса правил), а три прежних «полностью» перешли в «частично».
  • Правила движка axe-core с тегом упраздненного критерия 4.1.1 (wcag411): duplicate-id, duplicate-id-active. Они не привязаны ни к одному критерию реестра.

Таблица (55 строк)

Критерий Уровень Автоматизация Правила движка Что проверяет автомат Что остается человеку
1.1.1 Нетекстовый контент A частично aria-meter-name, aria-progressbar-name, image-alt, input-image-alt, object-alt, role-img-alt, svg-img-alt Наличие и непустоту доступного имени у <img>, <input type=image>, <object>, [role=img]/[role=image], <svg role=img>, ARIA meter и progressbar. Смысловое соответствие альтернативы назначению или информации объекта, разграничение декоративного и содержательного, качество альтернативы CAPTCHA, карт и сенсорных объектов, полнота длинных описаний диаграмм.
1.2.1 Только аудио и только видео, запись A вручную - Ничего: непустого действующего правила с тегом этого критерия в axe-core 4.13.0 нет. Вся применимость критерия: сопоставление записанного аудио/видео без второй дорожки с текстовой альтернативой той же информации.
1.2.2 Субтитры, запись A частично video-caption Наличие дорожки субтитров (<track kind="captions">) у элемента <video>. Полнота и синхронность субтитров, передачу говорящих и значимых неречевых звуков, субтитры вне тега <video> (сторонние плееры, встраиваемые виджеты).
1.2.3 Аудиоописание или медиальтернатива, запись A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Определение значимой визуальной информации, не переданной звуком, и проверку аудиоописания либо последовательной медиальтернативы.
1.2.4 Субтитры, прямой эфир AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Наблюдение прямого эфира и сопоставление живых субтитров со звуком в реальном времени.
1.2.5 Аудиоописание, запись AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Определение значимых визуальных событий и проверку их передачи аудиоописанием.
1.3.1 Информация и отношения A частично aria-hidden-body, aria-required-children, aria-required-parent, definition-list, dlitem, list, listitem, td-headers-attr, th-has-data-cells Формальную структурную корректность списков (<ul>/<ol>/<li>), определений (<dl>/<dt>/<dd>), обязательных ARIA родитель-потомок отношений, aria-hidden на <body>, связку заголовков и ячеек таблиц данных (td[headers], th с соответствующими данными). Смысловую группировку (fieldset/legend, области по назначению), совпадение визуально воспринимаемых отношений с программной структурой там, где формальная разметка технически валидна, но не отражает смысл.
1.3.2 Значимая последовательность A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Сравнение осмысленного визуального порядка с программным порядком чтения.
1.3.3 Сенсорные характеристики A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Поиск инструкций, зависящих только от формы, цвета, размера, положения или звука, и проверку наличия несенсорного идентификатора.
1.3.4 Ориентация AA вручную - Ничего: применимое правило исключено из классификации (см. rationale). Проверку работы функции в книжной и альбомной ориентации на реальном/эмулируемом устройстве.
1.3.5 Назначение полей ввода AA частично autocomplete-valid Синтаксическую корректность значения атрибута autocomplete по спецификации HTML. Соответствие выбранного токена реальному смыслу поля и фактическое распознавание менеджером паролей/пользовательским агентом.
1.4.1 Использование цвета A частично link-in-text-block Отличимость ссылки внутри текстового абзаца от окружающего текста не только по цвету. Все остальные случаи цветового кодирования: состояния элементов, графики, ошибки, легенды, обязательные поля.
1.4.2 Управление аудио A частично no-autoplay-audio Факт автозапуска <audio>/<video> с autoplay без mute в разметке. Фактическую длительность автозвука свыше 3 секунд и наличие независимого от общей громкости контроля паузы/остановки/громкости.
1.4.3 Контраст, минимум AA частично color-contrast Вычисление отношения контраста текста к фону и его сопоставление с порогом 4.5:1/3:1 там, где цвета фона и текста однозначно определимы. Случаи, где color-contrast возвращает incomplete: фон-изображение, градиенты, полупрозрачность, перекрывающие элементы; применимость исключений (логотип, неактивный элемент, изображение текста).
1.4.4 Изменение размера текста AA частично meta-viewport Отсутствие блокирующих zoom значений meta viewport (user-scalable=no, ограничивающий maximum-scale). Фактическое поведение интерфейса при масштабе 200%: обрезку, наложение, недоступные элементы, диалоги и сообщения.
1.4.5 Изображения текста AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Определение, является ли изображение текстом, который можно было представить текстом, и применимость исключений (логотип, существенность представления).
1.4.10 Перестроение AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Эмуляцию viewport 320 CSS px (или 400% при ширине 1280 px) и визуальный поиск двумерной прокрутки и потери содержимого.
1.4.11 Нетекстовый контраст AA вручную - Ничего: в axe-core 4.13.0 нет отдельного правила с тегом критерия 1.4.11. Измерение контраста произвольных границ, индикаторов состояния и значимых графических объектов к соседним цветам.
1.4.12 Интервалы текста AA частично avoid-inline-spacing Инлайновые стили (в т.ч. с !important) на line-height/letter-spacing/word-spacing/margin, мешающие переопределить их пользовательским CSS. Фактический результат одновременного применения всех четырех параметров критерия: обрезку, наложение и скрытие содержимого или функции.
1.4.13 Содержимое при наведении или фокусе AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Проверку dismissible, hoverable и persistent реальным наведением и фокусом.
2.1.1 Клавиатура A частично frame-focusable-content, scrollable-region-focusable, server-side-image-map Отдельные технические антипаттерны: tabindex=-1 на фрейме с фокусируемым содержимым, прокручиваемая область без клавиатурного доступа, использование серверной image map. Полное прохождение каждой функции клавиатурой (Tab/Shift+Tab/Enter/Space/стрелки), кастомные виджеты и обработчики, реагирующие только на мышь или касание.
2.1.2 Нет клавиатурной ловушки A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Попытку вывести фокус из каждого фокусируемого компонента стандартным или документированным способом.
2.1.4 Одноклавишные сочетания A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Проверку каждого одноклавишного сочетания вне и внутри целевого компонента и наличие механизма отключения/переназначения/ограничения фокусом.
2.2.1 Настраиваемое ограничение времени A частично meta-refresh Наличие meta http-equiv="refresh" с задержкой менее 20 часов. Прочие источники ограничений времени (скрипты, серверные сессии), фактическое наличие настройки/продления/предупреждения за 20 секунд и применимость исключений real-time/essential/20 часов.
2.2.2 Пауза, остановка, скрытие A частично blink, marquee Использование устаревших тегов <blink> и <marquee>. Современные CSS/JS-анимации, карусели, тикеры и автообновляемые блоки, а также наличие управления паузой/остановкой/скрытием - основную массу применимости критерия.
2.3.1 Три вспышки или ниже порога A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Покадровый анализ видео на пороги общей и красной вспышки за любую секунду.
2.4.1 Обход блоков A частично bypass Наличие хотя бы одного технического механизма обхода повторяющихся блоков (skip-ссылка, landmark, заголовок в начале содержимого). Фактическую работоспособность механизма (перевод фокуса действительно достигает основного содержимого) и повторяемость блока на второй странице набора.
2.4.2 Заголовок страницы A частично document-title Наличие непустого элемента <title>. Описательность заголовка относительно темы или назначения страницы и его обновление при навигации в одностраничном приложении.
2.4.3 Порядок фокуса A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Прохождение фокусом вперед и назад по всем элементам и оценку сохранения смысла и управляемости.
2.4.4 Назначение ссылки в контексте A частично area-alt, link-name Наличие непустого доступного имени у ссылок и активных областей image map. Понятность назначения именно из текста или программно связанного контекста: непустое, но неинформативное имя вроде "подробнее" пройдет проверку правилом, но может провалить критерий.
2.4.5 Несколько способов AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Сопоставление минимум двух способов найти страницу на уровне всего набора страниц (навигация, поиск, карта сайта, связанные ссылки).
2.4.6 Заголовки и подписи AA вручную - Ничего: применимое правило исключено из классификации (см. rationale). Оценку описательности заголовков разделов и подписей элементов управления по смыслу.
2.4.7 Видимый фокус AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Визуальную проверку видимого индикатора фокуса при реальном табулировании по всем фокусируемым элементам, включая кастомные компоненты.
2.4.11 Фокус не закрыт, минимум AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Проверку перекрытия компонента липкими шапками/подвалами, баннерами и диалогами в разных viewport при реальном получении фокуса.
2.5.1 Указательные жесты A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Выполнение многоточечных и траекторных жестов на сенсорном устройстве и поиск одноточечной альтернативы.
2.5.2 Отмена указателя A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Эмуляцию событий down/up с уходом указателя за пределы элемента и проверку момента фактического срабатывания действия.
2.5.3 Подпись в имени A вручную - Ничего: применимое правило исключено из классификации (см. rationale). Сравнение видимой подписи с вычисленным доступным именем и проверку голосовой команды.
2.5.4 Управление движением A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Физическое движение устройством и проверку наличия альтернативного элемента управления и возможности отключить реакцию на движение.
2.5.7 Перетаскивание AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Выполнение drag-операции и проверку достижимости того же результата одноуказательной альтернативой.
2.5.8 Размер цели, минимум AA частично target-size Измерение геометрии интерактивных целей (высоту, ширину, положение соседей) и сопоставление с порогом 24x24 CSS px там, где размеры и соседство однозначно вычислимы из рендера. Случаи, где правило возвращает incomplete из-за неоднозначного соседства, перекрытия или inline-контекста, и применимость исключений equivalent/inline/user-agent control/essential.
3.1.1 Язык страницы A частично html-has-lang, html-lang-valid, html-xml-lang-mismatch Наличие атрибута lang на <html>, его синтаксическую валидность по BCP 47 и совпадение значений lang и xml:lang. Соответствие заявленного языка фактическому основному языку содержимого страницы: правило не читает и не распознает язык текста, поэтому lang="en" на русскоязычной странице его пройдет.
3.1.2 Язык частей AA частично valid-lang Синтаксическую валидность значения lang у элементов, отличного от корневого языка. Обнаружение самих иноязычных фрагментов без разметки lang (правило не находит непомеченные фрагменты) и применимость исключений (имена, термины, заимствования).
3.2.1 При фокусе A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Перевод фокуса на каждый компонент без активации и наблюдение, вызывает ли это смену контекста по определению WCAG.
3.2.2 При вводе A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Изменение каждого значения компонента без отдельной активации и наблюдение за сменой контекста и предупреждением до использования.
3.2.3 Последовательная навигация AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Сравнение относительного порядка повторяющихся механизмов навигации минимум на двух страницах набора.
3.2.4 Последовательная идентификация AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Сравнение идентификации одинаковых по функции компонентов на разных страницах набора.
3.2.6 Последовательная помощь A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Сравнение относительного порядка механизма помощи на страницах набора.
3.3.1 Определение ошибки A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Вызов реальной ошибки ввода и проверку текстового описания и связи с ошибочным элементом.
3.3.2 Подписи или инструкции A частично form-field-multiple-labels Обнаружение поля формы с несколькими конфликтующими <label>-элементами. Наличие и достаточность самой подписи или инструкции по смыслу, указание формата, обязательности и нестандартных ограничений.
3.3.3 Предложение исправления ошибки AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Вызов ошибки и оценку, предложено ли конкретное известное исправление и можно ли его применить.
3.3.4 Предотвращение ошибок: юридические, финансовые, данные AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Прохождение операции с фиктивными данными и проверку одного из трех допустимых механизмов (отмена, проверка с исправлением, просмотр и подтверждение).
3.3.7 Повторный ввод A вручную - Ничего: правил с тегом этого критерия в axe-core нет. Прохождение многошагового процесса и проверку автоподстановки или выбора ранее введенных данных на повторном шаге.
3.3.8 Доступная аутентификация, минимум AA вручную - Ничего: правил с тегом этого критерия в axe-core нет. Прохождение аутентификации и восстановления доступа, оценку наличия когнитивного теста и доступной альтернативы или помощи.
4.1.2 Имя, роль, значение A частично area-alt, aria-allowed-attr, aria-braille-equivalent, aria-command-name, aria-conditional-attr, aria-deprecated-role, aria-hidden-body, aria-hidden-focus, aria-input-field-name, aria-prohibited-attr, aria-required-attr, aria-roles, aria-tab-name, aria-toggle-field-name, aria-tooltip-name, aria-valid-attr, aria-valid-attr-value, button-name, duplicate-id-aria, frame-title, frame-title-unique, input-button-name, input-image-alt, label, link-name, nested-interactive, select-name, summary-name Программные имя, роль и допустимость ARIA-атрибутов для стандартных интерактивных элементов и распространенных ARIA-паттернов: кнопки, ссылки, поля ввода, вкладки, тултипы, фреймы, дубли id и схожие технические дефекты. Поведенческую корректность кастомных виджетов при реальном взаимодействии (изменение состояний/значений), передачу изменений разным вспомогательным технологиям, случаи вне покрытых ARIA-паттернов.
4.1.3 Сообщения о состоянии AA вручную - Ничего: в axe-core 4.13.0 нет правила с тегом этого критерия. Вызов сообщения без перевода фокуса и наблюдение вывода конкретной вспомогательной технологии, определение программной роли/свойства статуса.
Наверх