Səhv iyerarxiyası və prioritetlərin işıqlandırılması
1) Niyə səhv iyerarxiyası lazımdır
Səhv sadəcə «qırmızı mətn» deyil. Bu, idarə olunan siqnaldır:- nə səhv olduğunu izah etmək,
- Bunun nə üçün vacib olduğunu göstərmək,
- bundan sonra nə edəcəyinizi söyləyin,
- bir neçə səhv varsa prioritet qoymaq.
- Səhv iyerarxiyası bilişsel yükü azaldır, düzəlişləri sürətləndirir və addımların dönüşünü artırır (qeydiyyat, ödənişlər, KYC).
2) Kritik səviyyələr modeli (Severity)
5 dərəcə tövsiyə edirik - məlumatlandırmadan tutmuş bloklama problemlərinə qədər:1. Info (məlumat) - «Profil natamam, sonra doldurmaq olar». Bloklamır.
2. Notice (diqqət) - «Limit demək olar ki, tükəndi». Hərəkət etməyi məsləhət görürük.
3. Warning (xəbərdarlıq) - «Formatın uyğunsuzluğu, məlumatlar qismən saxlanılır». müdaxilə edə bilər.
4. Error (səhv) - «Səhv format/məcburi sahə boşdur». Xüsusi hərəkəti bloklayır.
5. Critical (kritik) - «Ödəniş rədd/təhlükəsizlik riski». Ssenarini bloklayır, dərhal addım tələb edir.
Qaydalar:- Bir ekran - bir əsas status.
- Bir çox səhvlər üçün: yuxarıdan kritik göstəririk və ilk səhvə sabit şəkildə sürüşürük.
3) Prioritet işıqlandırma prinsipləri
1. Vizual iyerarxiya: rəng/ikona/qalınlıq/kontrast kritik artır.
2. Fəza yaxınlığı: aid olduğu sahə/zonanın yanında səhv.
3. Focus və sürüşmə: ilk səhv üçün auto-scroll + problem sahəsində fokus.
4. Bir əsas callout: kritik problem haqqında ümumi banner/alert + yerli ipuçları.
5. Token ardıcıllığı: Info/Warning/Error üçün rənglər/nişanlar/şriftlər bütün məhsulda dəyişməz olaraq qalır.
6. Həyat vaxtı: yerli səhvlər - hələ düzəldilməyib; bannerlər - bağlanana/düzəldilənə qədər.
7. Vəziyyəti qarışdırmayın: «boş» ≠ «səhv», «gözləmə» ≠ «səhv».
4) Vizual dil (UI-tokenlər)
Rənglər:- Info - neytral mavi/boz,
- Notice - kəhrəba/sarı,
- Warning - narıncı,
- Error - qırmızı,
- Kritik - zəngin qırmızı + kontrast fon.
- Nişanlar: info ⓘ, notice, error/, success.
- Sahənin altında inline-mesaj (minimum çərçivə).
- Row-callout xətt/kart.
- Page-alert (banner) - ümumi/kritik üçün.
- Mikroanimasiyalar: yumşaq görünüş, maket «dartılmadan».
5) Səhv mətnləri: formula və nümunələr
Formula: Nə səhv + Necə düzeltmek + (Niyə/məhdudiyyət).
"Səhv tarix formatı. DD formatında daxil edin. MM. GGGG"
"Fayl çox böyükdür (maksimum 10 MB). Daha kiçik faylı yükləyin"
"Yoxlama səviyyəsinin olmaması. KYC keçin - ~ 2 dəqiqə çəkəcək"
"Ödəniş bank tərəfindən rədd edilir. Başqa bir metodu sınayın və ya bankla əlaqə saxlayın"
Anti-nümunələr: «Səhv 400», «Bir şey səhv oldu», stresli addımlarda yumor.
6) Mürəkkəb formalarda iyerarxiya (qeydiyyat/KOS/ödənişlər)
1. Blur-da inline-validasiya: yerli səhvləri dərhal tutun.
2. Qlobal submit testi: «İşaretli sahələri düzəlt» bannerini və siyahını/lövbərlərini göstəririk.
3. Səhvlər üzrə naviqasiya: klaviatura/tabla, «Səhv # 1/ #N keçid».
4. Düzəliş qaydası: əvvəlcə bloklayıcı (Error/Critical), sonra Warning/Notice.
5. Kontekstin qorunması: daxil edilmiş məlumatlar səhv olduqda itirilmir.
7) Ssenarilərin xüsusiyyətləri
7. 1 Ödənişlər/nəticələr
Critical: provayder/bank tərəfindən rədd, şübhəli fəaliyyət.
Error: kart sahəsi/IBAN, məbləğ/tezlik limitləri.
Warning: yavaş şəbəkə/həddindən artıq gözləmə.
Mətn: "Ödəniş bank tərəfindən rədd edilir. Başqa bir metodu sınayın və ya bankla əlaqə saxlayın. Komissiya silinməyib"
7. 2 KUS/Təhlükəsizlik
Critical: sənəd saxta/bloklanmış ölkə/multi-hesab.
Error: oxunmaz sənəd/tarix uyğunsuzluğu.
Mətn: "Sənədin fotoşəkili bulanıqdır. Yaxşı işıqlandırma ilə daha aydın görüntü yükləyin"
7. 3 Axtarış/filtrlər
Bu səhv deyil, sıfır nəticədir.
Mətn: «{query}» üçün heç bir nəticə yoxdur. «Provider: X» filtrini çıxarın və ya «{alt}» sınayın. [Filtrləri sıfırla]"
8) Mövcudluq (A11y) və texniki tələblər
Səhvlər ekrana elan edilir: aria-live = «assertive» kritik, «polite» başqaları üçün.
Səhvi olan sahələr: aria-invalid =» true», mesajda aria-describedby.
Fokus ilk səhvə köçürülür; tabulyasiya qaydası məntiqi saxlayır.
WCAG AA kontrastı; Simge mətni əvəz etmir.
Mətn mənasını itirmədən ucadan oxunmalıdır.
9) Lokalizasiya və hüquqi dəqiqlik
Jarqon və mədəni metaforalardan çəkinin.
Terminlərin razılaşdırılması (lüğət): «ödəniş rədd edildi», «limit aşıldı», «yoxlama».
Vaxt və məhdudiyyətləri yerli formatda göstərin: «15 dəqiqəyə qədər», valyuta/tarix.
10) Keyfiyyət metrikası
Error rate (səhvə məruz qalan istifadəçilərin payı).
Time-to-Fix (ilk səhv düzəltməyə qədər orta vaxt).
Səhvdən sonra drop-off (düzəltmədən nə qədər gedir).
İstifadəçi/seanslarda səhvlərin təkrarlanması (recurrence).
Səhv növünə görə dəstək müraciətləri.
Hiyerarxiya dəyişikliklərindən əvvəl/sonra addım çevirmə.
- Auto-scroll və fokus vs yalnız rəng/mətn.
- Səbəbin dəqiq ifadəsi vs ümumi.
- İşıqlandırma qaydası (əvvəlcə banner → inline) vs (yalnız inline).
- Xətanın yanında «Tələbləri göstər» linkini əlavə edin.
11) Buraxılışdan əvvəl çek siyahısı
- Hər bir xətanın səviyyəsi var (Info/Notice/Warning/Error/Critical).
- Rəng/ikona/konteyner səviyyəsinə uyğundur.
- İlk səhv və fokusun köçürülməsi var.
- Mesaj nə/necə/niyə izah edir.
- Terminlər sözlüklə üst-üstə düşür; lokalizasiya yoxlanılır.
- Əlçatanlığı: aria atributları, kontrast, oxuma qabiliyyəti.
- Səhv olduqda məlumatlar itirilmir.
- «Sıfır nəticə» və «gözləmə» statusları səhv kimi rəsmiləşdirilməmişdir.
12) Nümunələr «əvvəl/sonra»
Tarix forması
Əvvəlki: «Səhv 400»
Sonra: "Səhv tarix formatı. DD istifadə edin. MM. GGGG"
Ödəniş
Əvvəlki: «Ödəniş keçmədi»
Sonra: "Ödəniş bank tərəfindən rədd edilir. Başqa bir metodu sınayın və ya bankla əlaqə saxlayın. Komissiya silinməyib"
KYC
Əvvəlki: «Sənəd qəbul edilməyib»
Sonra: "Sənədi tanımaq mümkün olmadı. Şəkilləri heç bir parıltı olmadan yükləyin, künclər və mətn görünür"
Sıfır axtarış (səhv deyil!)
Əvvəlki: «Səhv: heç bir şey tapılmadı»
Sonra: «Live roulette» üçün heç bir nəticə yoxdur. «High-limit» filtrini çıxarın və ya «roulette» sınayın. [Filtrləri sıfırla]"
13) Dizayn sisteminin komponentləri
`
Пропсы: `message`, `severity`, `ariaDescribedBy`, `compact`.
Render: mətn + ikona, rəng 'severity'.
`
Пропсы: `title`, `description`, `severity`, `actions[]`.
Variantlar: 'info | notice | warning | error | critical'.
`
Lövhə xətalarının siyahısı, klaviatura naviqasiyası, «Get # 1».
' ' (məntiq)
Sahə/forma/addım qaydaları, prioritetlər, sxemlər (məsələn, JSON-Schema), mesajların lokallaşdırılması.
14) Sürətli ifadə şablonları
15) Prosesə inteqrasiya
Mətnləri validasiya məntiqi ilə eyni vaxtda layihələndirin.
Komponentlərin yanında i18n-də sətirləri saxlayın, versiya edin.
PR çek siyahısında: səviyyəyə uyğunluq, aria atributlarının mövcudluğu, düzgün lokalizasiya.
Mütəmadi olaraq metrik səhvlər və dəstək rəyləri.
Yekun şparqalka
Səviyyələri rəqəmsallaşdırın: Info → Critical.
Prioriteti vizual və fokusda göstərin.
Düzəlişləri qısa və konkret izah edin.
Boşluğu səhv adlandırmayın.
Ölçün və təkmilləşdirin: error rate, Time-to-Fix, drop-off.