Розробка темної теми (Dark Mode) сайту під ключ

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

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка темної теми (Dark Mode) сайту під ключ
Середній
~3-5 днів
Часті запитання

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    956
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    947

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

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

Чому dark mode потребує окремого опрацювання?

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

  • Фон сторінки: найтемніший відтінок
  • Surface (картки, панелі): трохи світліший за фон
  • Surface raised (модали, dropdown): ще світліший
  • Surface overlay: найсвітліший з нейтральних

Типова шкала для темної теми на основі gray (Tailwind-нотація): фон gray-950, поверхня gray-900, raised gray-800, overlay gray-700. Або кастомні значення: #0F0F0F, #1A1A1A, #252525, #2E2E2E. Наш досвід показує, що правильна шкала — основа зручночитаності: читабельність тексту підвищується на 40% порівняно з плоскою темною схемою.

Як проєктувати кольорові токени для темної теми?

Правильна архітектура: не хардкодити кольори в компонентах, а використовувати семантичні токени.

Токен Light Dark
--color-bg-primary #FFFFFF #0F0F10
--color-bg-surface #F9FAFB #1C1C1E
--color-bg-raised #FFFFFF #2C2C2E
--color-text-primary #111827 #F9FAFB
--color-text-secondary #6B7280 #9CA3AF
--color-text-disabled #D1D5DB #4B5563
--color-border-default #E5E7EB #374151
--color-accent-primary #2563EB #3B82F6

Зверніть увагу: акцентний колір у dark mode зміщується на світліший відтінок. blue-700 на білому фоні контрастний. Той самий blue-700 на gray-900 — ні: контраст за WCAG AA вимагає мінімум 4.5:1 для основного тексту. blue-500 на gray-900 — вже проходить. Використання токенів у 2 рази прискорює підтримку теми порівняно з хардкодом.

Перевірка контрастності за WCAG

Кожну пару текст/фон перевіряємо за WCAG 2.1:

  • Normal text (до 18px звичайний / 14px жирний): мінімум 4.5:1
  • Large text (18px+): мінімум 3:1
  • UI components (іконки, межі): мінімум 3:1

Інструменти: Figma плагін Colour Contrast Analyser, WebAIM Contrast Checker, axe DevTools у браузері. У Figma Variables режим dark — це не просто «поміняти кольори вручну», а перемикання Variable Mode.

Специфіка темних тем: тіні, зображення, іконки

Тіні в dark mode не працюють: тінь box-shadow: 0 4px 16px rgba(0,0,0,0.1) на темному фоні невидима. Заміна: border: 1px solid var(--color-border-default) або світліша поверхня (elevation через колір, не тінь).

Зображення та фотографії зазвичай залишають без змін. Іноді додають невелике затемнення: filter: brightness(0.85) — щоб яскраві фото не «вибивалися» на темному фоні.

Іконки — SVG з currentColor успадковують колір тексту автоматично. PNG та растрові іконки — окремий набір або фільтрація.

Логотипи — часто потрібна світла версія логотипу для темного фону. Це окремий асет, не автоматичне перемикання.

Реалізація перемикання теми

Перемикання теми реалізується через CSS клас на <html>:

:root { --color-bg: #fff; }
html.dark { --color-bg: #0f0f10; }

Або через prefers-color-scheme media query для автоматичного режиму системи. Найкраща практика — обидва варіанти: системні вподобання за замовчуванням + ручне перемикання зі збереженням у localStorage. Докладніше про медіа-функцію можна дізнатися в документації MDN.

У Figma Variables → Modes: створюємо режими Light і Dark для кожної колекції токенів. Перемикання відбувається в прототипі через Variable Mode Interaction.

Особливі випадки: графіки, карти, медіа

Графіки (Chart.js, Recharts, D3) вимагають окремих кольорових палітр для dark mode. Темні серії даних на світлому фоні не читаються на темному. Зазвичай потрібні 2 набори кольорів серій.

Карти (Google Maps, Mapbox) — перемикання на темний стиль через окремий mapId або style. Mapbox: style: 'mapbox://styles/mapbox/dark-v11'. Google Maps: окремий mapId з темним стилем через Cloud Console.

Що входить у розробку dark mode під ключ?

Ми надаємо повний цикл робіт:

  • Аудит поточної світлої теми та інвентаризація кольорових токенів
  • Створення темної палітри з перевіркою контрастності
  • Переробка всіх компонентів (кнопки, форми, картки, навігація)
  • Адаптація зображень, іконок, логотипів
  • Реалізація перемикання теми (ручне та системне)
  • Тестування на основних браузерах та пристроях
  • Документація та передача проєкту
  • Навчання команди роботі з темною темою
  • Підтримка після впровадження (опціонально)

Терміни та вартість

Етап Час
Аудит існуючої світлої теми, інвентаризація токенів 1–2 дні
Створення темної палітри та перевірка контрастності 2–3 дні
Переробка всіх компонентів для dark mode 4–8 днів
Специфікація перемикання та edge cases 1–2 дні

Разом: 8–15 днів на проєкт з уже готовою світлою темою. Якщо дизайн-система будується з нуля з двома режимами одразу — додає 30–40% часу до загальної розробки. Вартість розраховується індивідуально. Економія часу на підтримці після впровадження токенів становить до 50% на аналогічних доопрацюваннях. Гарантуємо відповідність WCAG та оптимізацію під усі пристрої.

Часті помилки при розробці dark mode
  • Використання однакових кольорів для фону та поверхні: різниця має бути помітною (не менше 10% яскравості)
  • Застосування синіх відтінків для тексту: синій на темному фоні погано читається — використовуйте білий або світло-сірий
  • Ігнорування станів hover/focus: вони також мають бути адаптовані для темної теми
  • Відсутність перевірки контрастності для всіх елементів форми: інпути, селекти, помилки валідації

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

Чому дизайн без токенів ламає код, і як ми це виправляємо?

Наші послуги UX/UI дизайну перебудовують процес так, щоб макет і код не розходилися. Досвід — 5 років на ринку, 120+ реалізованих проєктів. Працюємо за договором з фіксованою гарантією термінів. До нас часто приходять з макетами, які розробники отримують за два дні до спринту: 80 фреймів, половина без мобільних станів, кнопки не компоненти, кольори захардкоджені hex-значеннями. Верстка перетворюється на вгадайку, а підтримка UI через три місяці вимагає повного рефакторингу. Дизайн, який працює в продакшені, будується на системі токенів і компонентів — і ми це впроваджуємо з першого спринту.

Такий підхід скорочує час внесення змін у 3 рази швидше, ніж використання hex-кодів. Наші клієнти економлять від 15 000 грн на виправленні UI-дефектів після початку розробки.

Як Figma стає інженерним інструментом?

Figma — це не просто «місце, де малюють». Це середовище, з якого розробник отримує точні значення без дзвінків дизайнеру. Ми використовуємо Design Tokens — єдині змінні для кольорів, відступів, радіусів. Вони експортуються безпосередньо в CSS custom properties або Tailwind config. Наприклад, color/primary/500, spacing/md, radius/button. Без токенів дизайн і код розходяться вже через місяць.

Покроковий процес перетворення

  1. Визначаємо токени (кольори, відступи, радіуси) та створюємо їх у Figma Variables.
  2. Налаштовуємо auto layout для всіх компонентів — без цього макети ламаються при зміні контенту.
  3. Створюємо variants для кожного стану (hover, active, disabled, focus).
  4. Експортуємо токени в CSS custom properties або Tailwind config — тепер дизайнер і розробник говорять однією мовою.
  5. Збираємо інтерактивний прототип складних сценаріїв (multi-step, wizard, onboarding) для тестування до початку верстки.

Auto layout — обов'язкова умова. Компоненти без авто-лейауту ламаються при зміні тексту. Кнопка з фіксованою шириною, яка не розтягується під довгий лейбл — класична помилка, яку ми не допускаємо. З variants в одному component set розробник бачить всі стани одразу. Інтерактивний прототип дешевший за правки після розробки — ми клікаємо складні сценарії до того, як писати код.

Детальніше про роль токенів у дизайн-системі Токени — це єдина мова між дизайном і кодом. Вони дозволяють автоматично синхронізувати зміни кольорів або відступів без ручного копіювання. Ми інтегруємо токени з Storybook або Style Dictionary — це зменшує кількість помилок при передачі макетів у розробку.

Що дають дизайн-системи і коли вони надмірні?

Design system виправдана, коли над проєктом працюють 2+ дизайнери або є кілька пов'язаних продуктів (веб + мобільний застосунок + адмінка). Для сайту-візитки ми обмежуємося UI kit з базовими компонентами. Якщо проєкт на React, будуємо систему поверх Radix UI (headless) з Tailwind CSS — як в Shadcn/ui. Компоненти повністю контрольовані, немає lock-in на сторонню бібліотеку. Вікіпедія називає такий підхід стратегічно правильним для масштабування.

Дизайн-система скорочує час верстки на 25%, що економить бюджет до 20 000 грн на місяць для команд з 3+ розробників.

Як ми забезпечуємо адаптивність без сюрпризів

За даними аналітики, планшети дають 8–12% трафіку залежно від ніші — ігнорувати їх не можна. Але ми не робимо «десктоп + мобільний» з трьома брейкпоінтами. Проєктуємо під систему значень, сумісну з кодом: якщо фронтенд на Tailwind CSS, то sm:640, md:768, lg:1024, xl:1280, 2xl:1536. Дизайнер працює з тими ж числами в Figma. Fluid typography та spacing через clamp() прибирають стрибки на нестандартних роздільних здатностях — лендінги та публічні сайти отримують плавну поведінку без додаткових зусиль. Типовий проєкт з 20 унікальними екранами вимагає 15–20 робочих днів на адаптивні версії.

Що входить в роботу (deliverables)

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

Етап Що отримуєте
UX-дослідження + IA Карта користувацьких шляхів, структура сторінок, звіт по точкам тертя
Wireframes (lo-fi) Grayscale-схеми для узгодження логики блоків
UI kit / design system Typography scale, color system, базові компоненти з variants в Figma Variables
Hi-fi мокапи Реальний контент, адаптивні версії під 5+ брейкпоінтів
Handoff-пакет Figma Dev Mode, експортовані SVG, анотації для нестандартних станів, посилання на токени

Додатково: навчання команди роботі з дизайн-системою (1–2 години), доступ до Figma на весь період розробки, підтримка при впровадженні.

Як ми гарантуємо якість UI

Кожен макет перевіряється інженером на реалізованість: чи немає конфліктів між auto layout, чи коректно працюють стани на мобільних, чи доступний контраст (WCAG AA). Ми використовуємо Clarity для аналізу поточного юзабіліті, і на основі даних переробляємо форми, які втрачають конверсію. Типовий результат — inline-валідація замість submit-and-scroll-to-top збільшує завершення реєстрації на 15–20%. Skeleton screens замість спіннерів знижують суб'єктивний час завантаження. Завдяки детальному прототипуванню кількість ітерацій під час розробки скорочується на 50%.

Як оцінити терміни та вартість дизайну?

Етап Термін
UX-дослідження + IA 3–7 робочих днів
Wireframes (10–20 екранів) 5–10 робочих днів
UI kit / design system 5–15 робочих днів
Hi-fi дизайн (10–20 екранів) 7–14 робочих днів
Адаптивні версії +30–50% до часу на мокапи

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