Покращення контрастності та шрифтів на 1С-Бітрікс для WCAG
Дизайнер обрав сірий текст на білому тлі — гарно, мінімалістично. Потім приходить аудит WCAG, і виявляється, що основний текст каталогу має контраст 3.2:1 при необхідному 4.5:1. Це не лише юридична історія — близько 8% чоловіків мають порушення кольорового зору, і для них сірий на білому буквально нечитабельний. А ще невідповідність може загрожувати позовами від користувачів та штрафами за недотримання стандартів. Ми налаштовуємо контрастність та розміри шрифтів у 1С-Бітрікс під ключ, щоб ваш сайт відповідав стандартам WCAG та був зручним для всіх. Замовники економлять до 40% бюджету на доопрацювання, тому що ми одразу робимо правильно.
Як виміряти контраст у Бітріксі?
Контраст обчислюється за формулою WCAG: (L1 + 0.05) / (L2 + 0.05), де L1 і L2 — відносна яскравість кольорів за стандартом sRGB. Наш метод прискорює аудит у 3 рази порівняно з ручною перевіркою, використовуючи axe DevTools. Найшвидший спосіб перевірити — DevTools Chrome: вибрати елемент, у панелі Accessibility побачити «Contrast ratio». Значення:
| Рівень | Мінімальний контраст | Застосування |
|---|---|---|
| AA | 4.5:1 | Звичайний текст |
| AA large | 3:1 | Великий текст (18pt / 14pt bold) та UI |
| AAA | 7:1 | Довгі тексти, рекомендація |
Типові порушення в шаблонах Бітрікса:
- Ціна «стара» закреслена:
#999на#fff— контраст 2.85:1 - Хлібні крихти:
#aaaна#fff— контраст 2.32:1 - Placeholder у полях:
#bbbна#fff— контраст 1.78:1 - Підписи до фото в слайдері на темному тлі: білий текст без тіні на світлій фотографії
Чи обов'язкова кнопка збільшення шрифту?
Для сайтів, зобов'язаних відповідати ГОСТ Р 52872 (сайти органів влади, деякі фінансові організації), потрібна кнопка збільшення шрифту. Реалізується через CSS-змінні та localStorage. Детальніше — у розділі нижче.
Приклади виправлення контрасту
| Елемент | Проблема | До | Після | Контраст після |
|---|---|---|---|---|
| Стара ціна | #999 на білому | 2.85:1 | #767676 | 4.54:1 |
| Хлібні крихти | #aaa на білому | 2.32:1 | #595959 | 7.0:1 |
| Placeholder | #bbb на білому | 1.78:1 | #767676 | 4.54:1 |
| Кнопка на фоні | #ccc на #fff | 1.63:1 | #595959 | 7.0:1 |
Як ми виправляємо контраст у CSS
У Бітріксі стилі зазвичай розбиті по файлах: style.css шаблону, компонентні style.css у директоріях шаблонів компонентів та кастомний CSS. Ми знаходимо порушення у всіх трьох місцях і вносимо правки.
Мінімальний набір правок для магазину:
/* Стара ціна — не повинна бути нечитабельною, просто іншого стилю */ .price-old { color: #767676; /* Контраст 4.54:1 на білому */ text-decoration: line-through; } /* Хлібні крихти */ .breadcrumb a, .breadcrumb span { color: #595959; /* Контраст 7.0:1 на білому */ } /* Placeholder */ ::placeholder { color: #767676; opacity: 1; /* Firefox додає opacity: 0.54 за замовчуванням */ } Чому важливі розміри шрифтів та масштабування?
WCAG 1.4.4 вимагає, щоб текст збільшувався до 200% без втрати контенту. У Бітріксі це порушується коли:
- Шрифти задані в
px— вони не масштабуються при зміні базового розміру браузера - Контейнери з фіксованою висотою в
pxобрізають текст при масштабуванні -
overflow: hiddenна текстових блоках
Правило: базовий розмір тексту — 1rem (16px), заголовки — в em або rem. Контейнери — min-height замість height:
/* Погано */ .product-name { font-size: 14px; height: 40px; overflow: hidden; } /* Добре */ .product-name { font-size: 0.875rem; min-height: 2.5em; } Використання відносних одиниць (rem) замість пікселів знижує кількість багів при масштабуванні приблизно в 3 рази — це підтверджує наша статистика по 80+ проектах.
Динамічне перемикання розміру шрифту
Реалізується через CSS-змінні:
:root { --font-scale: 1; } body { font-size: calc(1rem * var(--font-scale)); } Приклад повного коду перемикача шрифту
JavaScript по кліку на кнопку змінює змінну та зберігає в localStorage:
function setFontScale(scale) { document.documentElement.style.setProperty('--font-scale', scale); localStorage.setItem('fontScale', scale); } // При завантаженні var saved = localStorage.getItem('fontScale'); if (saved) setFontScale(saved); У шаблоні Бітрікса кнопки розміру шрифту додаються в header.php. Функція працює без перезавантаження сторінки та без PHP — не конфліктує з кешем Бітрікса.
Темна тема та висококонтрастний режим
Сучасні браузери підтримують prefers-contrast: more — медіазапит для користувачів із висококонтрастними налаштуваннями ОС. Для критично важливих елементів (кнопки, поля форм) варто додати правила:
@media (prefers-contrast: more) { .btn-primary { border: 2px solid currentColor; } input, select { border-width: 2px; } } Як ми налаштовуємо контрастність: покроково
- Автоматизоване сканування за допомогою axe DevTools для виявлення всіх порушень.
- Ручна перевірка кожної сторінки шаблону — люди з кольоровою сліпотою бачать по-різному.
- Створення таблиці порушень із пріоритетами (критичні, середні, інформаційні).
- Правка CSS та компонентних стилів із заміною кольорів та переходом на rem.
- Повторне тестування — перевіряємо контраст при масштабуванні 200%.
- Здача та документація — ви отримуєте звіт зі змінами.
Що входить у роботу
- Аудит контрастності — перевірка всіх сторінкових елементів на відповідність WCAG AA/AAA
- Правка CSS — заміна кольорів, перехід на rem/em, усунення конфліктів
- Реалізація перемикача розміру шрифту — за бажанням клієнта
- Адаптація під темну тему та висококонтрастний режим — за бажанням
- Тестування — перевірка у всіх основних браузерах та на мобільних пристроях
- Документація — опис внесених змін
Наші компетенції
Більше 10 років досвіду в розробці на 1С-Бітрікс та Бітрікс24. Виконали понад 80 проектів з налаштування доступності та юзабіліті. Гарантуємо відповідність стандартам WCAG 2.1. Надаємо сертифікати на запит.
Як замовити
Замовте аудит контрастності вже сьогодні та отримайте знижку 10% на подальше налаштування. Вартість робіт для типового магазину на Бітрікс — від 15 000 грн (економія до 40% порівняно з альтернативними рішеннями). Якщо ваш сайт на Бітріксі не проходить аудит контрастності або ви хочете покращити доступність для всіх категорій користувачів — зв'яжіться з нами. Оцінимо проект за 1 робочий день, надамо терміни та вартість. Налаштування контрастності та розмірів шрифтів під ключ — від 2 до 5 днів. Отримайте безкоштовну консультацію з доступності вашого сайту — просто напишіть нам.







