Əlçatanlığa doğru

Əlçatanlığa doğru

Cümə günü iş gününün sonu. Pis xəbər həmişə cümə günü iş gününün sonunda gəlir.

Ofisi tərk etmək üzrəsiniz, poçta başqa bir yenidənqurma haqqında yeni məktub gəldi.

Təşəkkür edirəm xxxx, yyy bu gündən zzzz xəbər verəcəksiniz
...
Hughun komandası məhsullarımızın əlilliyi olan insanlar üçün əlçatan olmasını təmin edəcək.

Oh yox! Mən niyə buna layiq idim? Getməyimi istəyirlər? Özünüzü minnətsiz zəhmətə və başqalarının səhvlərini düzəltməyə çalışın. Bu, şübhəsiz ki, uğursuzluqdur ...

Bu, bir neçə il əvvəl mövcudluq idi. Bəzi kasıb ruhlara UI-ni "təmizləmək" işi tapşırıldı ki, onu əlil insanlar üçün əlçatan etsin.

Bunun əslində nə demək istədiyi olduqca qeyri-müəyyən idi - ehtimal ki, sahələr arasında bir fokus göstəricisi və nişanı görə bilsəniz, bir neçə alt mətn və bir neçə sahə təsvirinə sahib olsanız, tətbiqinizin əlçatan olduğu hesab ediləcək ...

Ancaq birdən "böcəklər" uçqun sürəti ilə çoxalmağa başladı.

Müxtəlif ekran oxuyucuları (Eng. Screen Readers) və brauzerlər tamamilə fərqli davrandılar.

İstifadəçilər proqramın istifadəyə yararsız olmasından şikayət ediblər.

Bir yerdə səhv düzəldilən kimi, başqa yerdə başqası peyda oldu.

Və sadəcə istifadəçi interfeysi səhvlərini dəyişdirmək və düzəltmək Herculean səylərini tələb etdi.

Mən oradaydım. Mən sağ qaldım, amma "uğur əldə edə bilmədik" - texniki cəhətdən biz çox təmizlədik, çoxlu sahə təsvirləri, rollar əlavə etdik və müəyyən bir uyğunluq səviyyəsinə nail olduq, amma heç kim xoşbəxt olmadı. İstifadəçilər hələ də tətbiqdə naviqasiya edə bilmədiklərindən şikayətlənirlər. Menecer yenə də daimi səhv axınından şikayətlənirdi. Mühəndislər problemin bütün hallarda işləyəcək aydın şəkildə müəyyən edilmiş “düzgün” həlli olmadığından şikayət edirdilər.

Əlçatanlığı anlamaq üçün səyahətim boyunca bəzi qətiliklə göz açan anlar oldu.
Bəlkə də birincisi, hazır məhsulun üzərinə əlçatanlıq funksionallığı əlavə etməyin çətin olduğunu başa düşmək idi. Və menecerləri bunun inanılmaz dərəcədə çətin olduğuna inandırmaq daha çətindir! Xeyr, bu, sadəcə "bir neçə teq əlavə etmək" deyil və UI yaxşı işləyəcək. Xeyr, bu üç həftə ərzində tamamlana bilməz, hətta üç ay kifayət etməyəcəkdir.
Mənim növbəti həqiqət anım kor istifadəçilərin bizim tətbiqimizdən necə istifadə etdiyini ilk əldən görəndə gəldi. Bu, səhv mesajlarına baxmaqdan çox fərqlidir.

Mən buna dönə-dönə qayıdacağam, lakin insanların bizim tətbiqimizdən necə istifadə etməsi ilə bağlı demək olar ki, bütün "fərziyyələrimiz" səhv idi.

Klaviatura vuruşlarından istifadə edərək mürəkkəb istifadəçi interfeysində naviqasiya Tab/Shift+Tab - bu pisdir! Bizə daha yaxşı bir şey lazımdır. Klaviatura qısa yolları, başlıqlar.

UI dəyişdirərkən diqqəti itirmək böyük problem deyil, elə deyilmi? Yenidən düşünək - bu inanılmaz dərəcədə çaşqınlıq yaradır.

Davam etdim, bir müddət müxtəlif layihələr üzərində işlədim və sonra nəhayət bu dəfə əlçatanlığı əldə etmək üçün mürəkkəb istifadəçi interfeysi və aydın quraşdırma ilə yeni bir layihəyə başladıq.

Beləliklə, biz bir addım geri çəkildik və bunu necə fərqli şəkildə həyata keçirə biləcəyimizə və uğur qazana biləcəyimizə və prosesi daha az darıxdırıcı edə biləcəyimizə baxdıq!

Tezliklə bəzi nəticələrə gəldik:

  1. İstifadəçi interfeysini inkişaf etdirən insanların ariya etiketləri/rolları və təbii ki, komponentlərin HTML strukturu ilə qarışmasını istəmədik. Biz onları qutudan çıxaraq əlçatanlığı yaradan düzgün komponentlərlə təmin etməli idik.
  2. Əlçatanlıq == İstifadə rahatlığı – yəni. Bu təkcə texniki problem deyil. Biz bütün dizayn prosesini dəyişdirməli və UI dizaynı başlamazdan əvvəl əlçatanlığın nəzərə alınmasını və müzakirə olunmasını təmin etməli idik. İstifadəçilərin hər hansı bir funksiyanı necə kəşf edəcəyini, necə naviqasiya edəcəyini və klaviaturadan sağ klikləməyin necə işləyəcəyini əvvəlcədən düşünməlisiniz. Əlçatanlıq dizayn prosesinin ayrılmaz hissəsi olmalıdır - bəzi istifadəçilər üçün bu, tətbiqin görünüşündən daha çox şeydir.
  3. Əvvəldən biz kor və digər əlil istifadəçilərdən tətbiqin istifadəsinin asanlığı ilə bağlı rəy almaq istəyirdik.
  4. Bizə əlçatanlıq reqressiyalarını tutmaq üçün həqiqətən yaxşı yollar lazım idi.

Yaxşı, mühəndislik nöqteyi-nəzərindən birinci hissə olduqca əyləncəli səsləndi - arxitekturanın inkişafı və komponentlər kitabxanasının tətbiqi. Və həqiqətən də belə idi.

Geri addım atmaq, baxmaq ARIA nümunələri və bunu "uyğunlaşma" problemi deyil, dizayn problemi kimi düşünərək bəzi abstraksiyalar təqdim etdik. Komponentin "Strukturu" (HTML elementlərindən ibarətdir) və "Davranış" (istifadəçi ilə necə qarşılıqlı əlaqəsi) var. Məsələn, aşağıdakı fraqmentlərdə sadə sıralanmamış siyahımız var. "Davranışlar" əlavə edilməklə siyahıya uyğun rollar əlavə olunur ki, siyahı kimi fəaliyyət göstərsin. Menyu üçün də eyni şeyi edirik.

Əlçatanlığa doğru

Əslində, burada təkcə rollar deyil, həm də klaviatura naviqasiyası üçün hadisə işləyiciləri əlavə olunur.

Bu daha səliqəli görünür. Əgər onlar arasında təmiz bir ayrılıq əldə edə bilsək, strukturun necə yaradıldığının əhəmiyyəti yox idi, ona Davranışları tətbiq edib əlçatanlığı düzgün əldə edə bilərdik.

Bunu burada fəaliyyətdə görə bilərsiniz https://stardust-ui.github.io/react/ - UX kitabxanası Reaksiya, başlanğıcdan əlçatanlığı nəzərə alaraq hazırlanmış və həyata keçirilmişdir.

İkinci hissə - dizayn ətrafında yanaşma və proseslərin dəyişdirilməsi əvvəlcə məni qorxutdu: təşkilati dəyişiklikləri sınamağa çalışan aşağı mühəndislər həmişə yaxşı bitmir, lakin prosesə əhəmiyyətli töhfələr verdiyimiz ən maraqlı sahələrdən biri oldu. . Bir sözlə, prosesimiz belə idi: yeni funksionallıq bir komanda tərəfindən hazırlanacaq, sonra rəhbərlik komandamız təklifi nəzərdən keçirəcək/içəriş edəcək və sonra təsdiq edildikdən sonra dizayn adətən mühəndislik qrupuna təhvil veriləcək. Bu halda, mühəndislik qrupu əlçatanlıq funksionallığına effektiv şəkildə “sahibidir”, çünki onunla bağlı hər hansı problemi həll etmək onların məsuliyyəti idi.

Başlanğıcda, əlçatanlıq və istifadənin ayrılmaz şəkildə əlaqəli olduğunu və bunun dizayn mərhələsində edilməli olduğunu izah etmək olduqca çətin bir iş idi, əks halda bu, bəzi rolların böyük dəyişikliklərinə və yenidən müəyyənləşdirilməsinə səbəb olardı. Bununla belə, rəhbərliyin və əsas oyunçuların dəstəyi ilə biz ideyanı götürdük və onu hərəkətə keçirdik ki, dizaynlar rəhbərliyə təqdim edilməzdən əvvəl əlçatanlıq və istifadə üçün sınaqdan keçirilsin.

Və bu rəy hər kəs üçün son dərəcə dəyərli idi - istifadəçilərin veb tətbiqləri ilə necə qarşılıqlı əlaqədə olduğu haqqında bilik mübadiləsi/ünsiyyət məşqi kimi fantastik idi, biz çoxlu UI problem sahələrini onlar qurulmamışdan əvvəl müəyyən etdik, indiki inkişaf qrupları daha yaxşı texniki xüsusiyyətlərə malikdir. dizaynın yalnız vizual, həm də davranış aspektləri. Həqiqi müzakirələr texniki aspektlər və qarşılıqlı əlaqələr haqqında əyləncəli, enerjili, ehtiraslı müzakirələrdir.

Bu (və ya sonrakı) görüşlərdə kor və əlil istifadəçilərimiz olsaydı, bunu daha yaxşı edə bilərdik - bunu təşkil etmək çətin idi, lakin biz indi həm yerli kor təşkilatlarla, həm də ilkin mərhələdə icra axınını yoxlamaq üçün xarici testlər təqdim edən şirkətlərlə işləyirik. inkişaf - həm komponent, həm də icra axını səviyyələrində.

Mühəndislər indi kifayət qədər təfərrüatlı spesifikasiyalara, həyata keçirmək üçün istifadə edə biləcəkləri komponentlərə və icra axınını yoxlamaq yoluna malikdirlər. Təcrübənin bizə öyrətdiklərinin bir hissəsi, bütün müddət ərzində əldən verdiyimiz şeylərdir - reqressiyanı necə dayandıra bilərik. Eyni şəkildə, insanlar funksionallığı sınamaq üçün inteqrasiya və ya başdan-başa testlərdən istifadə edə bilərlər ki, bu da həm vizual, həm də davranış baxımından qarşılıqlı təsirlərdə və icra axınlarında dəyişiklikləri aşkarlamalıyıq.

Vizual reqressiyanın müəyyən edilməsi kifayət qədər müəyyən edilmiş bir vəzifədir, klaviatura ilə naviqasiya zamanı fokusun görünüb-görünmədiyini yoxlamaqdan başqa prosesə əlavə edilə biləcək çox az şey var. Daha maraqlısı əlçatanlıqla işləmək üçün iki nisbətən yeni texnologiyadır.

  1. Əlçatanlıq haqqında məlumat problemləri müəyyən etmək üçün həm brauzerdə, həm də qurma/test dövrünün bir hissəsi kimi işlədilə bilən alətlər toplusudur.
  2. Ekran oxuyucularının düzgün işlədiyini yoxlamaq xüsusilə çətin iş olub. Girişin tətbiqi ilə Əlçatanlıq DOM, nəhayət, vizual testlər üçün etdiyimiz kimi tətbiqin əlçatanlıq anlıq görüntülərini çəkə və reqressiya üçün sınaqdan keçirə bildik.

Beləliklə, hekayənin ikinci hissəsində - HTML kodunu redaktə etməkdən daha yüksək abstraksiya səviyyəsində işləməyə keçdik, dizaynın hazırlanması prosesini dəyişdirdik və hərtərəfli sınaqdan keçirdik. Yeni proseslər, yeni texnologiyalar və yeni abstraksiya səviyyələri əlçatanlığın mənzərəsini və bu məkanda işləməyin nə demək olduğunu tamamilə dəyişdi.
Ancaq bu yalnız başlanğıcdır.

Növbəti “anlayış” ondan ibarətdir ki, kor istifadəçilər qabaqcıl texnologiyanı idarə edirlər – onlar təkcə əvvəldə təsvir etdiyimiz dəyişikliklərdən deyil, həm də ML/AI tərəfindən mümkün olan yeni yanaşma və ideyalardan ən çox faydalananlardır. Məsələn, Immersive Reader texnologiyası istifadəçilərə mətni daha asan və aydın şəkildə təqdim etməyə imkan verir. O, ucadan oxuna bilər, cümlə quruluşu qrammatik olaraq parçalanır və hətta söz mənaları qrafik şəkildə göstərilir. Bu, köhnə “onu əlçatan et” zehniyyətinə qətiyyən uyğun gəlmir - bu, hər kəsə kömək edəcək bir istifadə xüsusiyyətidir.

ML/AI qarşılıqlı əlaqə və işləməyin tamamilə yeni üsullarını təmin edir və biz bu qabaqcıl səyahətin növbəti mərhələlərinin bir hissəsi olmaqdan məmnunuq. İnnovasiya düşüncə dəyişikliyi ilə idarə olunur - bəşəriyyət minilliklərdir, maşınlar yüz illərdir, vebsaytlar bir neçə onilliklərdir və smartfonlar daha azdır, texnologiya insanlara uyğunlaşmalıdır, əksinə deyil.

P.S. Məqalə orijinaldan kiçik sapmalarla tərcümə olunub. Bu məqalənin həmmüəllifi kimi mən Hugh ilə bu sapmalarda razılaşdım.

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Tətbiqlərinizin əlçatanlığına diqqət yetirirsinizmi?

  • Bəli

  • Heç bir

  • Tətbiq əlçatanlığı haqqında ilk dəfədir eşidirəm.

17 istifadəçi səs verib. 5 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

Добавить комментарий