GH GambleHub

Mobile-safe dizayn

1) Mobile-safe tamoyillari

1. Thumb-first: ta’sir zonalari - bosh barmoq doirasida (pastki navigatsiya, FAB/pastki o’ngda primary).
2. Touch-friendly: 40-48 px ≥ maqsadlar; masofa ≥ 8-12 px.
3. Safe-area by design: (’env (safe-area-inset-)’).
4. Tezlik «go’zallikdan» muhimroqdir: LCP ≤ 2. 5 c, INP ≤ 200 ms, CLS ≤ 0. 1 (p75).
5. Vazminlik: minimal modalkalar, minimal shakllar, maksimal avto toʻldirish.
6. Tarmoqlar va batareya: tejamkor trafik, oflayn rejim, savodli retraylar.


2) To’rlar, breakpointlar va safe-area

Breykpindlar: ≤ 480 (mobayl), 481-768 (planshet vertikal), 769-1024 (planshet gorizontal).
Max-width konteynyerlari, 1-2 ustunli egiluvchan kartochkalar.
Pastki panellar ≥ 56 px, imo-ishora navigatsiyasi uchun zaxira.

CSS:
css
:root { --inset-b: env(safe-area-inset-bottom); --inset-t: env(safe-area-inset-top); }
.app { padding-bottom: calc(16px + var(--inset-b)); padding-top: calc(8px + var(--inset-t)); }

3) Matn, tugmalar va interaksiyalar

Matn: 16-18 px bazaviy, satrlararo 1. 4–1. 6, satr uzunligi 40-70 belgi.
Tugmalar: balandligi 44-52 px, aniq fokus/aktiv/disabled; belgi + matn, faqat belgi emas.
Imo-ishoralar har doim muqobil (tugma/menyu/issiq nuqta).
Animatsiyalar’transform/opacity’va’prefers-reduced-motion’ga hurmat qilinadi.


4) Shakllar, klaviatura va avtomobil to’ldirish

Maydonlarni minimallashtiring, inputmode/type va autocomplete yordamida:
html
<input type="email" inputmode="email" autocomplete="email">
<input type="tel" inputmode="tel" autocomplete="tel">
<input type="number" inputmode="numeric" pattern="[0-9]">
<input type="text" autocomplete="one-time-code" />

Niqoblar yumshoq (formatni koʻrsatamiz, lekin kiritishni buzmaymiz).

Avtokaps/avtokorreksiya (’autocapitalize =" sentencesoff"`).
Yordamlar/xatolar maydonning yonida va skrinrider (’aria-describedby’) uchun mavjud.

5) Navigatsiya va ekranlar arxitekturasi

Pastki navigatsiya (5 punktgacha) + «orqaga» imo-ishorasi.
Maqsadli ishlashgacha 3-5 tagacha.
Tanqidiy bo’limlar uchun «gamburger» dan qoching; tablar/segmented.
UI holatlari:’loading/empty/error/success’- aniq, harakatlar va tushuntirishlar bilan.


6) Unumdorlik va tejamkorlik

Code-split va dangasa vidjetlar; grafiklar/xaritalarni «talab bo’yicha» yuklaymiz.
Tanqidiy resurslar -’preload’, qolganlari -’defer ’/’ lazy’.
AVIF/WebP +’srcset/sizes’,’loading =’lazy’tasvirlari.
Shriftlar: 1 variable WOFF2,’font-display: swap’, preload faqat asosiy shriftlar.
Service Worker (PWA),’stale-while-revalidate’orqali kesh va oflayn.


7) Tarmoqlar, oflayn va retralar

3G/yuqori kechikish: so’rovlar limiti, batching, jittered backoff.
Muhim maʼlumotlar keshi va sinxronlash navbatiga ega oflayn ekran.
Maʼlumotlarni tejashni hurmat qiling: Client Hints/Save-Data → yengil tasvirlar, avto-videosiz.

JS (ma’lumotlar/tarmoq detektori):
js const saveData = navigator.connection?.saveData;
const slow = ['slow-2g','2g'].includes(navigator.connection?.effectiveType);
if (saveData          slow) enableLiteMode(); // менее тяжелые ресурсы

8) Mobailda foydalanish imkoniyati (A11y)

Klaviatura/o’zgartirish moslamalari bilan to’liq boshqarilishi va o’qish mumkin bo’lgan fokus.
Kontrast ≥ WCAG AA, muqobil matn (’alt’,’aria-label’).
Katta targetlar va animatsiya pauzalari; imo-ishoralar tugmalar bilan takrorlanadi.
Diagrammalar uchun - qisqa matnli rezyume va ma’lumotlar jadvali.


9) Qorong’u mavzu, yorqinlik va haptics

Qorong’u mavzu shunchaki inversiya emas; kontrastlar va ranglarni tekshiring.
Tizim mavzusini hurmat qiling (’prefers-color-scheme’).
Haptics - dozalangan (muvaffaqiyat/xato), oʻchirish imkoniyati.


10) Maxfiylik, ruxsatnomalar va xavfsizlik

Ruxsatnomalar faqat qiymatli paytda (kamera → hujjat skaneri).
«Nima uchun» tushuntirish va ruxsatsiz fallback.
parol o’rniga WebAuthn/biometriya; maxfiy soʻz boshqaruvchilari qoʻllab-quvvatlanmoqda.
Yopilganda sezgir maydonlarni yashiring; ogohlantiruvchi taymautlar.


11) Push-bildirishnomalar va fon vazifalari

Aniq qiymat stsenariylari, bo’lmasin; jim soatlar.
One-tap unsubscribe va afzalliklar markazi.
Orqa fon sinki - kichik qismlarda, batareya/tarmoq bo’yicha cheklovlar bilan.


12) Tasvirlar, media va moslashuvchanlik

Belgilangan oʻlchamdagi Placeholder → nol CLS.
Andoza video avtopleysiz, subtitrlar va nazoratli; moslashuvchan bitratlar.
Ikonkalar - vektor (SVG) yoki sprayt; 1 MB to’plamlarni yuklamang.


13) Snippetlar va sozlamalar

meta viewport va aksentlar:
html
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="theme-color" content="#11131A">
Maketni barqarorlashtirish va ekrandan tashqarida yashirish:
css
.card { content-visibility: auto; contain-intrinsic-size: 600px 400px; }
Past harakat rejimi:
css
@media (prefers-reduced-motion: reduce) { { animation: none!important; transition: none!important; } }

14) Test-reja (minimal)

Qurilmalar: 1 iOS + 1 Android (kichik/o’rta/katta ekran), portret/landshaft.
Tarmoqlar: oflayn, 3G, 4G (throttle); Save-Data.
Foydalanish imkoniyati: VoiceOver/TalkBack skriptlari, klaviatura o’tish joyi, kontrast.
Perfomans: Web-Vitals (RUM), profillovchi; katta roʻyxatlar, kirish/skroll/imo-ishoralar.
Barqarorlik: rotatsiya, burilish/qaytish, jarayonni o’ldirish → holatni tiklash.
Xavfsizlik: ruxsatnomalar, sessiya vaqti, shaxsiy ma’lumotlarni yashirish, biometriya.


15) Mobile-safe metrikasi

LCP/INP/CLS (p75, faqat mobil).
Time-to-Action (birlamchi maqsadli bosishgacha).
Tap Accuracy (yaqin elementlarning soxta toplari ulushi).
Crash-free sessions/ANR rate (ilovalar/vebvyu).
Data per session va Battery impact (orqa fon/old plan).
Opt-in/opt-out mo’yna va engagement.


16) Anti-patternlar

28-32 px tugmalari, zich roʻyxatlar, maydonsiz «xaritalar» - xatolar.
Matn 12-14 px och kulrang fonda.
Modalkalar ustiga modalkalar; faqat imo-ishora bilan yopish.
Videoni/animatsiyani 3G/Save-Data.
«Faqat imo-ishora», tugmasi/menyusisiz.
Hisobga olinmagan safe-area → kontentni «chelka» yoki svayp paneli bilan yopish.


17) Ekranning chek-varaqasi

  • Maqsadlar ≥ 48 px, cheklovlar ≥ 8-12 px
  • Safe-area учтен (`viewport-fit=cover`, `env(safe-area-inset-)`)
  • Matn ≥ 16 px, AA kontrast, fokus/aktiv koʻrinadi
  • Shakllar: toʻgʻri’type/inputmode/autocomplete’, avtomatik toʻldirish ishlamoqda
  • LCP ≤ 2. 5 c, INP ≤ 200 ms, CLS ≤ 0. 1 (mobayl)
  • Og’ir bloklarni lazy-loading, downsampling ro’yxatlari
  • Oflayn ekran, backoff retraalari, Save-Data rejimi
  • Mo’ynalar va ruxsatnomalar - talab bo’yicha, tushuntirish va rad etish bilan
  • Qorong’u mavzu va reduced-motion qo’llab-quvvatlandi
  • Testlar: iOS/Android, portret/landshaft, 3G/oflayn, SR-o’tish

18) Joriy etish rejasi (3 ta iteratsiya)

Iteratsiya 1 - Asoslari (1-2 hafta):
  • To’r va safe-area, 48 px targetlar, klaviatura/avto to’ldirish turlari, asosiy Web-Vitals, lazy tasvirlar, qorong’u mavzu.
Iteratsiya 2 - Unumdorlik va barqarorlik (3-4 hafta):
  • Code-split, content-visibility, oflayn + SW, Save-Data rejimi, retralar/navbatlar, holatni tiklash, A11y-audit.
Iteratsiya 3 - Optimallashtirish va masshtab (uzluksiz):
  • RUM-dashbordlar, trafik/batareya tahlili, haptics, ruxsatnoma ssenariylari, ro’yxatlarni yaxshilash (virtualizatsiya), mobil tarmoqlarning muntazam game-days.

19) Mini-FAQ

Alohida «mobil menyu» kerakmi?
Ha, lekin ustuvorlik - 3-5 bandli quyi navigatsiya; gamburger - ikkinchi darajali uchun.

Tugmalar boʻyicha xatolarni qanday kamaytirish mumkin?
Maqsadlarni 48 px ga ko’paytiring, atrofdagi maydonlarni qo’shing, vertikal chizing, «muvaffaqiyat/xato» uchun haptic’dan foydalaning.

Oflayn muhimmi?
Tanqidiy stsenariylar uchun - ha: kesh, harakatlar navbati va foydalanuvchiga halol maslahatlar.


Jami

Mobile-safe dizayn - bu teginish ergonomikasi, safe-area hisobi, unumdorlik, tarmoqlarga/batareyaga kirish va chidamlilik kombinatsiyasi. Chek-varaqlarga amal qiling, haqiqiy foydalanuvchilar bilan Web-Vitals o’lchang, maxfiylik va tizim sozlamalarini hurmat qiling - va sizning interfeysingiz har qanday mobil qurilmada qulay va ishonchli bo’ladi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.