При розробці мобільного додатку ми зіткнулися з реальною проблемою: користувачі зі слабким зором не могли читати текст навіть при ввімкненій темній темі. Контрастність 4.5:1, необхідна WCAG 2.1, виявилася недостатньою. Штрафи за недоступність можуть сягати $4.5k–6.5kів, а економія на переробках після впровадження HC — до $1.8k–2.6kів. High Contrast Mode забезпечує контрастність 7:1 — це на 55% вище за стандартний рівень, а порівняно з темною темою контраст вищий у 1.5 раза. На iOS — Increase Contrast, на Android — High Contrast Text або High Contrast Mode у Samsung. Вимоги розділу 4.2 App Store Review Guidelines зобов'язують адаптувати інтерфейс для людей з обмеженнями. Ми реалізуємо такий режим під ключ за 1–3 дні.
Чому висококонтрастний режим відрізняється від темної теми?
Темна тема змінює колірну палітру, але контраст залишається середнім. HC-режим примусово робить фон максимально світлим, текст — максимально темним, прибирає декоративні елементи, градієнти та тіні. Це необхідно для користувачів зі слабким зором, коли навіть темна тема не забезпечує читабельність. Тестування читабельності на реальних пристроях підтверджує: при HC текст залишається читабельним навіть на яскравому сонці.
Як iOS обробляє Increase Contrast?
Система автоматично адаптує системні кольори (UIColor.label, UIColor.secondaryLabel) під HC. Кастомні кольори з Asset Catalog підтримують High Contrast варіант: додаємо HC-варіант — і колір перемикається без коду. Для SwiftUI використовуємо @Environment(\.colorSchemeContrast):
@Environment(\.colorSchemeContrast) var contrast var textColor: Color { contrast == .increased ? .black : .secondary } Також підписуємося на UIAccessibility.darkerSystemColorsStatusDidChangeNotification для динамічного оновлення.
Як перевірити High Contrast на Android?
На Android «High Contrast Text» — системний оверлей, який неможливо контролювати з додатку, але можна перевірити через AccessibilityManager.isHighTextContrastEnabled(). Samsung One UI надає повноцінний режим зі зміною системних кольорів. У Jetpack Compose isSystemInDarkTheme() не реагує на HC, потрібна окрема перевірка:
val am = getSystemService(AccessibilityManager::class.java) val isHighContrast = am?.isHighTextContrastEnabled ?: false | Платформа | Системний прапорець | Доступність для розробника | Особливості |
|---|---|---|---|
| iOS | UIAccessibility.isDarkerSystemColorsEnabled | Підписка через Notification | Автоматичне застосування до системних кольорів |
| Android (AOSP) | AccessibilityManager.isHighTextContrastEnabled() | Тільки читання | Застосовує системний оверлей, додаток не контролює |
| Samsung One UI | Вбудований режим | Недоступний через SDK | Змінює системні кольори, додаток адаптується через theme |
Що потрібно адаптувати в High Contrast режимі?
| Компонент | Стандартний режим | High Contrast |
|---|---|---|
| Колір тексту на фоні | 4.5:1 | 7:1 |
| Тонкі межі | 1px сірий | 2px чорний |
| Градієнти та зображення | Напівпрозорі | Суцільний фон + підкладка |
| Тіні та blur | UIVisualEffectView | Непрозорий фон |
| Декоративні іконки | Сірі напівпрозорі | Тільки функціональні, чорні |
Адаптація колірної схеми включає створення HC-варіацій для всіх кастомних кольорів. Це особливо важливо для компонентів, де контрастність падає нижче 7:1.
Типові помилки при адаптації
Розглянемо кілька поширених помилок, які виникають при впровадженні HC.
- Роздільники завтовшки 1px на білому фоні зникають при HC — збільшуйте до 2px і робіть чорними. В одному з проєктів (фінансовий додаток) ми виявили, що після ввімкнення HC всі роздільники зникли — довелося збільшити їх товщину до 2px і змінити колір на #000.
- Frosted glass (
UIVisualEffectView) не забезпечує контраст — замінюйте на суцільний непрозорий фон. - Тонкі шрифти (weight: 300) на світлому фоні втрачають читабельність — використовуйте weight 400+.
Контрастність 7:1 — це рівень AAA для нормального тексту. Для великого тексту (≥18pt або ≥14pt bold) достатньо 4.5:1. Рекомендуємо дотримуватись AAA для всього тексту, щоб охопити максимум користувачів.
Процес роботи
- Аналіз: перевіряємо поточну реалізацію колірної схеми та компонентів.
- Проєктування: створюємо HC-варіації кольорів у Asset Catalog або кодом.
- Реалізація: додаємо перевірки системних прапорців, замінюємо ефекти.
- Тестування: перевіряємо контрастність на симуляторах та реальних пристроях (3+ моделі).
- Розгортання: оновлюємо додаток в App Store та Google Play.
Що входить в роботу
- Повний аудит поточного інтерфейсу на відповідність WCAG 2.1.
- Створення HC-колірної схеми (iOS Asset Catalog + SwiftUI, Android colors.xml).
- Доопрацювання кастомних компонентів (кнопки, комірки, екрани).
- Тестування на 2–3 реальних пристроях.
- Документація з використання HC-режиму для підтримки.
Досвід нашої команди — понад 5 років у мобільній розробці та 20+ проєктів з інтеграцією accessibility-фіч. Ми гарантуємо, що після адаптації ваш додаток пройде модерацію за вимогами доступності. Зв'яжіться з нами для безкоштовної консультації. Замовте адаптацію під висококонтрастний режим сьогодні.
Термін: 1–3 дні залежно від обсягу кастомних UI-компонентів. Вартість розраховується індивідуально. Отримайте консультацію з адаптації вашого додатку або замовте безкоштовний аудит accessibility.







