UI dizaynida ranglar faqat bezak emas: ular foydalanuvchining ko‘rish yo‘nalishi, sezgirlik chegaralari va xato qilish ehtimoliga bevosita ta’sir qiladi. Ushbu maqola rang kontrasti, rang ko‘rish nuqsonlari va davlat (status)larni ifodalash bo‘yicha tekshiriladigan amaliy qoidalarni beradi.
Matnda keltirilgan talablar va raqamlar asosan WCAG (Web Content Accessibility Guidelines) kabi standartlarga tayangan holda beriladi, shunda ularni dizayn qarorlarida tekshirib qo‘yish mumkin bo‘ladi.
Rangning UI psixofizik ta’siri: e’tibor qayerga ketadi
Rang “nima muhimligini” ko‘rsatadi, lekin ta’sir birgina rangning o‘zidan emas, uning fon bilan farqi va kontekstdan keladi. Ayniqsa, kontrast past bo‘lsa, foydalanuvchi elementni “ko‘rmaydi” va keyinroq xato qiladi (masalan, tugma bosilmaydi yoki noto‘g‘ri tanlov bo‘ladi).
Praktik qoida shuki: muhim harakatlar (masalan, “Tasdiqlash”) odatda yuqori kontrastli matn fonida, “faol/harakatsiz” holatlar esa farqlanuvchi rang yoki qo‘shimcha signal (ikon/yozuv) bilan ajratiladi. Rangga faqat tayanish rang ko‘rish nuqsoni bo‘lgan foydalanuvchilarda ishlamasligi mumkin.
Kontrast: tekshiriladigan mezonlar va amaliy natija
WCAG matn va muhim UI elementlar uchun rang kontrasti bo‘yicha minimal nisbatlarni belgilaydi. Kontrast nisbati “relativ luminans” asosida hisoblanadi va matn rangining fon rangiga qanchalik ajralishini ko‘rsatadi.
Quyidagi jadvaldan mobil interfeysda tez tekshiruv uchun foydalanish mumkin: agar nisbat past bo‘lsa, foydalanuvchi o‘qish yoki bosish vaqtida qiynaladi.
| Element | Talab (WCAG 2.x) | Qanday yoziladi |
|---|---|---|
| Oddiy matn | Kamida 4.5:1 | Kontrast nisbati |
| Katta matn | Kamida 3:1 | Font kattaligi bo‘yicha |
| UI/graphik elementlar va fokus konturi | Kamida 3:1 | Masalan, tugma konturi |
Bu nimani beradi: masalan, “ustun rang” (masalan, sariq fon ustida kulrang matn) ko‘rinishda yaxshi tuyulishi mumkin, lekin luminans farqi yetarli bo‘lmasa 4.5:1 dan past tushib qoladi. Shunda matn “o‘qiladi” degan taxmin noto‘g‘ri bo‘lib chiqadi.
Amaliy tekshiruv: dizayn vositasida kontrast kalkulyator yoki brauzer aksessibilite tekshiruvlari orqali nisbatni ko‘ring. Agar sizda dizayn tizimi bo‘lsa, “token” (masalan, --text-on-primary) uchun kontrastni avtomatik nazorat qilish mumkin.
Rangga ishonmaslik: state (status)ni aniq ajratish
UI da rang ko‘pincha holat (state)ni bildiradi: xato — qizil, muvaffaqiyat — yashil, ogohlantirish — sariq. Biroq rang ko‘rish nuqsonlari bo‘lganda “qizil-yashil farqi” yo‘qolishi mumkin. Shuning uchun har state kamida bitta qo‘shimcha signalga ega bo‘lishi kerak.
Amaliy variantlar: ikon (masalan, “!” belgisi), matn yorlig‘i (“Xato”, “Muvaffaqiyat”), yoki naqshli/yo‘g‘on kontur. Natija shuki, foydalanuvchi rangdan ko‘ra strukturani (ikon va matn) orqali to‘g‘ri tushunadi.
- Xato (Error): rang + “Xato” matni yoki xato ikonasi + aniq tavsiya matni.
- Ogohlantirish (Warning): rang + “Diqqat”/“Tekshiring” kabi label yoki qo‘shimcha kontekst.
- Muvaffaqiyat (Success): rang + “Bajarildi”/“Yuborildi” kabi tasdiqlovchi matn.
Qo‘shimcha mexanizm: “fokus” konturi (keyboard/touch focus) uchun rang kontrast mezonini albatta tekshiring. Fokus ring rang bilan o‘xshash bo‘lsa, foydalanuvchi qaysi element tanlanganini bilmay qoladi.
TARIXGA QARATILGAN KONTEKST: nima uchun kontrast va rang cheklovlari paydo bo‘lgan?
Rang bilan axborot uzatish g‘oyasi juda erta paydo bo‘lgan bo‘lsa-da, raqamli UI da kontrast va aksesibillik talablari 2000-yillardan boshlab jiddiy standartlashdi. Sabab oddiy: ekranlar, yorug‘lik sharoitlari va foydalanuvchilar ehtiyoji turlicha bo‘lgani uchun “faqat rang” yetarli bo‘lmay qoldi.
Standart yo‘nalishida muhim bosqichlardan biri WCAG bo‘lib, u veb tarkib uchun muvaffaqiyat mezonlarini (masalan, kontrast nisbatlari) aniq ko‘rsatdi. Bu yondashuv keyinchalik mobil UI kabi boshqa platformalarga ham amaliy ta’sir qildi: dizaynerlar va muhandislar bir xil hisobga asoslangan mezonlarni qo‘llay boshladi.
- 1999: Rang idroki nuqsonlari bo‘yicha tadqiqotlar ommalashib, “rangga bog‘liq” xabarlar xavfi ko‘proq tilga olina boshladi.
- 2008: WCAG 2.0 (W3C) e’lon qilindi va u kontrast bo‘yicha aniq nisbatlarni “tekshiriladigan” ko‘rinishda berdi.
- 2018: WCAG yangilanishlari va interpretatsiyalari davom etib, kontrastni tekshirish madaniyati mahsulot jarayoniga kirdi.
Bu tarixdan amaliy xulosa: kontrast va state ajratish “sub’ektiv did” emas, tekshiruvdan o‘tiladigan mezon. Shuning uchun dizaynda qarorlar keyin qayta ishlanmaydi.
ISHLASH MEXANIZMI: rang qanday qilib ko‘rish va tanlovga ta’sir qiladi?
Rang ta’siri 2 asosiy mexanizm orqali tushuniladi: (1) kontrast — ko‘rish tizimi narsalarni ajratish; (2) vizual kodlash — foydalanuvchi signallarni qaysi tartibda o‘qishi. Kontrast past bo‘lsa, ko‘rish tizimi “chegarani” topishda qiynaladi va elementlar bir massaga o‘xshab ketadi.
State (masalan, tugma bosilmaydigan holat) uchun esa foydalanuvchi odatda 3 belgidan foydalanadi: rang, tekstura/konturning holati va xabar matni. Agar rangdan boshqa signal bo‘lmasa, rang idroki nuqsoni bo‘lgan foydalanuvchi “disabled” va “error”ni adashtirishi mumkin.
Amaliy “qadam-baqadam” tekshiruv shunday:
- Matn yoki muhim kontur uchun kontrast nisbatini hisoblang (4.5:1 yoki 3:1 mezoniga qarang).
- Tugma/label state’larini rangdan tashqari ikon yoki label bilan ajrating.
- Turli fonlarda (oq, qora, rangli) bir xil dizayn tokenlari ishlashini tekshiring.
- Fokus va xatolar bo‘limida klaviatura yoki tez-tez bosiladigan touch oqimida foydalanuvchi yo‘nalishini ko‘ring.
Natija: siz “rang chiroyli” degan taxminni o‘rniga ko‘rinish va tushunish darajasini o‘lchanadigan mezonlar bilan bog‘laysiz.
Amaliy tanlash: palitra va tokenlar bilan rang strategiyasi
Mobil ilovalarda eng ko‘p xatolik “tasodifiy” rang tanlash: bir ekran uchun mos ko‘ringan rang, boshqa fonda kontrastni buzadi yoki state’larni chalkashtiradi. Shuning uchun ranglarni tokenlarga ajratish (masalan, primary, on-primary, text, on-surface) va ularni kontrast talablariga tekshirish samarali yo‘l.
Quyidagi amaliy mezonlar dizayn tizimi palitrasini barqaror saqlaydi:
- Primary rangni tanlaganda, u ustidagi matn uchun “on-primary” varianti kontrast bo‘yicha minimal talabni bajarsin.
- Text rangini alohida token sifatida boshqaring: turli fonlarda fon bilan nisbat o‘zgaradi.
- Error/Warning/Success ranglar uchun faqat rang emas, label va ikon ham shart.
- Disabled holatda kontrast juda pasayib ketmasin: “ko‘rinmaydigan” elementlar foydalanuvchiga xizmat qilmaydi.
Tipik xato: “success” yashil rangni juda xira qilib qo‘yish. U yaxshi niyat bilan qilingan bo‘lsa ham, kontrast pastligi sabab o‘qish va xabarni tez topish yomonlashadi.
Rang ko‘rish nuqsonlari uchun tekshiruv: Deuteranopiya misolida
Rang ko‘rish nuqsonlari ichida eng ko‘p uchraydigani qizil-yashil farqini pasaytiradigan turlar. Shuning uchun “xato — qizil” va “muvaffaqiyat — yashil”ni faqat rang bilan ajratish xavfli. Natijada ranglar “bir-biriga o‘xshash” bo‘lib qoladi.
Amaliy tekshiruv usuli: dizaynda state’larni (error/success) ikon va matn bilan ajrating, so‘ng ranglarni o‘zgartirishdan keyin ham ma’no saqlanayotganini ko‘ring. Agar foydalanuvchi ikona yoki labelsiz farqni tushunmasa, kodlash yetarli emas.
- Har state uchun ikon (xato uchun belgi, muvaffaqiyat uchun tasdiq belgisi).
- Har state uchun qisqa label: “Xato”, “Bajarildi”.
- Qo‘shimcha matn: nima noto‘g‘ri va nima qilish kerakligi.
FAQ
Rang tanlashda kontrastni tekshirish shartmi, yoki dizayn “estetik” bo‘lsa kifoyami?
Kontrastni tekshirish kerak, chunki kontrast nisbati past bo‘lsa matn va muhim konturlar real foydalanishda o‘qilmay qoladi. WCAG mezonlari bo‘yicha oddiy matn uchun minimal nisbat 4.5:1, fokus yoki muhim grafik elementlar uchun 3:1 ko‘rsatiladi.
Faqat rang bilan xato va muvaffaqiyatni ajratsam bo‘ladimi?
Ko‘pincha yo‘q. Rang ko‘rish nuqsonlari sabab “qizil-yashil” farqi yo‘qolishi mumkin. Amaliy yechim: rang + label yoki ikon. Shunda foydalanuvchi ma’noni rangsiz ham tushunadi.
“Disabled” tugmada rangni pasaytirish qanchalik bo‘lishi kerak?
Disabled holatni xira qilish mumkin, lekin matn va kontur kontrasti juda pastga tushib ketmasin. Aks holda foydalanuvchi uni oddiy holat deb adashtirishi yoki aksincha butunlay ko‘rmay qolishi mumkin. Fokus va muhim grafik elementlar uchun 3:1 kabi mezonlarni tekshiring.
Dark mode’da ranglar avtomatik ishlaydi deb o‘ylash to‘g‘rimi?
To‘g‘ri emas. Oq fonda mos bo‘lgan kombinatsiya qorong‘ida kontrastni buzishi mumkin. Shuning uchun dark mode uchun ham “on-” tokenlar (masalan, on-surface) kontrast bo‘yicha tekshirilishi kerak.
Fokus konturi (keyboard focus) uchun rang kontrasti nega alohida muhim?
Fokus konturi foydalanuvchiga qaysi element tanlanganini bildiradi. Agar kontur bilan fon kontrasti past bo‘lsa, navigatsiya sekinlashadi va xatolar ko‘payadi. WCAG bo‘yicha muhim grafik/fokus elementlar uchun minimal 3:1 kontrast mezoni ishlatiladi.
Rang tokenlari jarayonda qanday ishlatilsa samarali bo‘ladi?
Ranglarni tokenlarga ajratib, har token juftligi (masalan, primary va on-primary) kontrast talablariga mosligini oldindan tekshiring. Shunda yangi ekran qo‘shilganda rang tasodifan noto‘g‘ri uyg‘unlashmaydi va qayta ishlash kamayadi.
Xulosa
Rang UI da ko‘rinish, tushunish va navigatsiyaga ta’sir qiladigan signal bo‘lib, u kontrast va state kodlash mexanizmlari orqali “tekshiriladigan” ko‘rsatkichga aylanishi kerak. Shunda dizayn nafaqat chiroyli, balki real foydalanishda ishlaydi.
Eng amaliy yo‘l: ranglarni tokenlarga ajrating, WCAG bo‘yicha kontrastni tekshiring va xatoni/holatlarni rangdan tashqari ikon yoki label bilan mustahkamlang.