GH GambleHub

Renk sistemi ve markalı paletler

1) Neden rengi resmileştirmek

Renk,'iyi tonlar "kümesi değil, aşağıdakiler için yönetilebilir bir sistemdir:
  • marka bilinirliği ve görsel tutarlılık,
  • Okunabilirlik ve kullanılabilirlik (WCAG),
  • Ölçeklendirme arayüzleri (temalar, platformlar, yerel ayarlar),
  • Öngörülebilir A/B deneyleri (kontrast, TO, hatalar).

2) Sistem temelleri: modeller ve metrikler

OKLCH (önerilen): algısal olarak tekdüze, 'H' gölgesini korurken 'L've doygunluk' C 'hafifliğini kontrol etmek uygundur.
Lab/LCH: ayrıca uygun; OKLCH algıda daha kararlıdır.
sRGB: sonlu ekran alanı; Toplamlar her zaman sRGB ve WCAG'de doğrulanır.
Kontrast (WCAG 2. 2): temel metin ≥ 4. 5:1, büyük ≥ 3:1; Kritik bildirimler - mümkünse AAA'yı (7:1) hedefleyin.

3) Sistemin katmanları: markadan semantiğe

1. Marka çekirdeği: 1-2 markalı tonlar (+ destekleyici vurgu).
2. Arayüz semantiği: roller ('birincil', 'ikincil', 'başarı', 'uyarı', 'tehlike', 'bilgi', 'nötr').
3. Ton ölçekleri: hafiflik adımları (örn. 25/50/100...900).
4. Темы: 'Açık'/' karanlık' (+ yüksek kontrastlı, AMOLED).
5. Durumlar: 'default/hover/active/focus/disabled'.
6. Bağlam: yüzeyler ('bg/base', 'bg/subtil', 'bg/elevated') ve metin ('fg/primary', 'fg/secondary', 'fg/sessize alınmış').
7. Veri görselleştirme: ayrı ayrı ve sürekli paletler.

4) Marka çekirdeği: seçimler ve kısıtlamalar

Ton'u seçin ve markanın çalışma açıklığını açık ve koyu temalarda (genellikle 'L≈0 tanımlayın. 60–0. 70 'düğmeleri ışıkta ve L≈0 doldurmak için. 70–0. 80 'karanlıkta metin/simgeler için).
'C' kromunu sınırlayın: yüksek 'C' afişlerde güzeldir, ancak UI'de okunabilirliği bozar - 2 sürümü saklayın: "pazarlama" (zengin) ve "bakkal" (daha kısıtlı).
Değişkenleri düzeltin: ana ('marka/birincil'), alternatif ('marka/alt') ve nötr destek ('nötr').

5) Ton ölçekleri

Amaç, kontrollü doygunluk ile düzgün hafiflik adımları elde etmektir:
  • OKLCH için, 'L' adımlarını hareket ettirin (örn. 0. 98→0. 90→0. 80→…→0. 18) ve 'C', ışıkta "kir've karanlıkta" bulanıklıktan "kaçınmak için ölçeğin kenarlarına hafifçe indirgenir.
  • Kontrol noktalarını düzeltin: '50/100/300/500 (anahtar )/700/900'.
  • Her adımda, çiftin kontrastını temel arka planla ve beklenen metin rengiyle kontrol edin.

Marka/birincil ölçek örneği (OKLCH, yaklaşık)


brand.primary.50  = oklch(0.98 0.03 230)
brand.primary.100 = oklch(0.94 0.05 230)
brand.primary.300 = oklch(0.86 0.08 230)
brand.primary.500 = oklch(0.74 0.10 230) # ключевой тон brand.primary.700 = oklch(0.56 0.09 230)
brand.primary.900 = oklch(0.32 0.07 230)

6) Anlamsal roller ve haritalama

Ayrı marka ve semantik: "Başarı" marka yeşili olmak zorunda değildir.


role.primary.bg    -> brand.primary.500 role.primary.text   -> fg.on-primary     # ≥ 4.5:1 к role.primary.bg role.success.bg    -> green.500 role.warning.bg    -> amber.500 role.danger.bg    -> red.500 role.info.bg     -> blue.500 role.neutral.bg    -> gray.200/700 (light/dark)

'On-' metinleri otomatik olarak hesaplanır (bkz. § 10).

7) Işık/karanlık temalar ve yüzeyler

Yüzeyler ve metin için temel ölçeği tanımlayın:

light:
bg/base   = oklch(0.98 0.01 260)
bg/subtle  = oklch(0.96 0.01 260)
bg/elevated = oklch(0.93 0.01 260)
fg/primary  = oklch(0.18 0.03 260) # ≈7:1 к bg/base fg/secondary = oklch(0.32 0.03 260) # ≥4.5:1 border    = oklch(0.80 0.02 260)

dark:
bg/base   = oklch(0.16 0.01 260)
bg/subtle  = oklch(0.20 0.01 260)
bg/elevated = oklch(0.24 0.01 260)
fg/primary  = oklch(0.90 0.02 260)
fg/secondary = oklch(0.78 0.02 260)
border    = oklch(0.34 0.02 260)

Her iki temada da eşit kontrast hedeflerini korumak; Saf siyah üzerinde beyazı "körleştirmekten" kaçının - 'L' arka planını ~ 0'a yükseltin. 16.

8) Durumlar ve etkileşim

Her rol için, durumları 'Δ L've' Δ C'olarak ayarlayın:

button/primary:
default.bg = brand.primary.500 hover.bg  = brand.primary.500 with +ΔC(0.01) -ΔL(0.02)
active.bg = brand.primary.700 focus.ring = brand.primary.300 # контраст кольца ≥ 3:1 к окружению disabled.bg= neutral.200 (light) / neutral.700 (dark)
text.on  = auto-contrast(default.bg)    # ≥ 4.5:1

9) Sorumluluk ve WCAG

Kontrollerdeki temel metin ve simgeler ≥ 4'tür. 5:1.
Anahtar sistem bildirimleri (KYC/AML, 18 +, ödeme hataları) - AAA'yı hedefler (7:1).
Alan durumları ve sınırları - en az 3:1.
Bağlantıları yalnızca renkle değil (alt çizgi/odak stili) ayırt edin.

10) Kontrast metni otomatik sığdırma ('on-')

Mantık: bileşenin dolgusunu seçerken'on-color 'değerini hesaplayın:

1. OKLCH'e göre, predlag'ı belirleyin. Metin 'L _ on' böylece '(L_text vs L_bg) ≥ 4. 5:1`.

2. Krom yüksekse, 'C _ text' değerini 0'a düşürün. 01–0. 03.

3. Karanlık bir tema için, 'L _ on' başka bir 0 yükseltin. 02–0. Parlamayı dengelemek için 04.

Pseudo belirteci:

fg.on(colorX) = auto(colorX, targetContrast=4.5)

11) Veri görselleştirme

Kategorik paletler: Renk körlüğüne karşı dirençli 8-12 renk (alternatif işaretler olmadan kırmızı-yeşil çiftlerden kaçının).
Sürekli: 'bg/elevated'den imzaların kontrast kontrolü ile aksana.
Renk olmadan ayırt edilebilirlik için desenler/işaretleyiciler ekleyin.

12) Uluslararası bağlam (kültürel dernekler)

Yerel çağrışımları göz önünde bulundurun (örn. kırmızı - tehlike/dikkat; altın - kazanma/ödül).
IGaming için: Tek bir ekranda markalı aksanlarla başarı/tehlike çatışmalarından kaçının; İkonografi ve imza "parlaklık'tan daha önemlidir.

13) Tasarım sistemine entegrasyon

13. 1 Belirteçleri adlandırma


color.{theme}.{role    surface    brand}.{state    step}
примеры color.light.brand.primary.500 color.dark.role.success.bg color.light.surface.bg.base color.light.fg.on-primary

13. 2 Jeton (JSON/Stil Sözlüğü)

json
{
"color": {
"light": {
"surface": { "bg": { "base": "oklch(0.98 0.01 260)"} },
"brand":  { "primary": { "500": "oklch(0.74 0.10 230)" } },
"role":  { "primary": { "bg": "{color.light.brand.primary.500}" },
"danger": { "bg": "oklch(0.62 0.12 25)" } },
"fg": { "primary": "oklch(0.18 0.03 260)",
"on-primary": "auto({color.light.role.primary.bg},4.5)" }
}
}
}

13. 3 CSS değişkenleri (tema katmanı)

css
:root[data-theme="light"] {
--bg-base: oklch(0.98 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.18 0.03 260);
--on-primary: color-contrast(var(--brand-primary-500)); / автоподбор /
}
[data-theme="dark"] {
--bg-base: oklch(0.16 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.90 0.02 260);
--on-primary: color-contrast(var(--brand-primary-500));
}

13. 4 Figma/dokümantasyon

Bileşenler sadece belirteçleri kullanır, doğrudan HEX/SRGB linters tarafından yasaklanmıştır.
Kütüphanede - sayfa "Kontrast matris": tablo 'fg × bg' gerçek katsayıları ile.

14) Kalite kontrol süreçleri

Tasarımda: çalışma yüzeylerinde kontrast denetimi (her iki mod), renk körlüğü için ayrı hazır ayarlar.
Kodda: birim yardımcıları kontrastı hesaplar ve ihlallerde düşer; Kritik ekranlar için görsel anlık görüntüler.
CI/CD'de: tüm belirteç ve durum çiftlerini kontrol eder, bileşen, tema ve gerçek değerle rapor verir.

15) iGaming'in özellikleri

Promosyonlar ve turnuvalar: Metnin 'batmasını' önlemek için arka planlardaki bindirme ve 'C' kısıtlamasını kullanın.
Sorumlu bildirimler (limitler, 18 +, riskler) - içtenlikle AAA.
Metrikler/tablolar: Sayıları ve değişiklik işaretlerini (↑/↓) sadece renk değil, şekil ve kontrast ile ayırt edin.

16) Uygulama kontrol listesi

  • Marka tonları ve tonal ölçekleri (OKLCH) tanımlanmıştır.
  • Roller, durumlar ve yüzeyler iki tema için ayarlanır.
  • Hedef kontrastlı otomatik nesil 'on-'.
  • 'fg × bg' matris ve CI WCAG testleri.
  • Dataviz için bireysel paletler (renk körlüğü desteği ile).
  • Linter stilleri "ham" renkleri yasaklar.
  • Kılavuzdaki İstisnalar ve Nedenler sayfası.

17) Anti-desenler

Marka vurgusunu bir UX sinyalinde başarı/hata ile karıştırın.
Hiyerarşi için yalnızca doygunluğa güvenin.
Açık/koyu senkronize etmeyin (temalardan birinde'sol "kontrastı).
Belirteçler olmadan sert HEX - kontrolsüz arayüz kayması.


Kısa özet

Yukarıdan aşağıya bir palet oluşturun: marka çekirdeği - anlamsal roller - ton ölçekleri - temalar - durumlar. OKLCH'de çalışın, belirteçleri sabitleyin, 'on-'ve WCAG kontrollerini otomatikleştirin. Ayrı olarak, dataviz için paletleri girin. Bu, marka tutarlılığı, okunabilirlik ve ürün ölçeklenebilirliği sağlayacaktır.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.