Một cách thiết yếu để kiểm tra khả năng hỗ trợ tiếp cận là kiểm tra thủ công: bật các dịch vụ hỗ trợ tiếp cận, chẳng hạn như TalkBack hoặc Tiếp cận bằng công tắc, rồi kiểm tra xem mọi thứ có hoạt động như mong đợi hay không. Điều này cung cấp thông tin chi tiết trực tiếp về cách người dùng có nhu cầu hỗ trợ tiếp cận có thể trải nghiệm ứng dụng của bạn.
Cùng với việc xác minh thủ công, bạn cũng nên sử dụng quy trình kiểm thử tự động để gắn cờ mọi vấn đề tiềm ẩn có thể ảnh hưởng đến trải nghiệm người dùng khi bạn liên tục thay đổi ứng dụng.
Các API kiểm thử Compose hiện có cho phép bạn viết các bài kiểm thử tự động tương tác với các phần tử ngữ nghĩa và xác nhận các thuộc tính được xác định trong giao diện người dùng.
Kiểm tra khả năng hỗ trợ tiếp cận
Để kiểm thử khả năng hỗ trợ tiếp cận tự động, bạn cũng có thể sử dụng Khung kiểm thử khả năng hỗ trợ tiếp cận (cùng một khung cơ bản hỗ trợ Trình quét hỗ trợ tiếp cận và các bước kiểm tra khả năng hỗ trợ tiếp cận trong Espresso) để tự động thực hiện một số bước kiểm tra liên quan đến khả năng hỗ trợ tiếp cận, bắt đầu từ Compose 1.8.0.
Để bật các chế độ kiểm tra, hãy thêm phần phụ thuộc ui-test-junit4-accessibility,
gọi enableAccessibilityChecks() trong AndroidComposeTestRule,
rồi kích hoạt một hành động hoặc 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() }
Bài kiểm thử cụ thể này không thành công kèm theo một ngoại lệ và thông báo rằng mục này có thể không có nhãn mà các dịch vụ hỗ trợ tiếp cận có thể đọc được.
Các bước kiểm tra khác hiện có sẽ tìm các vấn đề về khả năng hỗ trợ tiếp cận liên quan đến độ tương phản màu, kích thước đích chạm nhỏ hoặc thứ tự duyệt qua của các phần tử.
Nếu đang kết hợp Khung hiển thị với Compose và bạn đã sử dụng AccessibilityValidator hoặc cần định cấu hình một khung hiển thị, thì bạn có thể đặt khung hiển thị đó trong quy tắc:
@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() }
Khi kết hợp với kiểm thử thủ công, các quy trình kiểm thử tự động sử dụng cả API Compose cũng như Khung kiểm thử khả năng hỗ trợ tiếp cận có thể giúp bạn phát hiện sớm các vấn đề có thể xảy ra trong quá trình phát triển.
Đề xuất cho bạn
- Lưu ý: văn bản có đường liên kết sẽ hiện khi JavaScript tắt
- Hỗ trợ tiếp cận trong Compose
- [Material Design 2 trong Compose][19]
- Kiểm thử bố cục Compose