Pengujian aksesibilitas memungkinkan Anda merasakan pengalaman menggunakan aplikasi dari perspektif pengguna dan menemukan masalah kegunaan yang mungkin terlewatkan. Pengujian aksesibilitas dapat mengungkap peluang untuk membuat aplikasi Anda lebih andal dan serbaguna bagi semua pengguna, termasuk yang menyandang disabilitas.
Untuk hasil terbaik, gunakan semua pendekatan yang dijelaskan dalam dokumen ini:
- Pengujian manual: Lakukan interaksi dengan aplikasi Anda menggunakan layanan aksesibilitas Android.
- Menguji dengan alat analisis: gunakan alat untuk menemukan peluang meningkatkan aksesibilitas aplikasi Anda.
- Pengujian otomatis: aktifkan pengujian aksesibilitas di Espresso dan Robolectric.
- Pengujian pengguna: dapatkan masukan dari orang-orang yang berinteraksi dengan aplikasi Anda.
Pengujian manual
Pengujian manual menempatkan Anda di posisi pengguna. Objek
AccessibilityService
Android mengubah cara konten aplikasi ditampilkan kepada pengguna dan cara
pengguna berinteraksi dengan konten tersebut. Melalui interaksi dengan aplikasi menggunakan
layanan aksesibilitas, Anda dapat merasakan pengalaman menggunakan aplikasi sebagaimana yang dirasakan pengguna.
TalkBack
TalkBack adalah pembaca layar bawaan Android. Saat TalkBack aktif, pengguna dapat berinteraksi dengan perangkat yang didukung Android tanpa melihat layar. Pengguna dengan gangguan penglihatan dapat mengandalkan TalkBack untuk menggunakan aplikasi Anda.
Mengaktifkan TalkBack
- Buka aplikasi Setelan di perangkat Anda.
- Buka Aksesibilitas, lalu pilih TalkBack.
- Di bagian atas layar TalkBack, tekan Aktif/Nonaktif untuk mengaktifkan TalkBack.
- Dalam dialog konfirmasi, pilih Oke untuk mengonfirmasi izin.
Menjelajahi aplikasi dengan TalkBack
Setelah TalkBack aktif, ada dua cara umum untuk menjelajahinya:
- Navigasi linier: geser ke kanan atau ke kiri dengan cepat untuk membuka seluruh elemen layar secara berurutan. Ketuk dua kali di mana saja untuk memilih elemen layar saat ini.
- Ketuk untuk info: tarik jari Anda di atas layar untuk mendengar konten di bawah jari Anda. Ketuk dua kali di mana saja untuk memilih elemen saat ini.
Untuk menjelajahi aplikasi Anda dengan TalkBack, selesaikan langkah-langkah berikut:
- Buka aplikasi.
- Geser setiap elemen secara berurutan.
Sambil menjelajah, temukan masalah berikut:
- Apakah respons lisan untuk setiap elemen menyampaikan konten atau tujuannya secara tepat? Pelajari cara menulis label yang bermakna. * Apakah pengumuman ringkas, atau terlalu panjang?
- Dapatkah Anda menyelesaikan alur kerja utama dengan mudah?
- Dapatkah Anda menjangkau setiap elemen dengan menggeser?
- Jika notifikasi atau pesan sementara lainnya ditampilkan, apakah dibacakan?
Untuk mengetahui informasi selengkapnya dan tip, lihat Dokumentasi pengguna TalkBack .
Opsional: Setelan developer TalkBack
Setelan developer TalkBack dapat mempermudah Anda menguji aplikasi dengan TalkBack.
Untuk menampilkan atau mengubah setelan developer, selesaikan langkah-langkah berikut:
- Buka aplikasi Setelan di perangkat Anda.
- Buka Aksesibilitas, lalu pilih TalkBack.
Pilih Setelan > Setelan lanjutan > Setelan developer:
- Tingkat output log: pilih VERBOSE.
- Tampilkan output ucapan: aktifkan setelan ini untuk melihat output ucapan TalkBack di layar.
Tombol Akses
Tombol Akses memungkinkan pengguna berinteraksi dengan perangkat yang didukung Android menggunakan tombol akses, bukan layar sentuh. Ada beberapa jenis tombol akses: perangkat teknologi pendukung seperti yang dijual oleh AbleNet, Enabling Devices, RJ Cooper, atau Tecla*; tombol keyboard eksternal; atau tombol. Layanan ini dapat bermanfaat bagi pengguna yang mengalami gangguan motorik.
* Google tidak mendukung perusahaan ini atau produknya.
Mengaktifkan Tombol Akses
Salah satu cara untuk mengonfigurasi Tombol Akses adalah dengan dua tombol akses. Tombol akses pertama ditetapkan sebagai tombol "Berikutnya" dan akan memindahkan fokus ke seluruh layar, sedangkan tombol akses kedua ditetapkan sebagai tombol "Pilih" yang akan memilih elemen yang difokuskan. Untuk menggunakan metode dua tombol akes ini, Anda dapat menggunakan sepasang tombol hardware.
Untuk menyiapkan Tombol Akses menggunakan tombol turunkan volume sebagai tombol akses "Berikutnya" dan tombol naikkan volume sebagai tombol akses "Pilih", selesaikan langkah-langkah berikut:
- Pastikan TalkBack dinonaktifkan.
- Buka aplikasi Setelan di perangkat Anda.
- Buka Aksesibilitas dan pilih Tombol Akses, lalu pilih Setelan.
- Di layar Preferensi Tombol Akses, pastikan Pemindaian otomatis dinonaktifkan.
Menggunakan tombol turunkan volume sebagai tombol akses "Berikutnya":
- Ketuk Tetapkan Tombol untuk Pemindaian > Berikutnya.
- Saat dialog terbuka, tekan tombol turunkan volume. Dialog akan menampilkan KEYCODE_VOLUME_DOWN.
- Ketuk Oke untuk mengonfirmasi dan keluar dari dialog.
Menggunakan tombol naikkan volume sebagai tombol "Pilih":
- Ketuk Pilih.
- Saat dialog terbuka, tekan tombol naikkan volume. Dialog akan menampilkan KEYCODE_VOLUME_UP.
- Ketuk Oke untuk mengonfirmasi dan keluar dari dialog.
Kembali ke Preferensi Tombol Akses dengan mengetuk tombol kembali.
Opsional: Jika menggunakan TalkBack 5.1 atau yang lebih baru, Anda dapat memilih Respons lisan untuk mengaktifkan respons lisan.
Kembali ke layar utama Tombol Akses dengan mengetuk tombol kembali.
Di bagian atas layar Tombol Akses, tekan Aktif/Nonaktif untuk mengaktifkan Tombol Akses.
Dalam dialog konfirmasi, pilih Oke untuk mengonfirmasi izin.
Menjelajahi aplikasi menggunakan Tombol Akses
Untuk menjelajahi aplikasi dengan Tombol Akses, lakukan langkah-langkah berikut:
- Buka aplikasi.
- Mulai memindai dengan menekan tombol "Berikutnya" (tombol turunkan volume).
- Terus tekan "Berikutnya" hingga Anda mencapai item yang ingin dipilih.
- Pilih item yang ditandai dengan menekan tombol "Pilih" (tombol naikkan volume).
Sambil menjelajah, temukan masalah berikut:
- Dapatkah Anda menyelesaikan alur kerja utama dengan mudah?
- Jika Anda menggunakan teks atau input lain, dapatkah Anda menambahkan dan mengedit konten dengan mudah?
- Apakah item hanya disorot jika Anda dapat melakukan tindakan pada item tersebut?
- Apakah setiap item hanya ditandai sekali?
- Apakah semua fungsi yang tersedia melalui gestur layar sentuh juga tersedia sebagai kontrol yang dapat dipilih atau tindakan kustom dalam Tombol Akses?
- Jika Anda menggunakan TalkBack 5.1 atau yang lebih baru, dan telah mengaktifkan respons lisan, apakah respons lisan untuk setiap elemen menyampaikan konten atau tujuannya dengan tepat? Pelajari cara menulis label yang bermakna.
Opsional: Menggunakan pemilihan grup untuk melihat semua item yang dapat dipindai
Pemilihan grup adalah metode navigasi Tombol Akses yang memungkinkan Anda melihat semua item yang dapat dipindai sekaligus. Opsi ini memungkinkan Anda melakukan pemeriksaan cepat untuk melihat apakah elemen yang benar di layar sudah ditandai.
Untuk mengaktifkan pemilihan grup, selesaikan langkah-langkah berikut:
- Buka aplikasi Setelan di perangkat Anda.
- Buka Aksesibilitas dan pilih Tombol Akses, lalu pilih Setelan.
- Di layar Preferensi Tombol Akses, pastikan Pemindaian otomatis dinonaktifkan.
- Pilih Metode pemindaian > Pemilihan grup.
- Ketuk Tetapkan tombol untuk pemindaian.
- Pastikan teks di Tombol pemilihan grup 1 dan Tombol pemilihan grup 2 menunjukkan bahwa tombol akses ditetapkan ke setiap tombol. Jika Anda mengikuti langkah-langkah dalam dokumen ini untuk mengaktifkan Tombol Akses, tombol volume sudah ditetapkan.
Untuk menjelajahi aplikasi dengan Tombol Akses menggunakan pemilihan grup, selesaikan langkah-langkah berikut:
Tekan tombol "Pilih" (tombol naikkan volume) untuk menandai semua item yang dapat ditindaklanjuti di layar saat ini. Temukan masalah berikut:
- Apakah hanya item yang dapat ditindaklanjuti yang ditandai?
- Apakah semua item yang dapat ditindaklanjuti disorot?
- Apakah kepadatan item yang ditandai sudah tepat?
Buka layar lain untuk menghapus sorotan.
Untuk mempelajari lebih lanjut cara pengguna menjelajahi aplikasi dengan pemilihan grup, lihat Tips menggunakan Tombol Akses.
Voice Access
Voice Access memungkinkan pengguna mengontrol perangkat yang didukung Android melalui perintah lisan. Voice Access tersedia di perangkat yang menjalankan Android 5.0 (level API 21) dan yang lebih tinggi. Untuk menguji aplikasi Anda dengan Voice Access, pelajari cara memulai Voice Access.
Menguji menggunakan alat analisis
Alat analisis dapat membuka peluang untuk meningkatkan aksesibilitas yang mungkin Anda lewatkan dengan pengujian manual.
Compose UI Check
Mengaktifkan mode Pemeriksaan UI Compose di Pratinjau Compose untuk mengaktifkan Android Studio agar otomatis mengaudit Compose UI untuk masalah aksesibilitas. Android Studio memeriksa apakah UI Anda berfungsi di berbagai ukuran layar dengan menyoroti masalah seperti teks yang direntangkan perangkat layar besar atau kontras warna rendah di panel masalah.
Accessibility Scanner
Aplikasi Accessibility Scanner memindai layar Anda dan memberikan saran untuk meningkatkan aksesibilitas aplikasi Anda. Accessibility Scanner menggunakan Framework Pengujian Aksesibilitas dan memberikan saran spesifik setelah melihat label konten, item yang dapat diklik, kontras, dan sebagainya.
Framework Pengujian Aksesibilitas Android terintegrasi di Android Studio untuk membantu Anda menemukan masalah aksesibilitas di tata letak. Untuk meluncurkan panel, klik tombol laporan error ! di Layout Editor.
Gambar 1. Demo Accessibility Scanner.
Untuk mempelajari lebih lanjut, lihat referensi berikut:
Laporan pra-peluncuran di Google Play
Jika mendistribusikan aplikasi di Google Play, Anda memiliki akses ke laporan pra-peluncuran untuk aplikasi Anda. Google Play membuat laporan ini segera setelah Anda mengupload aplikasi ke saluran rilis menggunakan Konsol Google Play. Laporan pra-peluncuran, yang juga tersedia di Konsol Google Play, menampilkan hasil pengujian yang dijalankan Google Play atas aplikasi Anda.
Secara khusus, Google Play menjalankan pengujian aksesibilitas menggunakan Framework Pengujian Aksesibilitas . Hasil pengujian ini muncul dalam tabel di tab Aksesibilitas pada laporan pra-peluncuran aplikasi Anda.
Tabel ini akan mengatur peluang peningkatan dalam kategori berikut:
- Ukuran target sentuh
- Elemen interaktif dalam aplikasi Anda yang memiliki area yang dapat difokuskan, atau ukuran target sentuh, yang lebih kecil daripada yang direkomendasikan.
- Kontras rendah
- Situasi ketika pasangan warna yang digunakan untuk elemen teks dan latar belakang di balik elemen tersebut memiliki rasio kontras warna lebih rendah daripada yang direkomendasikan.
- Pelabelan konten
- Elemen UI yang tidak memiliki label yang mendeskripsikan tujuan elemen.
- Implementasi
- Atribut yang ditetapkan ke elemen UI dan mempersulit
layanan aksesibilitas sistem dalam menginterpretasikan elemen dengan benar.
Contoh mencakup penentuan deskripsi untuk label
View
yang dapat diedit dan penggunaan urutan traversal elemen yang tidak cocok dengan susunan logis elemen.
Berdasarkan tabel, laporan pra-peluncuran akan menampilkan snapshot aplikasi Anda. Snapshot ini menunjukkan peluang teratas untuk meningkatkan aksesibilitas aplikasi Anda dalam setiap kategori. Pilih screenshot untuk melihat detail selengkapnya, termasuk peningkatan yang disarankan dan daftar tempat yang lebih lengkap di aplikasi tempat Anda dapat menerapkan peningkatan yang sama.
Gambar 2 menunjukkan contoh tabel yang muncul di tab Aksesibilitas laporan pra-peluncuran dalam Google Play. Gambar ini juga mencakup salah satu snapshot aplikasi yang menunjukkan bahwa tombol Berikutnya memiliki ukuran target sentuh lebih kecil daripada yang direkomendasikan.
UI Automator Viewer
Alat uiautomatorviewer
menyediakan GUI yang mudah digunakan untuk memindai dan menganalisis
komponen UI yang sedang ditampilkan di perangkat yang didukung Android. Anda dapat menggunakan UI
Automator untuk memeriksa hierarki tata letak dan menampilkan properti komponen UI
yang terlihat di latar depan perangkat. Informasi ini
memungkinkan Anda membuat pengujian yang lebih mendetail, misalnya dengan membuat pemilih UI
yang cocok dengan properti tertentu yang dapat dilihat. Alat ini berada di direktori tools
Android SDK.
Dalam pengujian aksesibilitas, alat ini berguna untuk men-debug masalah yang ditemukan melalui metode pengujian lainnya. Misalnya, jika pengujian manual mengungkapkan bahwa tampilan tidak memiliki teks lisan yang semestinya ada, atau tampilan menerima fokus padahal semestinya tidak, Anda dapat menggunakan alat ini untuk membantu menemukan sumber masalah.
Untuk mempelajari UI Automator Viewer lebih lanjut, lihat Menulis pengujian otomatis dengan UI Automator.
Lint
Android Studio menampilkan peringatan lint untuk berbagai masalah aksesibilitas dan menyediakan
link ke tempat yang relevan dalam kode sumber. Dalam contoh berikut ini,
gambar tidak memiliki atribut contentDescription
. Deskripsi konten
yang hilang akan menghasilkan pesan berikut:
[Accessibility] Missing 'contentDescription' attribute on image
Gambar 3 menunjukkan contoh tampilan pesan ini di Android Studio:
Pengujian otomatis
Platform Android mendukung beberapa framework pengujian, seperti Espresso, yang memungkinkan Anda membuat dan menjalankan pengujian otomatis yang mengevaluasi aksesibilitas aplikasi Anda.
Espresso
Espresso adalah library pengujian Android yang didesain untuk menjadikan pengujian UI cepat dan mudah. Hal ini memungkinkan Anda berinteraksi dengan komponen UI yang sedang diuji di aplikasi Anda dan menegaskan bahwa perilaku tertentu terjadi atau kondisi tertentu terpenuhi.
Untuk melihat video ringkasan pengujian aksesibilitas dengan Espresso, tonton video berikut dari menit 31.54 sampai 34.19: Desain dan pengujian inklusif: Menjadikan aplikasi Anda lebih mudah diakses - Google I/O 2016.
Bagian ini akan menjelaskan cara menjalankan pemeriksaan aksesibilitas menggunakan Espresso.
Mengaktifkan pemeriksaan
Anda dapat mengaktifkan dan mengonfigurasi pengujian aksesibilitas menggunakan
class
AccessibilityChecks
:
Kotlin
import androidx.test.espresso.accessibility.AccessibilityChecks @RunWith(AndroidJUnit4::class) @LargeTest class MyWelcomeWorkflowIntegrationTest { init { AccessibilityChecks.enable() } }
Java
import androidx.test.espresso.accessibility.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class MyWelcomeWorkflowIntegrationTest { @BeforeClass public void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
Secara default, pemeriksaan berjalan saat Anda melakukan tindakan tampilan apa pun yang ditentukan dalam
ViewActions
. Setiap
pemeriksaan mencakup tampilan tempat tindakan dilakukan serta semua
tampilan turunannya. Anda dapat mengevaluasi seluruh hierarki tampilan layar selama
setiap pemeriksaan dengan meneruskan true
ke
setRunChecksFromRootView()
,
seperti ditunjukkan dalam cuplikan kode berikut:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Menyembunyikan subkumpulan hasil
Setelah Espresso menjalankan pemeriksaan aksesibilitas di aplikasi, Anda mungkin menemukan beberapa
peluang untuk meningkatkan aksesibilitas aplikasi yang tidak dapat segera
Anda tangani. Agar pengujian Espresso tidak terus-menerus gagal karena
hasil ini, Anda dapat mengabaikannya untuk sementara. Framework Pengujian
Aksesibilitas (ATF) menyediakan fungsionalitas ini menggunakan
metode setSuppressingResultMatcher()
,
yang menginstruksikan Espresso untuk menahan semua hasil yang memenuhi ekspresi matcher
yang diberikan.
Saat Anda melakukan perubahan pada aplikasi yang menangani satu aspek aksesibilitas, sebaiknya Espresso menampilkan hasil untuk sebanyak mungkin aspek aksesibilitas lainnya. Oleh karena itu, sebaiknya hanya sembunyikan peluang tertentu yang diketahui untuk peningkatan.
Saat Anda menyembunyikan sementara temuan pengujian aksesibilitas yang akan Anda coba nanti, penting untuk tidak menyembunyikan temuan serupa secara tidak sengaja. Oleh karena itu, gunakan matcher yang terbatas cakupannya. Untuk melakukannya, pilih matcher sehingga Espresso menyembunyikan hasil yang diberikan, hanya jika memenuhi setiap pemeriksaan aksesibilitas berikut:
- Pemeriksaan aksesibilitas jenis tertentu, seperti pemeriksaan ukuran target sentuh.
- Pemeriksaan aksesibilitas yang mengevaluasi elemen UI tertentu, seperti tombol.
ATF menentukan beberapa matcher
untuk membantu Anda menentukan hasil yang akan ditampilkan dalam pengujian Espresso Anda. Contoh
berikut ini akan menyembunyikan hasil pemeriksaan yang berhubungan dengan satu
kontras warna elemen TextView
. ID elemennya adalah countTV
.
Kotlin
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck::class.java), matchesViews(withId(R.id.countTV)) ) ) }
Java
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable() .setSuppressingResultMatcher( allOf( matchesCheck(TextContrastCheck.class), matchesViews(withId(R.id.countTV))));
Pengujian pengguna
Bersama metode pengujian lainnya dalam panduan ini, pengujian pengguna dapat memberikan analisis yang spesifik dan berharga tentang kegunaan aplikasi Anda.
Untuk menemukan pengguna yang dapat menguji aplikasi Anda, gunakan metode seperti berikut:
- Hubungi organisasi, perguruan tinggi, atau universitas setempat yang menyediakan pelatihan untuk penyandang disabilitas.
- Tanyakan kepada lingkaran sosial Anda. Mungkin ada penyandang disabilitas yang bersedia membantu.
- Tanyakan kepada layanan pengujian pengguna, seperti usertesting.com, apakah mereka dapat menguji aplikasi Anda dan menyertakan pengguna yang memiliki disabilitas.
- Bergabunglah dengan forum aksesibilitas, seperti Accessible, dan minta relawan untuk mencoba aplikasi Anda.
Untuk tips lainnya, tonton video ini di bagian pengujian pengguna, mulai menit 31.10 sampai 44.51: Di balik layar: Yang baru di aksesibilitas Android - Google I/O 2016.