Những phần tử trên màn hình mà người dùng có thể nhấp, chạm hoặc tương tác phải đủ lớn để đảm bảo thao tác đó hoạt động tốt. Hãy xem xét để đảm bảo những phần tử này có chiều rộng và chiều cao tối thiểu là 48dp theo mô tả trong Nguyên tắc về hỗ trợ tiếp cận bằng ngôn ngữ Material Design.
Triển khai
Xem
Khi triển khai những phần tử có thể nhấp vào hoặc có thể chạm vào trong một bố cục, hãy cân nhắc chọn những kích thước bằng hoặc lớn hơn kích thước đề xuất của đích chạm.
Đối với các yếu tố điều khiển này, nếu bạn chọn kích thước một cách linh hoạt, hoặc thay đổi kích thước theo nội dung, thì hãy cân nhắc sử dụng android:minWidth
và android:minHeight
để đặt giới hạn nhỏ cho các kích thước đó.
Để duy trì kích thước gốc của một lớp View
trong khi mở rộng các khu vực có thể chạm của lớp đó, hãy cân nhắc sử dụng chế độ TouchDelegate
. Chế độ này cho phép bố cục mẹ xử lý các sự kiện chạm thay cho lớp View
thuộc bố cục đó.
Lưu ý: Trình quét hỗ trợ tiếp cận chỉ có thể phát hiện và cho phép việc sử dụng TouchDelegate
khi chạy trên phiên bản Android 10 trở lên. Trong các phiên bản Android cũ, kết quả của kích thước đích chạm có thể xuất hiện kể cả khi API này được dùng để phóng to đích chạm tới một kích thước phù hợp.
Soạn
Khi bạn triển khai những phần tử có thể nhấp vào hoặc có thể chạm vào trong một thành phần kết hợp, hãy cân nhắc việc sử dụng kích thước đáp ứng hoặc vượt quá kích thước đề xuất của đích chạm.
Đối với các yếu tố điều khiển này, nếu bạn chọn kích thước một cách linh hoạt, hoặc thay đổi kích thước theo nội dung, hãy cân nhắc sử dụng Modifier.sizeIn
để đặt giới hạn nhỏ cho các kích thước đó.
có thể nhấp vào
hoặc sử dụng Modifier.mergeDescendants
, những thành phần này cho phép dịch vụ hỗ trợ tiếp cận chỉ lấy tiêu điểm một thành phần kết hợp lớn và ở cấp trên, sau đó gửi sự kiện nhấp chuột cho thành phần đó.Thiết kế
Mục tiêu cảm ứng bao gồm khu vực phản hồi thao tác nhập của người dùng. Đích chạm mở rộng bên ngoài giới hạn trực quan của một phần tử: Bạn có thể thấy một phần tử như biểu tượng có kích thước 24x24dp, nhưng vùng đệm bao quanh phần tử đó thì chứa toàn bộ đích chạm có kích thước 48x48dp. Trong Jetpack Compose, thành phần của ngôn ngữ Material chẳng hạn như Checkbox
hoặc Switch
tự động thêm khoảng đệm để đảm bảo các thành phần đó có kích thước ít nhất là 48x48dp. Trong một số trường hợp, chẳng hạn như các nút rất nhỏ và gần nhau, thì các phần tử không thể mở rộng nếu không khiến các vùng có thể chạm chồng lên nhau.
Cân nhắc tạo các đích chạm có kích thước ít nhất là 48x48dp, cách nhau một khoảng 8dp trở lên, để đảm bảo sự cân bằng giữa mật độ và tính hữu ích của thông tin. Mục tiêu cảm ứng 48x48dp sẽ có kích thước thực là khoảng 9 mm, bất kể kích thước màn hình. Kích thước mục tiêu đề xuất cho các đối tượng trên màn hình cảm ứng là 7-10 mm.
Ví dụ: Tham khảo Nguyên tắc về hỗ trợ tiếp cận bằng ngôn ngữ Material Design.
Kiểm tra
Sau đây là các bước giúp bạn tự kiểm tra để đảm bảo giao diện người dùng của ứng dụng không chứa các mục tiêu cảm ứng nhỏ:
- Mở ứng dụng.
- Xác định tất cả các phần tử có thể nhấp, có thể chạm hoặc có thể tương tác trong giao diện.
- Đảm bảo mỗi phần tử trong số đó đều có kích thước là 48x48dp, hoặc xấp xỉ 9 mm mỗi chiều.
Các công cụ kiểm tra tự động của Android có thể phát hiện mục tiêu cảm ứng nhỏ. 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. Để tiến hành kiểm tra tự động, hãy bật tính năng kiểm tra khả năng hỗ trợ tiếp cận trong Espresso và Robolectric.