Реалізація контрастності та розмірів шрифтів за WCAG

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

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Реалізація контрастності та розмірів шрифтів за WCAG
Простий
від 1 дня до 3 днів
Часті запитання

Контрастність WCAG: де інтерфейс перестає читатися

Низька контрастність інтерфейсу майже ніколи не видна в макеті — вона проявляється на реальних екранах і за реального освітлення.

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

Формально контрастність WCAG вимірюється відношенням яскравості тексту та фону: для звичайного тексту потрібно 4,5:1, для великого — 3:1, для меж полів і іконок в елементах керування — теж 3:1.

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

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

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

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

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

Читабельність, масштабування тексту й охоплення аудиторії

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

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

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

Абсолютні значення в пікселях такої перевірки не проходять, і користувач, якому потрібен великий текст, іде, хоча прийшов у справі.

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

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

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

Способи привести контрастність і типографіку до норми

Аудит починається з інвентаризації пар «текст — фон» і розмірів шрифту за екранами. Поріг для основного тексту — 4.5:1, для великого кегля та графічних елементів — 3:1, плюс вимога зберігати читабельність під час масштабування інтерфейсу до 200%.

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

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

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

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

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

Як відбувається впровадження: від аудиту до передавання

Впровадження доступності — не разова правка палітри, а послідовність кроків із перевірюваним результатом на кожному. Мета — не лише підняти контрастність WCAG до потрібного рівня, а й закріпити правила, щоб нові екрани не повторювали ті самі порушення.

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

Що замовник отримує на руки: правила, стилі, регламент

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

  • Змінні теми. Кольори й розміри шрифтів винесено в набір змінних: фон, основний і другорядний текст, межі, стани наведення й фокусу. Зміна брендового відтінку в одному місці більше не ламає сусідні екрани.
  • Правила контрасту. Таблиця припустимих поєднань із порогами для основного тексту, великих заголовків, елементів керування та піктограм. Окремо позначено, де контраст можна знизити, а де ні.
  • Приведені стилі. Кнопки, поля введення, посилання, підказки й повідомлення про помилки переведено на змінні теми та перевірено в усіх станах — включно з фокусом, наведенням і неактивним виглядом.
  • Регламент перевірки. Покроковий порядок: які екрани дивитися, чим вимірювати, що вважати блокувальним порушенням, а що — припустимим винятком і як його оформити.
  • Інструкція для дизайнерів. Як вибирати пару «фон — текст» і розміри шрифтів ще в макеті, щоб верстку не переробляти. З прикладами припустимих і заборонених поєднань.
  • Пам’ятка для редакторів. Обмеження за довжиною рядка й розміром шрифту плюс заборона на колір як єдиний носій смислу: посилання всередині абзацу має відрізнятися не лише відтінком.
  • Масштабування шрифтів. Поведінка верстки під час збільшення тексту: що переноситься, що обрізається, де потрібна інша розкладка і як це перевірити перед випуском.

Розбір проєкту: як прибрали провали з доступності

Клієнт — сервіс подання заявок з особистим кабінетом: близько 240 екранів, частина на успадкованих шаблонах. Прогін на контрастність за Настановою з доступності веб-контенту (WCAG) показав, що 68 екранів не проходять перевірку, а 31 набрано кеглем нижче базового. Сканер видав 210 критичних зауважень — і це лише за ключовими сценаріями, які потрапили у вибірку.

Що змінили в реалізації

Контраст винесли в токени теми: замість колірних кодів усередині компонентів — пари «текст/фон», перевірені на відношення 4.5:1 для основного тексту й 3:1 для великого, з окремими значеннями для наведення й неактивного стану.

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

Що показали заміри

Частка екранів, що проходять автоматичну перевірку, зросла з 72% до 100%: критичних зауважень нуль, залишилися поодинокі попередження на перекладах.

Частка завершених форм піднялася з 61% до 84% — люди перестали покидати заповнення на кроці, де підписи полів були сірими на сірому. Звернення в підтримку з формулюванням «не бачу текст» скоротилися втричі за той самий період.

Чим відрізняються рівні AA і AAA в WCAG і який вибирати?

Рівні WCAG — це не «якість вищого ґатунку», а формальні пороги: A — базовий мінімум, AA — галузевий стандарт, на який посилаються у вимогах і тендерах, AAA — розширений. Різниця між ними вимірювана і насамперед стосується вимог до контрастності тексту та елементів інтерфейсу.

Рівень Вимоги до контрасту Кому потрібен Обсяг правок
A великий текст і елементи керування 3:1 мінімальна відповідність зазвичай уже виконаний
AA звичайний текст 4.5:1, великий 3:1, контраст меж і станів більшість сайтів і сервісів токени палітри та стани компонентів
AAA звичайний текст 7:1, великий 4.5:1 держсервіси, банки, медицина, навчання переробка дизайн-системи

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

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

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

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

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

Технічні сумніви щодо доступності та розмірів шрифту

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

Фірмові кольори не проходять за контрастом — міняти палітру?

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

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

У нас уже впроваджено набір компонентів — усе переробляти?

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

Шрифт бренду тонкий і на дрібних розмірах «розсипається». Що робити?

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

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

Як ви перевіряєте результат?

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

Додатково дивимося інтерфейс за збільшення масштабу та на вузьких екранах — так видно, де верстка ламається, а не лише де бракує контрасту.

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

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

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

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

Наші компетенції:

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

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