AI-система для доступності (Accessibility AI)

Інтерфейси ламаються на живому контенті: одні блоки недоступні частині користувачів, інші втрачають сенс при кожному оновленні. Ми розробляємо AI-систему доступності під ключ — від аудиту інтерфейсів до передачі регламентів вашій команді. Частка недоступних блоків падає, а ручні перевірки займають помітно менше часу.
Часті запитання

Чому AI-система доступності ламається на живому контенті

AI-система доступності впевнено проходить статичну верстку: заголовки, зображення та базові поля отримують підписи й ролі. Збій починається там, де інтерфейс живе — вміст підвантажується після першого відображення, змінюється без перезавантаження сторінки, реагує на дії людини.

Динамічні блоки, спливаючі вікна та оновлювані секції каталогу в момент перевірки або відсутні, або перебувають в іншому стані.

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

Нестандартні компоненти — списки на скриптах, кастомні перемикачі, каруселі — нативної семантики не мають, і автоматична розмітка розставляє їм ролі навмання.

У звіті це виглядає як десятки однотипних зауважень, але за кожним стоїть сценарій: клавіатурна навігація не проходить далі першого блоку, фокус залишається позаду спливаючого вікна, про зміну вмісту ніхто не повідомляє.

Людина, яка працює з програмою екранного доступу, не «відчуває незручність» — вона не може заповнити форму або вибрати товар.

Тому доступність інтерфейсів будується не на разовій перевірці готової сторінки, а на моделі поведінки: які блоки з’являються, у якому порядку, що і коли має бути оголошено. Нижче розбираємо, як така модель закриває помилки доступності до релізу.

Що змінюється після впровадження: вимірювані ефекти

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

Система позначає їх під час збірки й сортує за впливом на проходження сценарію, тому команда виправляє не весь список, а те, що реально блокує користувача.

Покриття текстовими еквівалентами перестає залежати від того, чи згадав розробник додати опис. Розпізнавання зображень і генерація підписів закривають масові випадки автоматично, спірні йдуть на ручну перевірку — покриття зростає з кожною збіркою, а не разово після аудиту.

Час перевірки релізу скорочується в рази. Ручний прогін перед випуском займав дні й усе одно залишався вибірковим, а перевірка на кожній зміні віддає список розбіжностей за хвилини: інженер дивиться лише нові та змінені блоки, а не проходить інтерфейс повністю.

Зникає цілий клас відмов — «не помітили до релізу». Раніше про недоступний елемент дізнавалися зі звернень користувачів допоміжних технологій, і виправлення йшло в терміновому порядку; тепер сигнал надходить до випуску, а виправлення стає у звичайний порядок робіт.

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

Ці ефекти вимірювані — частка охоплених блоків, кількість розбіжностей на реліз, час до випуску, — і за ними видно, чи система працює, чи її просто встановили.

Режими розмітки та рівні доступності

Система розмічає матеріали в одному з трьох режимів обробки, і режим визначає, як швидко правки з’являються на сторінці та скільки ручної роботи залишається редакції. Порівнюємо за обмеженнями, а не за зручністю — саме обмеження задають вибір під конкретний потік контенту.

Режим Коли підходить Обмеження
Розмітка під час публікації Матеріали заходять через систему й одразу йдуть до читача Потрібен зв’язок із контуром публікації; уже випущений архів не покриває
Пакетна обробка Архів опубліковано, потрібно закрити його повністю Правки надходять порціями — між запусками залишається вікно без розмітки
Гібридний режим Критичні сторінки, де помилка розмітки коштує дорого Частину рішень підтверджує людина, це вузьке місце за швидкістю

Рівні відповідності задаються окремо від режиму й не залежать від нього. Базовий закриває навігацію з клавіатури, підписи до елементів керування та осмислені альтернативні тексти.

Цільовий рівень додає контраст, масштабування до великих кеглів і логічну структуру заголовків, максимальний — розшифровки та субтитри для медіа. Перевірка йде за кожним рівнем окремим звітом: видно, які сторінки дійшли до потрібної планки, а які ні.

У гібридному режимі система позначає спірні фрагменти й віддає їх на підтвердження — зазвичай це одиниці відсотків від загального обсягу. Такий набір дає передбачувану якість там, де ціна помилки вища за швидкість, і не гальмує решту потоку.

Етапи впровадження: від аудиту інтерфейсів до передачі

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

  1. Аудит інтерфейсів. Проходимо ключові екрани: структуру заголовків, порядок обходу з клавіатури, форми, контрастність, видимість фокусу. На виході — карта дефектів із пріоритетом за частотою сценарію, а не за «страшністю» помилки.
  2. Схема інтеграції. Визначаємо точки підключення: на збірці, у шаблонах розмітки або поверх готового інтерфейсу. Фіксуємо, які дані система отримує від вашої платформи і в якому вигляді віддає результат.
  3. Налаштування правил розмітки. Задаємо семантичні ролі, порядок обходу, шаблони текстових описів і підписи для невізуальних елементів керування. Правило, задане один раз, далі працює на всіх нових сторінках.
  4. Перевірка на реальних сценаріях. Проганяємо типові завдання — пошук, заповнення форми, оформлення замовлення — з екранним диктором і лише з клавіатури. Дивимося, чи доводить сценарій до результату, а не лише чи спрацьовують перевірки.
  5. Приймальна перевірка. Звіряємо результат із узгодженим переліком критеріїв: частка екранів, що пройшли перевірку, список винятків і обґрунтування щодо кожного.
  6. Передача системи. Віддаємо документацію щодо правил, регламент супроводу й навчання команди: як додати новий компонент, не зламавши доступність сусідніх екранів.

Після передачі нові дефекти ловляться на збірці та в правках розмітки, а не в зверненнях користувачів. Допрацювання одного компонента займає хвилини, бо правила й перевірки вже описані.

Комплект документації, схем і регламентів

Комплект документації — це не звіт для звіту, а робочий інструмент вашої команди після передачі проєкту. Кожен артефакт описує, як система налаштована зараз, що можна змінювати без розробника і де проходять межі відповідальності. Усе версіонується разом із релізом: змінили правило — оновився й опис.

  • Конфігурації системи — налаштування порогів спрацьовування, словників замін і правила розбору розмітки, із позначкою, на що впливає кожен параметр.
  • Схеми потоків даних — шлях від сканування інтерфейсу до звіту: де зберігаються фрагменти, скільки живуть, що йде в зовнішні сервіси.
  • Політики доступу — ролі, хто бачить вихідні матеріали, хто править правила перевірки, як видається й відкликається доступ.
  • Описи винятків — вузли й типи контенту, свідомо виведені з автоматичної перевірки, із причиною рішення, навіть якщо формально вони підпадають під вимоги доступності.
  • Регламент супроводу — періодичність перевірки якості, порядок оновлення моделей і правила відкату на попередню версію.
  • Інструкції для команди — як додати новий тип контенту, розібрати хибне спрацьовування й переконатися, що оновлення не зламало звітність.
  • Чек-лист приймання й журнал рішень — які показники вважаються нормою, які відхилення потребують втручання.

Розбираємо комплект разом із вашими інженерами на передачі — щоб через пів року не довелося відновлювати логіку за кодом.

Кейс: як скоротили частку недоступних блоків у каталозі

Каталог на кілька десятків тисяч карток: розмітка збирається загальними шаблонами, а доступність перевіряли вручну раз на квартал за десятком випадкових сторінок.

На старті кейсу впровадження вибірка показала близько третини блоків із порушеннями: кнопки-іконки без підписів, фільтри, недоступні з клавіатури, контраст нижче порога, порядок заголовків, що ламає навігацію скрінрідером. Помилка жила в шаблоні картки та панелі фільтрів, тому відтворювалася на тисячах сторінок одразу.

Що змінили в розмітці

Головний зсув — перевірка переїхала з ручного аудиту в збірку. Правила описали в термінах WCAG: обов’язкова текстова альтернатива в елементів керування, логічний порядок фокусу, доступні імена полів і випадних списків, контраст тексту до підкладки.

Перевірку підключили до конвеєра збірки каталогу, тому збірка падає на порушенні в загальному шаблоні, а не на окремій сторінці; паралельно з’явився дашборд частки блоків із порушеннями в розрізі шаблонів.

Метрики до та після

За два цикли релізів частка недоступних блоків у вибірці впала з 34% до 4%, критичних порушень залишилися одиниці на реліз. Ручний аудит стиснувся з квартального обходу до точкової перевірки нових компонентів — тих самих модальних вікон і динамічних фільтрів. Повторні порушення майже зникли: причина виправляється в шаблоні один раз, а не в тисячі карток.

Побічний ефект: розмітка стала передбачуваною для автотестів — одні й ті самі селектори працюють і в перевірках доступності, і в регресії сценаріїв оформлення замовлення, тому нові компоненти проходять обидві перевірки без дублювання роботи.

Чим відрізняється автоматична розмітка від ручного аудиту

Автоматична перевірка спирається на формальні ознаки: контраст тексту до фону, альтернативні описи зображень, порядок заголовків, підписи до полів форми, ролі та стани інтерактивних елементів, керування з клавіатури на рівні розмітки.

Прогін по всьому сайту займає хвилини й іде на кожній зміні, тому регресії знаходяться до релізу, а не після звернення користувача. Орієнтир для правил — WCAG, рівень AA як базовий.

Межі автоматизації проходять там, де потрібен сенс, а не збіг із шаблоном. Інструмент бачить, що опис у картинки заповнено, але не розуміє, чи описує воно зміст; знайде модальне вікно, але не перевірить, чи повернеться фокус на кнопку після закриття.

Тут працює AI-частина: модель пропонує чернетку опису, позначає спірні блоки й розставляє пріоритети у звіті, а рішення залишається за інженером.

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

Так ловляться дефекти, формально «зелені» у звіті: незрозумілі повідомлення про помилки, збитий порядок обходу, пастки фокусу у випадних списках.

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

На виході виходить не разовий звіт, а процес, де смислові дефекти не накопичуються до наступного аудиту.

Технічні сумніви перед стартом проєкту

Перед стартом замовники перевіряють нас на міцність: чи спрацює розмітка на їхніх самописних інтерфейсах, що станеться з уже випущеними матеріалами, хто відповідає за результат після передачі. Нижче — п’ять запитань, які ставлять найчастіше.

Наскільки точною буде розмітка на самописних віджетах і модальних вікнах?

Починаємо з інвентаризації компонентів і перевіряємо кожен програмою екранного доступу. Для нестандартних вузлів ролі, порядок фокусу й підписи описуємо вручну — автоматика такі місця пропускає.

Що буде з уже випущеним контентом — його доведеться переписувати?

Ні. Матеріали проходять перевірку, правки вносяться точково, лише там, де розмітка заважає читанню. Масова переверстка не потрібна: нові правила діють для того, що виходить далі.

Як поводиться розмітка в динамічних блоках — підвантаження, фільтри, спливаючі вікна?

Такі блоки перевіряємо окремо: важливо, щоб фокус не губився, а зміни озвучувалися. Для кожного сценарію фіксуємо правило поведінки й закриваємо його перевіркою.

Хто відповідає за роботу системи після передачі?

Передаємо конфігурації перевірок, правила розмітки та інструкції для вашої команди, супроводжуємо за регламентом узгоджений строк — відповідальність зберігається до виходу на стабільні показники.

Чи можна впроваджувати поетапно й не зупиняти випуск?

Так, ідемо хвилями: спочатку один розділ або тип сторінок, потім решта. Випуск не зупиняється — нові правила застосовуються до чергового потоку матеріалів.

Обговоримо задачу й повернемося з оцінкою та планом

Щоб оцінка обсягу спиралася на факти, а не на припущення, до обговорення задачі варто зібрати кілька вступних. Вони помітно скорочують шлях від першої розмови до старту робіт — інженерам не доводиться уточнювати базові речі по ходу.

  • Перелік інтерфейсів: які екрани, сторінки, мобільні застосунки та внутрішні панелі потрапляють у зону доступності, а які залишаються за межами.
  • Доступи до систем: тестовий контур із репрезентативними даними, облікові записи для перевірки, можливість підключити автоматичні перевірки в збірку.
  • Поточний стан: скарги користувачів, звіти зовнішніх перевірок, список уже виправлених порушень — щоб не починати з нуля.
  • Цільове охоплення й пріоритети: які категорії користувачів і типи порушень закриваємо в першу чергу, який рівень відповідності вважаємо достатнім.
  • Обмеження проєкту: вимоги безпеки, заборона на винесення даних, регламент узгодження правок, вікна релізів.
  • Відповідальні з вашого боку: хто приймає результат за етапами і до кого йдуть питання щодо продуктових рішень.

За підсумками розмови ми повертаємося з оцінкою обсягу, планом робіт за етапами та переліком того, що потрібно підготувати до старту: де видаємо доступи, на якому стенді перевіряємо, у який момент підключаємо команду розробки.

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

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141