Настроювання контрастності та розмірів шрифтів 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Настроювання контрастності та розмірів шрифтів 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування контрастності та розмірів шрифтів в 1С-Bitrix

Дизайнер обрав сірий текст на білому фоні — красиво, мінімалістично. Потім приходить аудит WCAG, і виявляється, що основний текст каталога має контраст 3.2:1 при вимаганому 4.5:1. Це не лише юридична історія — близько 8% чоловіків мають порушення кольорового зору, і для них сірий на білому буквально нечитаємий.

Як виміряти контраст в Bitrix

Контраст рахується за формулою з WCAG: (L1 + 0.05) / (L2 + 0.05), де L1 та L2 — відносна яскравість кольорів за стандартом sRGB. Найшвидший спосіб перевірити — DevTools Chrome: вибрати елемент, у панелі Accessibility побачити «Contrast ratio». Значення:

  • 4.5:1 — мінімум для звичайного тексту (AA)
  • 3:1 — мінімум для крупного тексту (18pt / 14pt bold) та UI-компонентів (AA)
  • 7:1 — AAA, рекомендується для довгих текстів

Типові порушення в шаблонах Bitrix:

  • Ціна «стара» зачеркнута: #999 на #fff — контраст 2.85:1
  • Хлібні крошки: #aaa на #fff — контраст 2.32:1
  • Placeholder у полях: #bbb на #fff — контраст 1.78:1
  • Підписи до фото в слайдері на темному фоні: білий текст без тіні на світлій фотографії

Виправлення контрастності в CSS

В Bitrix стилі зазвичай розбиті по файлах: 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% без втрати контенту. В Bitrix це порушується коли:

  • Шрифти задані в 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; }

Динамічне переключення розміру шрифту

Для сайтів, які повинні відповідати ГОСТ Р 52872 (сайти органів влади, деякі фінансові організації), потрібна кнопка збільшення шрифту. Реалізується через 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);

В шаблоні Bitrix кнопки розміру шрифту додаються в header.php. Функція працює без перезавантаження сторінки та без PHP — не конфліктує з кешем Bitrix.

Темна тема та висококонтрастний режим

Сучасні браузери підтримують prefers-contrast: more — медіазапит для користувачів з висококонтрастними налаштуваннями ОС. Для критично важливих елементів (кнопки, поля форм) варто додати правила:

@media (prefers-contrast: more) {
    .btn-primary { border: 2px solid currentColor; }
    input, select { border-width: 2px; }
}