Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menguji aksesibilitas aplikasi

Pengujian aksesibilitas memungkinkan Anda merasakan pengalaman menggunakan aplikasi dari perspektif pengguna dan menemukan masalah kegunaan yang mungkin terlewatkan. Pengujian aksesibilitas dapat mengungkap peluang untuk menjadikan 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 sungguhan 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 Android mereka tanpa melihat layar. Pengguna dengan gangguan penglihatan dapat mengandalkan TalkBack untuk menggunakan aplikasi Anda.

Mengaktifkan TalkBack

  1. Buka aplikasi Setelan di perangkat.
  2. Buka Aksesibilitas, lalu pilih TalkBack.
  3. Di bagian atas layar TalkBack, tekan Aktif/Nonaktif untuk mengaktifkan TalkBack.
  4. Dalam dialog konfirmasi, pilih Oke untuk mengonfirmasi izin.

Menjelajahi aplikasi Anda 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.
  • Klik untuk info: Tarik jari Anda di atas layar untuk mendengar konten di bawah jari Anda. Ketuk dua kali di mana saja untuk memilih.

Untuk menjelajahi aplikasi Anda dengan TalkBack, selesaikan langkah-langkah berikut:

  1. Buka aplikasi.
  2. Geser setiap elemen secara berurutan.
  3. Sambil menjelajah, temukan masalah berikut:

    • Apakah masukan lisan untuk setiap elemen menyampaikan konten atau tujuannya secara tepat? (Pelajari cara menulis label yang bermakna.)
    • Apakah pengumuman ringkas, atau terlalu panjang?
    • Apakah Anda dapat menyelesaikan alur kerja utama dengan mudah?
    • Apakah Anda dapat menjangkau setiap elemen dengan menggeser?
    • Jika notifikasi atau pesan sementara lainnya ditampilkan, apakah dibacakan?

Untuk informasi selengkapnya dan tips, 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:

  1. Buka aplikasi Setelan di perangkat.
  2. Buka Aksesibilitas, lalu pilih TalkBack.
  3. Pilih Setelan > Setelan developer:

    1. Tingkat output log: Pilih VERBOSE.
    2. Tampilkan output ucapan: Aktifkan setelan ini untuk melihat output ucapan TalkBack di layar.

Tombol Akses

Tombol Akses memungkinkan pengguna berinteraksi dengan perangkat 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 Switch Access

Cara mudah 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.

Catatan: Pengalaman Anda dalam menggunakan Tombol Akses dapat bervariasi, tergantung pada alat dan software yang Anda gunakan:

  • Jika Anda menggunakan tombol akses eksternal, seperti keyboard, diperlukan langkah penyiapan tambahan. Misalnya, Anda perlu mengaktifkan ulang keyboard virtual. Untuk informasi selengkapnya, lihat Dokumentasi pengguna Tombol Akses.
  • Jika Anda menggunakan TalkBack 5.1 atau yang lebih baru, wizard penyiapan akan tersedia untuk mengonfigurasi Tombol Akses. Untuk menggunakan wizard ini sebagai pengganti langkah-langkah di bawah, buka Setelan > Aksesibilitas > Tombol Akses > Setelan > Buka penyiapan Tombol Akses.

Untuk menyiapkan Tombol Akses menggunakan tombol turunkan volume sebagai tombol "Berikutnya" dan tombol naikkan volume sebagai tombol "Pilih", selesaikan langkah-langkah berikut:

  1. Pastikan TalkBack dinonaktifkan.
  2. Buka aplikasi Setelan di perangkat.
  3. Buka Aksesibilitas dan pilihTombol Akses, lalu pilih Setelan.
  4. Di layar Preferensi Tombol Akses, pastikan Pemindaian otomatis dinonaktifkan.
  5. Menggunakan tombol turunkan volume sebagai tombol "Berikutnya":

    1. Sentuh Tetapkan Tombol untuk Pemindaian > Berikutnya.
    2. Saat dialog terbuka, tekan tombol turunkan volume. Dialog akan menampilkan KEYCODE_VOLUME_DOWN.
    3. Sentuh Oke untuk mengonfirmasi dan keluar dari dialog.
  6. Menggunakan tombol naikkan volume sebagai tombol "Pilih":

    1. Sentuh Pilih.
    2. Saat dialog terbuka, tekan tombol naikkan volume. Dialog akan menampilkan KEYCODE_VOLUME_UP.
    3. Sentuh Oke untuk mengonfirmasi dan keluar dari dialog.
  7. Untuk kembali ke Preferensi Tombol Akses, tekan tombol kembali.

  8. Opsional: Jika menggunakan TalkBack 5.1 atau yang lebih baru, Anda dapat memilih Masukan lisan untuk mengaktifkan masukan lisan.

  9. Untuk kembali ke layar utama Tombol Akses, tekan tombol kembali.

  10. Di bagian atas layar Tombol Akses, tekan Aktif/Nonaktif untuk mengaktifkan Tombol Akses.

  11. Dalam dialog konfirmasi, pilih Oke untuk mengonfirmasi izin.

Menjelajahi aplikasi Anda menggunakan Tombol Akses

Untuk menjelajahi aplikasi dengan Tombol Akses, lakukan langkah-langkah berikut:

  1. Buka aplikasi.
  2. Untuk memulai pemindaian, tekan tombol "Berikutnya" (kecilkan volume).
  3. Terus tekan "Berikutnya" hingga Anda mencapai item yang ingin dipilih.
  4. Untuk memilih item yang disorot, tekan tombol "Pilih" (naikkan volume).
  5. Sambil menjelajah, temukan masalah berikut:

    • Apakah Anda dapat 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 masukan lisan, apakah masukan 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:

  1. Buka aplikasi Setelan di perangkat.
  2. Buka Aksesibilitas dan pilihTombol Akses, lalu pilih Setelan.
  3. Di layar Preferensi Tombol Akses, pastikan Pemindaian otomatis dinonaktifkan.
  4. Pilih Metode pemindaian > Pemilihan grup.
  5. Sentuh Tetapkan tombol untuk pemindaian.
  6. Pastikan teks di Tombol pemilihan grup 1 dan Tombol pemilihan grup 2 menunjukkan bahwa tombol akses ditetapkan ke setiap tombol. Jika Anda telah mengikuti langkah-langkah untuk mengaktifkan Tombol Akses, tombol volume seharusnya sudah ditetapkan.

Untuk menjelajahi aplikasi dengan Tombol Akses menggunakan pemilihan grup, selesaikan langkah-langkah berikut:

  1. Tekan tombol "Pilih" (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?
  2. Buka layar lain untuk menghapus highlight.

Untuk mempelajari lebih lanjut cara pengguna menjelajahi aplikasi dengan pemilihan grup, lihat Tips menggunakan Tombol Akses.

Layanan lainnya

Android menyediakan beberapa alat tambahan untuk menguji aksesibilitas aplikasi Anda.

BrailleBack

Google BrailleBack adalah aplikasi yang memungkinkan pengguna menghubungkan penampil Braille yang dapat dimuat ulang ke perangkat Android melalui Bluetooth. BrailleBack berfungsi dengan TalkBack untuk memberikan gabungan pengalaman Braille dan ucapan.

Untuk menguji aplikasi Anda dengan penampil Braille, pelajari cara menginstal dan mengaktifkan BrailleBack.

Untuk melihat braille (dan terjemahan ASCII) yang akan dirender BrailleBack tanpa menghubungkan penampil Braille, Anda dapat menggunakan opsi overlay di setelan BrailleBack:

  1. Buka aplikasi Setelan di perangkat.
  2. Buka Aksesibilitas, lalu pilih BrailleBack.
  3. Pilih Setelan > Opsi developer > Tampilkan output Braille di layar.

Voice Access

Voice Access memungkinkan pengguna mengontrol perangkat Android melalui perintah lisan. Voice Access tersedia di perangkat yang menjalankan Android 5.0 (API level 21) dan yang lebih tinggi. Untuk menguji aplikasi Anda dengan Voice Access, pelajari cara memulai Voice Access.

Alat analisis

Pengujian dengan alat analisis dapat menemukan peluang peningkatan aksesibilitas yang mungkin terlewat ketika menggunakan pengujian manual.

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.

Pelajari lebih lanjut:

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 menjelaskan tujuan elemen tertentu.
Implementasi
Atribut yang ditetapkan ke elemen UI yang mempersulit layanan aksesibilitas sistem untuk menginterpretasikan elemen dengan benar. Contoh mencakup penentuan deskripsi untuk label View yang dapat diedit dan penggunaan elemen urutan traversal 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. Dengan memilih screenshot, Anda dapat melihat detail selengkapnya, termasuk peningkatan yang disarankan dan daftar lebih lengkap berisi tempat di aplikasi Anda yang di sana Anda dapat menerapkan peningkatan yang sama.

Gambar 1 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.

Screenshot bagian laporan pra-peluncuran
Gambar 1. Contoh tabel ringkasan (kiri) dan screenshot (kanan) dari tab Aksesibilitas dalam laporan pra-peluncuran

UI Automator Viewer

Alat uiautomatorviewer menyediakan GUI yang mudah digunakan untuk memindai dan menganalisis komponen UI yang sedang ditampilkan di perangkat 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 menghasilkan tampilan yang tidak memiliki teks lisan yang semestinya ada, atau tampilan yang menerima fokus padahal semestinya tidak, Anda dapat menggunakan alat ini untuk membantu menemukan sumber bug.

Untuk mempelajari UI Automator Viewer lebih lanjut, lihat Menguji UI untuk beberapa aplikasi.

Lint

Android Studio menampilkan peringatan lint untuk berbagai masalah aksesibilitas dan menyediakan link ke tempat-tempat dalam kode sumber yang berisi masalah ini. Dalam contoh berikut ini, gambar tidak memiliki atribut contentDescription. Deskripsi konten yang hilang akan menghasilkan pesan berikut:

[Accessibility] Missing 'contentDescription' attribute on image

Gambar 2 menunjukkan contoh tampilan pesan ini di Android Studio:

Screenshot pesan
Gambar 2. Pesan di Android Studio yang menunjukkan atribut contentDescription yang hilang

Jika pengguna layanan aksesibilitas, seperti pembaca layar, menemukan gambar ini dalam aplikasi itu sendiri, mereka tidak akan dapat memahami arti gambar tersebut.

Pengujian otomatis

Platform Android mendukung beberapa framework pengujian, termasuk Espresso dan Robolectric, yang masing-masing memungkinkan Anda membuat dan menjalankan pengujian otomatis yang mengevaluasi aksesibilitas aplikasi Anda.

Untuk melihat video ringkasan pengujian aksesibilitas dengan Espresso dan Robolectric, tonton video berikut dari menit 31:54 sampai 34:19: Desain dan pengujian inklusif: Menjadikan aplikasi Anda lebih mudah diakses - Google I/O 2016.

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.

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.contrib.AccessibilityChecks

@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
    companion object {
        @Before @JvmStatic
        fun enableAccessibilityChecks() {
            AccessibilityChecks.enable()
        }
    }
}

Java

import androidx.test.espresso.contrib.AccessibilityChecks;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
    @Before
    public static 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:

  1. Pemeriksaan aksesibilitas jenis tertentu, seperti pemeriksaan ukuran target sentuh.
  2. 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(
                    matchesCheckNames(`is`("TextContrastViewCheck")),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

Java

AccessibilityValidator myChecksValidator = AccessibilityChecks.enable();
Matcher<? super AccessibilityViewCheckResult> myChecksMatcher =
        Matchers.allOf(matchesCheckNames(is("TextContrastViewCheck")),
                       matchesViews(withId(R.id.countTV)));
myChecksValidator.setSuppressingResultMatcher(myChecksMatcher);

Robolectric

Robolectric adalah library pengujian Android open source yang memungkinkan Anda menguji kode Android yang sebenarnya di JVM, tanpa perlu memulai emulator. Pelajari cara memulai Robolectric.

Menyembunyikan masalah umum

Saat kali pertama mengaktifkan pemeriksaan dengan Robolectric, Anda mungkin menemukan sejumlah masalah yang tidak dapat segera Anda tangani. Anda dapat menyembunyikan error ini dengan menyetel matcher untuk hasil yang ingin disembunyikan. Untuk informasi selengkapnya, lihat dokumentasi untuk metode setSuppressingResultMatcher() dari class AccessibilityUtil yang tersedia di Robolectric.

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:

  1. Hubungi organisasi, perguruan tinggi, atau universitas setempat yang menyediakan pelatihan untuk penyandang disabilitas.
  2. Tanyakan kepada lingkaran sosial Anda. Mungkin ada penyandang disabilitas yang bersedia membantu.
  3. Tanyakan kepada layanan pengujian pengguna (seperti usertesting.com) apakah mereka dapat menguji aplikasi Anda dan menyertakan pengguna yang memiliki disabilitas.
  4. Bergabunglah dengan forum aksesibilitas seperti Accessibility atau Eyes-free, dan minta sukarelawan 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.