Menuju aksesibilitas

Menuju aksesibilitas

Jumat adalah akhir hari kerja. Kabar buruk selalu datang di penghujung hari kerja di hari Jumat.

Anda akan meninggalkan kantor, surat baru tentang reorganisasi lain baru saja tiba melalui pos.

Terima kasih xxxx, yyy mulai hari ini kamu akan melaporkan zzzz
...
Dan tim Hugh akan memastikan produk kami dapat diakses oleh penyandang disabilitas.

Oh tidak! Mengapa saya pantas menerima ini? Apakah mereka ingin aku pergi? Siapkan diri Anda untuk kerja keras tanpa pamrih dan upaya memperbaiki kesalahan orang lain. Ini jelas sebuah kegagalan...

Ini adalah ketersediaan beberapa tahun yang lalu. Beberapa orang miskin diberi tugas untuk "membersihkan" UI agar dapat diakses oleh penyandang disabilitas.

Apa maksud sebenarnya dari hal ini cukup samar - mungkin jika Anda dapat melihat indikator fokus dan menelusuri bidang, memiliki beberapa teks alternatif dan beberapa deskripsi bidang, itu akan dianggap bahwa aplikasi Anda dapat diakses ...

Namun tiba-tiba “serangga” itu mulai berkembang biak dengan kecepatan seperti longsoran salju.

Berbagai pembaca layar (Eng. Pembaca Layar) dan browser berperilaku sangat berbeda.

Pengguna mengeluh bahwa aplikasi tersebut tidak dapat digunakan.

Segera setelah kesalahan diperbaiki di satu tempat, kesalahan lain muncul di tempat lain.

Dan sekadar mengubah dan memperbaiki kesalahan antarmuka pengguna memerlukan upaya yang sangat besar.

Saya ada di sana. Saya selamat, tetapi kami tidak "berhasil" - secara teknis kami banyak membersihkan, menambahkan banyak deskripsi lapangan, peran, dan mencapai tingkat kepatuhan tertentu, tetapi tidak ada yang senang. Pengguna masih mengeluh tidak bisa menavigasi aplikasi. Manajer masih mengeluh tentang kesalahan yang terus menerus. Para insinyur mengeluh bahwa masalah tersebut diajukan secara tidak tepat, dan tidak ada solusi “benar” yang jelas dan dapat diterapkan dalam semua kasus.

Ada beberapa momen yang benar-benar membuka mata sepanjang perjalanan saya dalam memahami aksesibilitas.
Mungkin yang pertama adalah kesadaran bahwa menambahkan fungsionalitas aksesibilitas di atas produk jadi itu sulit. Dan bahkan lebih sulit lagi untuk meyakinkan para manajer bahwa hal ini sangatlah sulit! Tidak, ini bukan hanya "menambahkan beberapa tag" dan UI akan berfungsi dengan baik. Tidak, hal ini tidak dapat diselesaikan dalam waktu tiga minggu; bahkan tiga bulan saja tidak akan cukup.
Momen kebenaran saya berikutnya datang ketika saya melihat secara langsung bagaimana sebenarnya pengguna tunanetra menggunakan aplikasi kami. Ini SANGAT berbeda dengan melihat pesan kesalahan.

Saya akan membahasnya lagi dan lagi, tetapi hampir semua "asumsi" kami tentang cara orang menggunakan aplikasi kami salah.

Menavigasi antarmuka pengguna yang kompleks menggunakan penekanan tombol Tab/Shift+Tab – ini menyebalkan! Kami membutuhkan sesuatu yang lebih baik. Pintasan keyboard, header.

Kehilangan fokus saat mengganti UI bukan masalah besar bukan? Mari kita pikirkan lagi - ini sangat membingungkan.

Saya melanjutkan, mengerjakan proyek yang berbeda untuk sementara waktu, dan kemudian kami memulai proyek baru, dengan antarmuka pengguna yang kompleks dan instalasi yang jelas, untuk akhirnya mendapatkan aksesibilitas saat ini.

Jadi, kami mengambil langkah mundur dan melihat bagaimana kami dapat menerapkan hal ini secara berbeda dan berhasil, serta membuat prosesnya tidak terlalu membosankan!

Dengan cepat kami sampai pada beberapa kesimpulan:

  1. Kami tidak ingin orang-orang yang mengembangkan antarmuka pengguna mengacaukan label/peran aria dan, tentu saja, struktur HTML komponennya. Kami perlu memberi mereka komponen yang tepat yang langsung membangun aksesibilitas.
  2. Aksesibilitas == Kemudahan penggunaan – mis. Ini bukan hanya tantangan teknis. Kami perlu mengubah keseluruhan proses desain dan memastikan bahwa aksesibilitas diperhitungkan dan didiskusikan sebelum desain UI dimulai. Anda perlu memikirkan sejak awal bagaimana pengguna akan menemukan fungsionalitas apa pun, cara mereka bernavigasi, dan cara kerja klik kanan dari keyboard. Aksesibilitas harus menjadi bagian integral dari proses desain - bagi sebagian pengguna, aksesibilitas lebih dari sekadar tampilan aplikasi.
  3. Sejak awal, kami ingin mendapatkan masukan dari pengguna tunanetra dan penyandang disabilitas lainnya tentang kemudahan penggunaan aplikasi.
  4. Kami membutuhkan cara yang sangat baik untuk menangkap regresi aksesibilitas.

Dari sudut pandang teknik, bagian pertama kedengarannya cukup menyenangkan - mengembangkan arsitektur dan mengimplementasikan perpustakaan komponen. Dan memang benar demikian.

Mundur selangkah, lihat Contoh ARIA dan dengan menganggap ini sebagai masalah desain dan bukan masalah "penyesuaian", kami memperkenalkan beberapa abstraksi. Sebuah komponen memiliki 'Struktur' (terdiri dari elemen HTML) dan 'Perilaku' (cara berinteraksi dengan pengguna). Misalnya, dalam cuplikan di bawah ini kami memiliki daftar sederhana yang tidak diurutkan. Dengan menambahkan "perilaku", peran terkait ditambahkan ke daftar agar berfungsi seperti daftar. Kami melakukan hal yang sama untuk menu.

Menuju aksesibilitas

Faktanya, tidak hanya peran yang ditambahkan di sini, tetapi juga event handler untuk navigasi keyboard.

Ini terlihat lebih rapi. Jika kita bisa mendapatkan pemisahan yang jelas di antara keduanya, tidak peduli bagaimana struktur itu dibuat, kita bisa menerapkan Perilaku padanya dan mendapatkan aksesibilitas yang tepat.

Anda dapat melihat ini beraksi di https://stardust-ui.github.io/react/ – perpustakaan UX Bereaksi, yang dirancang dan diimplementasikan dengan mempertimbangkan aksesibilitas sejak awal.

Bagian kedua - mengubah pendekatan dan proses seputar desain pada awalnya membuat saya takut: insinyur rendahan yang mencoba mendorong perubahan organisasi tidak selalu berakhir dengan baik, namun ternyata menjadi salah satu area paling menarik di mana kami memberikan kontribusi signifikan terhadap proses tersebut. . Singkatnya, proses kami adalah sebagai berikut: fungsionalitas baru akan dikembangkan oleh satu tim, kemudian tim kepemimpinan kami akan meninjau/mengulangi proposal tersebut, dan kemudian, setelah disetujui, desain biasanya akan diserahkan kepada tim teknik. Dalam kasus ini, tim teknik secara efektif “memiliki” fungsi aksesibilitas karena merupakan tanggung jawab mereka untuk memperbaiki masalah apa pun yang terkait dengannya.

Pada awalnya, merupakan pekerjaan yang cukup sulit untuk menjelaskan bahwa aksesibilitas dan kegunaan saling terkait erat dan hal ini harus dilakukan pada tahap desain, jika tidak maka akan menyebabkan perubahan besar dan pendefinisian ulang beberapa peran. Namun, dengan dukungan manajemen dan pemain kunci, kami mengambil ide tersebut dan mewujudkannya sehingga desain tersebut diuji aksesibilitas dan kegunaannya sebelum dipresentasikan kepada manajemen.

Dan umpan balik ini sangat berharga bagi semua orang - ini luar biasa sebagai latihan berbagi pengetahuan/komunikasi tentang bagaimana pengguna berinteraksi dengan aplikasi web, kami mengidentifikasi banyak area masalah UI sebelum dibuat, tim pengembangan saat ini memiliki spesifikasi yang jauh lebih baik daripada tidak. hanya aspek visual, tetapi juga aspek perilaku desain. Diskusi nyata adalah diskusi yang menyenangkan, energik, dan penuh semangat tentang aspek dan interaksi teknis.

Kami dapat melakukan hal ini lebih baik lagi jika kami memiliki pengguna tunanetra dan penyandang disabilitas pada pertemuan ini (atau pertemuan berikutnya) - hal ini sulit untuk diatur, namun kami sekarang bekerja sama dengan organisasi dan perusahaan tunanetra lokal, yang menyediakan pengujian eksternal untuk memverifikasi alur eksekusi di awal pengembangan—baik pada tingkat komponen dan aliran eksekusi.

Insinyur sekarang memiliki spesifikasi yang cukup rinci, komponen yang tersedia yang dapat mereka gunakan untuk mengimplementasikan, dan cara untuk memvalidasi alur eksekusi. Hal yang telah diajarkan pengalaman kepada kita adalah hal yang selama ini kita lewatkan—bagaimana kita dapat menghentikan kemunduran. Demikian pula, orang dapat menggunakan integrasi atau pengujian end-to-end untuk menguji fungsionalitas, yang kita perlukan untuk mendeteksi perubahan dalam interaksi dan alur eksekusi—baik visual maupun perilaku.

Menentukan regresi visual adalah tugas yang cukup pasti, hanya ada sedikit hal yang dapat ditambahkan ke proses selain mungkin memeriksa apakah fokus terlihat saat bernavigasi dengan keyboard. Yang lebih menarik adalah dua teknologi yang relatif baru untuk menangani aksesibilitas.

  1. Wawasan Aksesibilitas adalah seperangkat alat yang dapat dijalankan baik di browser maupun sebagai bagian dari siklus pembuatan/pengujian untuk mengidentifikasi masalah.
  2. Memverifikasi bahwa pembaca layar berfungsi dengan benar merupakan tugas yang sangat menantang. Dengan diperkenalkannya akses ke Aksesibilitas DOM, kami akhirnya dapat mengambil cuplikan aksesibilitas aplikasi, seperti yang kami lakukan untuk pengujian visual, dan menguji regresinya.

Jadi, di bagian kedua cerita ini - kami beralih dari mengedit kode HTML ke bekerja pada tingkat abstraksi yang lebih tinggi, mengubah proses pengembangan desain, dan memperkenalkan pengujian menyeluruh. Proses baru, teknologi baru, dan tingkat abstraksi baru telah sepenuhnya mengubah lanskap aksesibilitas dan makna bekerja di bidang ini.
Tapi ini baru permulaan.

“Pemahaman” berikutnya adalah bahwa pengguna tunanetra sedang mendorong teknologi mutakhir – merekalah yang paling diuntungkan tidak hanya dari perubahan yang kami jelaskan sebelumnya, namun juga pendekatan dan ide baru dimungkinkan oleh ML/AI. Misalnya, teknologi Immersive Reader memungkinkan pengguna menyajikan teks dengan lebih mudah dan jelas. Dapat dibaca dengan lantang, struktur kalimat dipecah secara tata bahasa, dan bahkan makna kata ditampilkan secara grafis. Ini sama sekali tidak sesuai dengan mentalitas lama "membuatnya dapat diakses" - ini adalah fitur kegunaan yang akan membantu semua orang.

ML/AI memungkinkan cara-cara baru dalam berinteraksi dan bekerja, dan kami sangat antusias untuk menjadi bagian dari tahap selanjutnya dari perjalanan mutakhir ini. Inovasi didorong oleh perubahan cara berpikir - umat manusia telah ada selama ribuan tahun, mesin telah ada selama ratusan tahun, situs web telah ada selama beberapa dekade, dan bahkan lebih sedikit lagi telepon pintar, teknologi harus beradaptasi dengan manusia, dan bukan sebaliknya.

P.S. Artikel telah diterjemahkan dengan sedikit penyimpangan dari aslinya. Sebagai salah satu penulis artikel ini, saya menyetujui penyimpangan ini dengan Hugh.

Hanya pengguna terdaftar yang dapat berpartisipasi dalam survei. Masuk, silakan.

Apakah Anda memperhatikan aksesibilitas aplikasi Anda?

  • Ya

  • Tidak

  • Ini adalah pertama kalinya saya mendengar tentang aksesibilitas aplikasi.

17 pengguna memilih. 5 pengguna abstain.

Sumber: www.habr.com

Tambah komentar