Thông tin cơ bản
Một người sử dụng trình đọc màn hình TalkBack có thể di chuyển trong ứng dụng theo hai cách:
- Khám phá bằng cách chạm: Kéo một ngón tay trên màn hình để khám phá cách sắp xếp thực tế của các phần tử.
- Di chuyển theo đường thẳng: Vuốt sang phải và sang trái để di chuyển mỗi mục một lần theo hướng tiến và lùi.
Ứng dụng Android phải hỗ trợ cả kiểu khám phá bằng cách chạm và di chuyển theo đường thẳng. Thứ tự duyệt trong khi di chuyển theo đường thẳng thường phải khớp với thứ tự hình ảnh hoặc thứ tự duyệt phải được tối ưu hóa theo một cách khác để duy trì thứ tự logic cho người dùng trình đọc màn hình.
Theo mặc định, TalkBack sử dụng phân cấp chế độ xem của ứng dụng để xác định thứ tự duyệt các mục trong khi di chuyển theo đường thẳng.
Triển khai
Trong những trường hợp phân cấp chế độ xem của ứng dụng không phản ánh cấu trúc logic của ứng dụng, nhà phát triển có thể tác động lên thao tác duyệt trợ năng bằng cách đặt android:accessibilityTraversalBefore
hoặc android:accessibilityTraversalAfter
. Những thuộc tính này thể hiện rằng trình đọc màn hình phải truy cập vào nội dung của một chế độ xem trước (hoặc sau) nội dung của một chế độ xem khác. Các chế độ xem không có mối quan hệ trước/sau được duyệt theo thứ tự do trình đọc màn hình xác định.
Thứ tự duyệt trợ năng khác với thứ tự "tiêu điểm nhập" dùng để di chuyển trên bàn phím. Thứ tự di chuyển trên bàn phím được chỉ định bằng các thuộc tính android:nextFocusDown
, android:nextFocusLeft
, android:nextFocusRight
và android:nextFocusUp
.
Khi sử dụng accessibilityTraversalBefore
và accessibilityTraversalAfter
, hãy xem xét các mẹo sau đây để tránh tình trạng hạn chế quá mức thứ tự duyệt:
- Chỉ sử dụng các thuộc tính này ở những nơi thứ tự logic khác với thứ tự phân cấp chế độ xem.
- Mỗi phần tử mà người dùng có thể lấy tiêu điểm nhờ khám phá bằng cách chạm cũng phải lấy được tiêu điểm trong khi di chuyển theo đường thẳng.
- Thứ tự duyệt phải nhất quán với cách di chuyển theo đường thẳng, bất kể hướng như thế nào. Chẳng hạn như một cử chỉ di chuyển tiêu điểm đến phần tử "tiếp theo" và ngay sau đó là cử chỉ di chuyển tiêu điểm đến phần tử "trước" phải luôn cho ra tiêu điểm quay về phần tử ban đầu.
- Không nên đưa các chu kỳ vào khi xác định
accessibilityTraversalBefore
vàaccessibilityTraversalAfter
, nếu không, người dùng có thể gặp phải trường hợp không chạm được vào một số phần tử khi sử dụng phương thức di chuyển theo đường thẳng.
Thiết kế
Khi thiết kế ứng dụng, hãy cân nhắc ý định của bạn khi để người dùng trình đọc màn hình duyệt theo đường thẳng các thông tin hiển thị trong giao diện. Tốt nhất là thứ tự duyệt này phải khớp với thứ tự trình bày thông tin bằng hình ảnh. Tuy nhiên, khi không thể khớp các thứ tự này, bạn có thể chỉ định một thứ tự duyệt thể hiện được cấu trúc logic hoặc mục đích của giao diện.
Tìm hiểu thêm về cách tạo phương thức di chuyển dễ thực hiện theo tại đây.
Kiểm tra
Để đánh giá thứ tự duyệt trợ năng của một ứng dụng theo cách thủ công:
- Bật TalkBack.
- Mở ứng dụng.
- Sử dụng cử chỉ di chuyển theo đường thẳng để di chuyển tiêu điểm trợ năng đến từng phần tử trên màn hình.
- Xác minh rằng TalkBack di chuyển tiêu điểm qua các phần tử trên màn hình theo thứ tự logic và nói được thông tin hiển thị có ý nghĩa về mỗi phần tử mà ứng dụng này truy cập.
- Xác minh rằng TalkBack di chuyển tiến và lùi qua các phần tử trên màn hình theo cách nhất quán, bất kể hướng di chuyển ra sao.
Các công cụ kiểm tra tự động của Android có thể phát hiện một số vấn đề về thứ tự duyệt. Hãy cân nhắc sử dụng Trình quét trợ năng cho Android để kiểm tra ứng dụng của bạn trên thiết bị theo cách thủ công. Để kiểm tra tự động, hãy bật tính năng kiểm tra trợ năng trong Espresso và Robolectric.