GH GambleHub

Istiqamətləndirmə effektləri və interaktivlik

1) UX-də istiqamətləndirmə rolu

Hover/press/focus rəy dilidir. İstifadəçi dərhal başa düşməlidir:
  • «Bu interaktiv?» (istiqamətləndirmə/kursor/işıqlandırma),
  • «Mən haradayam?» (fokus üslubu),
  • «Klik nə olacaq?» (vəziyyət və affordance),
  • «Bir hərəkət oldu?» (active/pressed və sonrakı feedback).

Prinsip: effektlər mənanı gücləndirir, onu əvəz etmir. Əsas məlumat və hərəkətə giriş yalnız istiqamətləndirmə arxasında gizlədilməməlidir.

2) Hallar modeli və semantika

Əsas dəst: 'default' → 'hover' → 'focus' → 'active/pressed' → 'disabled' → 'loading' (isteğe bağlı).
Linklər üçün 'visited', açarlar üçün 'checked' əlavə edin.

Fərqlilik tələbləri:
  • Hallar arasında - vizual forma/qalınlıq/ikona fərqi, yalnız rəng deyil.
  • Mətn/ikonanın fon kontrastı: ≥ 4. 5:1 (adi mətn), ≥ 3:1 (böyük/yağlı).
  • Fokus istiqamətsiz görünür (klaviatura/ekran).

3) Cihazlar və media sorğuları

Hər şey hover deyil. Müxtəlif giriş növləri üçün interaktivliyi planlaşdırın:
css
/ There is an exact pointer and hover (mouse/trackpad )/
@ media (hover: hover) and (pointer: fine) {/hover effects/}

/ No hover or rough pointer (touch/remote control )/
@ media (hover: none), (pointer: coarse) {/alternatives to hover/}

/ Any type of pointer (hybrid devices )/
@ media (any-hover: hover) {/minimal improvements/}
Qaydalar:
  • Tac cihazlarında, hərəkət effektlərini aşkar etmək üçün kritik deyil - açıq affordances istifadə edin: rəng/simge/çərçivə/ipucu.
  • Naviqasiya/nəzarət yalnız «hover altında» gizlətməyin.

4) Uzunluq və əyri

Qısa və proqnozlaşdırıla bilən:
  • Hover: 120-180 ms
  • Focus: 120-180 ms
  • Active/Pressed: 80–120 мс
  • Ripple/ink (istifadə edilərsə): ≤ 240 ms, 1 dövr

Default əyri: 'cubic-bezier (0. 2, 0, 0. 2, 1)`

Active - daha sürətli ('cubic-bezier (0. 4, 0, 1, 1) '), çıxış - daha yumşaq (' cubic-bezier (0, 0, 0. 2, 1)`).

5) Dizayn sistemi tokenləri (nümunə)

json
{
"interactive": {
"duration": { "hover": 160, "focus": 160, "active": 90 },
"easing": { "std": "cubic-bezier(0. 2,0,0. 2,1)", "acc": "cubic-bezier(0. 4,0,1,1)" },
"shadow": { "hover": "var(--elev-2)", "focus": "0 0 0 3px var(--focus-ring)" },
"opacity": { "disabled": 0. 38, "muted": 0. 64 }
}
}

6) Düymələr: istinad nümunəsi

Default: oxunan mətn ≥ 4. 5:1 doldurulması.
Hover: − Δ L fonu 0. 02–0. 04, yüngül kölgə, 'pointer' kursoru.
Active: daha − Δ L 0. 02–0. 04, qısaldılmış kölgə/basma (scale 0. 98), davam edir. 80-100 ms.
Focus: blur olmadan 2-3 px kontrast ring.
Disabled: курсор `not-allowed`/`default`, opacity ≤ 0. 38, hover effektləri yoxdur.

css
.button {
transition: background-color. 16s var(--ease), transform. 09s var(--ease-acc), box-shadow. 16s var(--ease);
}
@media (hover:hover) and (pointer:fine) {
.button:hover  { background: var(--btn-bg-hover); box-shadow: var(--shadow-hover); }
}
.button:active  { transform: scale(.98); }
.button:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--focus-ring); }
.button[disabled] { opacity:.38; pointer-events: none; }

7) Linklər və mətn hərəkətləri

Fərqlilik yalnız rəng deyil: default və ya hover/focus üzərində vurğulayın.
Rəhbərlik üçün: vurğulamanın gücləndirilməsi (qalınlığı/offset), yüngül ton dəyişikliyi.
'Visited' - eyni palitranın fərqli çalarıdır, kontrast saxlanılır.

css a { text-decoration: underline; text-underline-offset:.12em; }
@media (hover:hover) and (pointer:fine) {
a:hover { text-underline-offset:.2em; }
}
a:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--focus-ring); }

8) Kartlar, siyahılar, cədvəllər

Kartlar:
  • Hover: yumşaq kölgə/işıqlandırma çərçivəsi, 'pointer' kursoru yalnız bütün kart klikabildir.
  • Active: qısa basma, başlıq işıqlandırma.
  • Focus: kart ətrafında görünür ring, yalnız daxili deyil.
Cədvəl sətirləri:
  • Hover-fon Δ L 0. 02–0. 04; aktiv sətir - aydın çərçivə.
  • Xətt üzrə klik yalnız açıq affordance (ikona «→», ipucu) ilə icazə verilir.
Siyahılar:
  • Kaskadlı gecikmələrdən ibarət «zolağı» diqqətlə məhdudlaşdırın - maksimum 6-8 element (stagger 20-30 ms).

9) Giriş formaları və sahələri

Sahələrdə Hover: nazik işıqlandırma çərçivəsi (Δ L ~ 0. 05), blokun ölçüsünü dəyişdirmədən.
Focus: kontrast ring + çərçivə rəng dəyişikliyi; placeholder fərqləndirici olaraq qalır (≥ 3:1).
Səhv: rəng + ikona/mətn; qısa «shake» ≤ 6 px, ≤ 140 ms, bir dəfə icazə verilir.

10) Simvollar və kiçik hədəflər

Klik zonasını 20 × 24 px olsa belə 32-32 (masaüstü )/40 × 40 (mobil) qədər artırın.
Hover: 1-2 xassədən çox olmayan qeyri-şəffaflıq/doldurma/qalınlığı dəyişdirin.
Active: scale 0 qısa «snap». 98.
Focus: klik zonasının konteyner üzüyü.

11) Əlçatanlıq (A11y) və klaviatura

Saxlayın ': focus-visible' (siçan üçün fokus stilləri göstərmirik, klaviatura üçün - göstəririk).
Hover ipuçlarını yaradan elementlərin fokus ekvivalenti olmalıdır (eyni məzmun Tab/Enter klavişində görünür).
Aria atributları: interaktivlərin vəziyyətə görə 'role', 'aria-pressed '/' aria-expanded '/' aria-current' var.
Prefers-reduced-motion: Ölçü/sürüşməni minimum (opacity/fill) ilə əvəz edirik, dalğalanmaları söndürürük.

css
@media (prefers-reduced-motion: reduce) {
{ transition-duration:.01ms! important; animation: none! important; }
}

12) Performans

Yalnız 'opacity' və 'transform' animasiya edin; 'width/height/left/top', bir çox elementlərdə ağır blur/kölgələrdən çəkinin.
Orta dərəcədə 'will-change' istifadə edin; keçid bitdikdən sonra təmizləyin.
Siyahılar/cədvəllər - minimal effektlər, «qlobal» repaint olmadan.

13) Hover-intent və «yapışqanlıq»

Masaüstündə saxta hover tetikleyiciləri azaltın:
  • Çətin tooltip/menyu göstərməzdən əvvəl 80-120 ms gecikmə həddi.
  • Kursorun «yapışqanlığı»: istifadəçi nöqtədən menyuya bucaq altında hərəkət edirsə, 200-300 ms «dəhliz» (Fitts üçbucağı) verin.
  • tach - hover press və ya açıq «daha çox» düyməsi ilə əvəz.

14) Tooltip/menyu/dropdown

Açılış: hover-intent (masaüstü )/press (taç), bağlanma - qulluq/blur/ESC.
Mövqe - mənbəyə, ox hizalanmışdır; max-width və transfer daxildir.
Əlçatanlığı: 'role =' tooltip ', bağlayın' aria-describedby '; menyu üçün - 'role = «menu»' + oxları idarə etmək.

15) iGaming xüsusiyyətləri

Əmsallar/Liderbordlar: hover sətir/hüceyrə işıqlandırır, lakin mövqe metrikasını dəyişdirmir («atlama» olmadan).
Turnir/bonus kartları: hover çərçivə/ikonanı «canlandıra» bilər, lakin mətn CTA və şərtlər oxunaqlı olaraq qalır (≥ 4. 5:1).
Məsuliyyətli bildirişlər (18 +, limitlər): diqqəti yayındırma effektləri olmadan; istiqamətləndirərkən yalnız linklərin vurğulanmasına və aydın fokusa icazə verilir.
Bahis/alış düymələri: active-feedback tələb olunur (vizual klik/basma) və göndərildikdən sonra birmənalı disable.

16) Interfeys reseptləri nümunələri

CTA düyməsi (light/dark):
css
.cta {
background: var(--role-primary);
color: var(--on-primary);
transition: background-color. 16s var(--ease), transform. 09s var(--ease-acc), box-shadow. 16s var(--ease);
}
@media (hover:hover) and (pointer:fine) {
.cta:hover { background: var(--role-primary-hover); box-shadow: var(--elev-2); }
}
.cta:active { transform: scale(.98); }
.cta:focus-visible { box-shadow: 0 0 0 3px var(--focus-ring); }
Kart:
css
.card { transition: box-shadow. 16s var(--ease), border-color. 16s var(--ease); }
@media (hover:hover) and (pointer:fine) {
.card:hover { box-shadow: var(--elev-2); border-color: var(--border-strong); }
}
.card:focus-visible { box-shadow: 0 0 0 3px var(--focus-ring); }
Cədvəl sətri:
css
.table tr { transition: background-color. 12s var(--ease); }
@media (hover:hover) and (pointer:fine) {
.table tr:hover { background: var(--row-hover); }
}
.table tr:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }

17) Anti-nümunələr

Kritik hərəkətləri/menyunu yalnız hover arxasında gizlətmək.
Yerdəyişmə zamanı ölçüləri/düzülüşləri dəyişdirin (layout sıçrayışları).
Vəziyyətlərin fərqliliyi üçün yalnız rəngə əsaslanır.
Titrəmə, sonsuz dalğalanmalar, mətnlərdə «turşu» glow.
Qaranlıq mövzuda focus stillərinin olmaması və ya görünməzliyi.
'Pointer' kursorunu aktiv olmayan elementlərə yönəlt.

18) QA-çek siyahısı

Mövcudluq

  • Bütün interaktivlər klaviatura ilə əldə edilə bilər; fokus görürük.
  • Hover məzmunu 'focus '/' aria' ilə mövcuddur.
  • Mətn və simvolların kontrastı WCAG-a uyğundur.

Davranış

  • Hover/active/disabled/visited forma və ton ilə fərqlənir.
  • Cavab gecikməsi yoxdur> 120ms.
  • Tach bir alternativ hover var.

Performans

  • Yalnız 'transform '/' opacity' animasiya olunur.
  • Bir çox elementdə ağır blur/kölgələr yoxdur.
  • Uzun siyahılarda effektlər minimuma endirilir.

19) Dizayn sistemində sənədləşmə

Əsas komponentlər (düymələr, istinadlar, kartlar, sahələr, cədvəl sətirləri) üçün hallar cədvəli.
Light/dark üçün uzunluq/əyri/kölgə tokenləri və kod nümunəsi.
«Hover vs Touch» bölməsi: alternativlər qaydaları və nümunələr.
Qısa kliplər və kontrast göstəriciləri ilə «Do/Don 't».

Qısa xülasə

Rəhbərlik effektləri interfeys dilinin köməkçi, lakin kritik hissəsidir. Onları qısa və proqnozlaşdırıla bilən edin, klaviatura və taçları saxlayın, kontrast və görünən fokusu təmin edin, yalnız ucuz xüsusiyyətləri canlandırın. Sonra interaktivlik hərəkətlərin aydınlığını və sürətini artırır, onlara mane olmur.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.