Cara penting untuk menguji aksesibilitas adalah bentuk pengujian manual: dengan mengaktifkan layanan aksesibilitas, seperti TalkBack atau Tombol Akses, dan memeriksa apakah semuanya berfungsi seperti yang diharapkan. Hal ini memberikan insight langsung tentang bagaimana pengguna dengan kebutuhan aksesibilitas mungkin menggunakan aplikasi Anda.
Bersama dengan verifikasi manual, Anda juga harus menggunakan pengujian otomatis untuk menandai potensi masalah yang dapat memengaruhi pengalaman pengguna saat Anda membuat perubahan berkelanjutan pada aplikasi.
API pengujian Compose yang ada memungkinkan Anda menulis pengujian otomatis yang berinteraksi dengan elemen semantik dan menyatakan properti yang ditentukan di UI Anda.
Pemeriksaan aksesibilitas
Untuk pengujian aksesibilitas otomatis, Anda juga dapat menggunakan Framework Pengujian Aksesibilitas—framework dasar yang sama yang mendukung Accessibility Scanner dan pemeriksaan aksesibilitas di Espresso—untuk melakukan beberapa pemeriksaan terkait aksesibilitas secara otomatis, mulai dari Compose 1.8.0.
Untuk mengaktifkan pemeriksaan, tambahkan ui-test-junit4-accessibility dependency
,
panggil enableAccessibilityChecks()
di AndroidComposeTestRule
,
dan picu tindakan atau tryPerformAccessibilityChecks
:
@Rule @JvmField val composeTestRule = createAndroidComposeRule<ComponentActivity>() @Test fun noAccessibilityLabel() { composeTestRule.setContent { Box( modifier = Modifier .size(50.dp, 50.dp) .background(color = Color.Gray) .clickable { } .semantics { contentDescription = "" } ) } composeTestRule.enableAccessibilityChecks() // Any action (such as performClick) will perform accessibility checks too: composeTestRule.onRoot().tryPerformAccessibilityChecks() }
Pengujian khusus ini gagal dengan pengecualian dan pesan bahwa item mungkin tidak memiliki label yang dapat dibaca oleh layanan aksesibilitas.
Pemeriksaan lain yang tersedia mencari masalah aksesibilitas dengan kontras warna, ukuran target sentuh kecil, atau urutan traversal elemen.
Jika Anda menggabungkan View dengan Compose dan sudah menggunakan
AccessibilityValidator
, atau Anda perlu mengonfigurasinya, Anda dapat menetapkannya dalam
aturan:
@Test fun lowContrastScreen() { composeTestRule.setContent { Box( modifier = Modifier .fillMaxSize() .background(color = Color(0xFFFAFBFC)), contentAlignment = Alignment.Center ) { Text(text = "Hello", color = Color(0xFFB0B1B2)) } } // Optionally, set AccessibilityValidator manually val accessibilityValidator = AccessibilityValidator() .setThrowExceptionFor( AccessibilityCheckResult.AccessibilityCheckResultType.WARNING ) composeTestRule.enableAccessibilityChecks(accessibilityValidator) composeTestRule.onRoot().tryPerformAccessibilityChecks() }
Dikombinasikan dengan pengujian manual, pengujian otomatis menggunakan Compose API serta Framework Pengujian Aksesibilitas dapat membantu Anda mendeteksi kemungkinan masalah sejak awal dalam proses pengembangan.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Aksesibilitas di Compose
- [Desain Material 2 di Compose][19]
- Menguji tata letak Compose