Sparround

Accessibility (a11y) testinin əsasları

Accessibility (a11y) — məhsulun əlilliyi olan istifadəçilər üçün istifadə oluna bilməsi: ekran oxuyucu (screen reader), yalnız klaviatura ilə naviqasiya, zəif görmə, rəng korluğu, motor məhdudiyyətlər. Standart: WCAG (səviyyələr A, AA, AAA — praktikada hədəf adətən AA).

QA üçün niyə vacibdir: (1) bir çox ölkədə hüquqi tələbdir (dövlət və maliyyə sektorunda xüsusilə); (2) istifadəçi bazasının real hissəsidir; (3) a11y düzəlişləri ümumi UX-i də yaxşılaşdırır (aydın label-lar, klaviatura dəstəyi hamıya lazımdır).

Ən vacib fikir Playwright kontekstində: getByRole('button', { name: 'Ödə' }) locator-u həm də a11y yoxlamasıdır. Əgər bu locator işləyirsə, deməli elementin düzgün role-u və əlçatan adı (accessible name) var — yəni ekran oxuyucu da onu "Ödə düyməsi" kimi oxuyacaq. Element <div onclick> olsaydı, locator tapmazdı.

Bu, çox güclü bir arqumentdir: user-yönümlü locator-lardan istifadə etmək, artıq bir a11y qatını pulsuz gətirir. İnterview-da bu əlaqəni qurmaq nadir və yaddaqalandır.

Avtomatik yoxlama: @axe-core/playwright paketi səhifəni WCAG qaydalarına görə skan edir və pozuntuları qaytarır (violations massivi: qaydanın id-si, təsir səviyyəsi, hansı elementlər).

Tutduğu tipik problemlər: alt mətni olmayan şəkillər, label-siz form sahələri, kifayət etməyən rəng kontrastı, səhv başlıq iyerarxiyası, lang atributunun olmaması, ARIA-nın səhv istifadəsi.

Kritik məhdudiyyət — mütləq bilinməli: avtomatik alətlər WCAG problemlərinin təxminən üçdə birini tutur. Qalanı insan qiymətləndirməsi tələb edir: alt mətni mövcuddur, amma məzmunu mənasızdırsa (alt="image1"); focus sırası məntiqli deyilsə; error mesajı ekran oxuyucuya elan olunmursa. Bu rəqəmi bilmək interview-da ciddi plus-dır, çünki alətə həddindən artıq güvənməmək göstəricisidir.

Əl ilə yoxlanan minimum (avtomatlaşdırmadan da edilə bilər):

  • Klaviatura naviqasiyası — Tab ilə bütün interaktiv elementlərə çatmaq, focus-un görünməsi, modal-da focus trap, Esc ilə bağlanma
  • Focus sırası — vizual sıra ilə uyğun olması
  • Ekran oxuyucu ilə keçid — kritik axının (login, ödəniş) NVDA/VoiceOver ilə bir dəfə gəzilməsi

Praktik strategiya: axe skanı kritik səhifələr üçün CI-da avtomatik; klaviatura axını Playwright testi kimi; ekran oxuyucu yoxlaması dövri manual iş kimi.

ProblemAvtomatik tutulur?Yoxlama üsulu
Şəkildə alt atributu yoxdurBəliaxe skanı
alt var, amma mənasızdır (alt="img1")Xeyrİnsan review-u — məzmunun mənası qiymətləndirilir
Rəng kontrastı kifayət etmirBəliaxe skanı (WCAG AA nisbətləri)
Düymə `<div onclick>` kimi qurulubBəliaxe, həm də `getByRole` locator-un sınması
Tab sırası vizual sıra ilə uyğun deyilXeyrKlaviatura ilə əl yoxlaması / hədəflənmiş test
Modal-da focus qapalı deyil (arxa fona keçir)QismənPlaywright testi: Tab dövrəsinin yoxlanması
Error mesajı ekran oxuyucuya elan olunmurQismənrole="alert"/aria-live yoxlaması + ekran oxuyucu

İnterview-da yaddaqalan cavab: "Mən a11y-ni ayrıca iş kimi görmürəm — `getByRole` istifadə etdiyim üçün hər testim artıq element-səviyyəli a11y yoxlaması aparır; üstünə kritik səhifələrdə axe skanı və klaviatura axını testi əlavə edirəm." Sonra məhdudiyyəti də de: avtomatik alətlər problemlərin təxminən 1/3-ni tutur — bu rəqəm sənin mövzunu səthən deyil, real başa düşdüyünü göstərir.

📚 Mənbələr və sənədlər