JIS X 8341-3:2016 yêu cầu người dùng có thể thực hiện các chức năng của nội dung web bằng giao diện bàn phím và không bị mắc kẹt tại một thành phần. Để kiểm tra yêu cầu này, không nên chỉ xác nhận rằng phím Tab di chuyển được. Cần hoàn thành các tác vụ chính, nhận biết vị trí tiêu điểm và thoát được khỏi mọi thành phần tương tác mà không dùng chuột.
“Thao tác bằng bàn phím” có nghĩa là gì?
Giao diện bàn phím là cách điều khiển nội dung bằng các thao tác phím. Khái niệm này không chỉ bao gồm bàn phím vật lý mà còn bao gồm công nghệ hỗ trợ tạo ra thao tác phím, chẳng hạn như công tắc hoặc phần mềm nhập liệu bằng giọng nói.
Vì vậy, một chức năng không đạt yêu cầu nếu người dùng chỉ có thể kích hoạt nó bằng cách nhấp chuột, chạm màn hình hoặc thực hiện thao tác rê con trỏ. Liên kết, nút, trường biểu mẫu, menu, hộp thoại và các thành phần tùy chỉnh đều cần được kiểm tra bằng bàn phím.
Ba tiêu chí trong hướng dẫn 2.1
JIS X 8341-3:2016 có nội dung kỹ thuật tương ứng với WCAG 2.0. Hướng dẫn 2.1 về khả năng thao tác bằng bàn phím gồm ba tiêu chí sau:
| Tiêu chí | Mức | Điều cần xác nhận |
|---|---|---|
| 2.1.1 Điều khiển bằng bàn phím | A | Các chức năng có thể được vận hành bằng giao diện bàn phím mà không đòi hỏi thời điểm nhấn phím cụ thể, trừ chức năng vốn phụ thuộc vào đường di chuyển của con trỏ. |
| 2.1.2 Không có bẫy bàn phím | A | Nếu tiêu điểm đi vào một thành phần bằng bàn phím, người dùng cũng có thể đưa tiêu điểm ra khỏi thành phần đó bằng bàn phím. |
| 2.1.3 Thao tác bằng bàn phím, không có ngoại lệ | AAA | Mọi chức năng đều có thể được vận hành bằng giao diện bàn phím, kể cả các chức năng thuộc ngoại lệ của tiêu chí 2.1.1. |
Phân biệt 2.1.4 với yêu cầu về thời gian
Trong JIS X 8341-3:2016, hướng dẫn 2.1 kết thúc ở tiêu chí 2.1.3. Tiêu chí 2.1.4 về phím tắt bằng ký tự được bổ sung trong các phiên bản WCAG sau này; đây không phải là tiêu chí về điều chỉnh thời gian. Giới hạn thời gian thuộc hướng dẫn riêng về thời gian đủ.
Cách đáp ứng tiêu chí 2.1.1
Mục tiêu của tiêu chí 2.1.1 là giữ nguyên chức năng khi người dùng chuyển từ chuột sang bàn phím. Không nhất thiết mọi thao tác chuột phải được sao chép bằng đúng một phím; điều cần bảo đảm là người dùng vẫn hoàn thành được cùng tác vụ.
- Di chuyển tiêu điểm theo trình tự hợp lý: phím Tab và tổ hợp Shift + Tab cần đưa tiêu điểm qua các thành phần tương tác theo thứ tự dễ hiểu. Có thể xem thêm cách kiểm tra thứ tự tiêu điểm.
- Kích hoạt được điều khiển: liên kết, nút và thành phần tùy chỉnh phải phản hồi với thao tác bàn phím phù hợp. Không nên giả định rằng chỉ cần gắn sự kiện nhấp chuột là đã hỗ trợ bàn phím.
- Cung cấp cách thay thế cho thao tác con trỏ: nếu một mục có thể được kéo đến vị trí khác mà đường di chuyển không phải là bản chất của tác vụ, hãy cung cấp cách thực hiện tương đương bằng bàn phím, chẳng hạn như các nút di chuyển lên và xuống.
- Không yêu cầu nhấn phím theo nhịp chính xác: người dùng không nên phải giữ phím hoặc nhấn chuỗi phím trong một khoảng thời gian ngắn mới kích hoạt được chức năng.
- Kiểm tra trạng thái mở và đóng: menu, bảng chọn, hộp thoại và nội dung thu gọn phải mở, sử dụng và đóng được mà không cần chuột.
Tiêu điểm phải dễ nhận biết
Tiêu điểm bàn phím cho biết thành phần nào sẽ nhận thao tác phím tiếp theo. Một trang có thể cho phép di chuyển bằng Tab nhưng vẫn gây khó sử dụng nếu đường viền tiêu điểm bị xóa hoặc quá khó nhìn thấy. Vì vậy, hãy giữ kiểu tiêu điểm mặc định hoặc thay bằng kiểu hiển thị đủ rõ; bài viết về khả năng hiển thị của tiêu điểm giải thích riêng yêu cầu này.
Cách tránh bẫy bàn phím theo tiêu chí 2.1.2
Bẫy bàn phím xảy ra khi tiêu điểm đi vào một thành phần nhưng không thể rời khỏi đó bằng bàn phím. Khi gặp tình trạng này, người không dùng chuột có thể không tiếp tục được phần còn lại của trang.
Hộp thoại là trường hợp cần phân biệt rõ. Khi hộp thoại đang mở, việc giữ tiêu điểm bên trong hộp thoại có thể là hành vi phù hợp. Tuy nhiên, người dùng phải có cách đóng hộp thoại bằng bàn phím, chẳng hạn như nút “Đóng” hoặc “Hủy”; phím Esc thường cũng được hỗ trợ. Sau khi đóng, tiêu điểm nên quay về nút đã mở hộp thoại để người dùng không mất vị trí.
Một số trình soạn thảo hoặc thành phần nhúng có thể dùng tổ hợp phím riêng để thoát. Nếu cách thoát không phải Tab, phím mũi tên hoặc một phương thức quen thuộc khác, hướng dẫn cần xuất hiện trước hoặc ngay trong thành phần để người dùng biết phải làm gì.
Danh sách kiểm tra chỉ bằng bàn phím
Kiểm thử thủ công giúp phát hiện những lỗi mà việc đọc mã nguồn hoặc dùng công cụ tự động có thể bỏ sót. Có thể thực hiện theo trình tự sau:
- Tải lại trang, đặt chuột sang một bên và bắt đầu từ đầu trang.
- Dùng Tab và Shift + Tab để đi qua toàn bộ thành phần tương tác.
- Kiểm tra xem tiêu điểm có luôn nhìn thấy và đi theo thứ tự hợp lý hay không.
- Mở và kích hoạt từng liên kết, nút, menu, trường biểu mẫu và thành phần tùy chỉnh bằng phím phù hợp.
- Mở từng hộp thoại hoặc lớp phủ, đi qua các điều khiển bên trong rồi đóng lại bằng bàn phím.
- Xác nhận không có thành phần nào giữ tiêu điểm mà không cung cấp cách thoát.
- Hoàn thành các tác vụ chính, chẳng hạn như tìm nội dung, nhập biểu mẫu và gửi dữ liệu, mà không chạm vào chuột.
Các lỗi thường gặp
- Một vùng trông giống nút nhưng chỉ phản hồi khi nhấp chuột.
- Kiểu hiển thị tiêu điểm bị xóa nên người dùng không biết mình đang ở đâu.
- Thứ tự tiêu điểm khác xa thứ tự trình bày, khiến nội dung khó theo dõi.
- Hộp thoại đã đóng nhưng tiêu điểm bị đưa về đầu trang hoặc mất khỏi vị trí đang thao tác.
- Điều khiển của video, trình chiếu hoặc menu chỉ xuất hiện khi rê chuột.
Những người được hưởng lợi
Hỗ trợ bàn phím phục vụ người khiếm thị dùng trình đọc màn hình, người gặp hạn chế vận động, người dùng công tắc hoặc nhập liệu bằng giọng nói và người tạm thời không thể sử dụng chuột. Nó cũng giúp bất kỳ ai muốn thao tác nhanh bằng bàn phím hoặc đang dùng thiết bị trỏ không thuận tiện.
Hai điều cần xác nhận trước khi công bố
Để đáp ứng các tiêu chí mức A được đề cập trong bài, hãy xác nhận hai điều: mọi tác vụ cần thiết đều hoàn thành được bằng giao diện bàn phím, và tiêu điểm không bị mắc kẹt trong bất kỳ thành phần nào. Tiêu chí 2.1.3 ở mức AAA đặt ra yêu cầu nghiêm ngặt hơn vì không cho phép ngoại lệ dựa trên đường di chuyển của con trỏ.
Nếu đang xem xét các biện pháp hỗ trợ cho website, có thể tham khảo UUU Web Accessibility Widget Tool để tìm hiểu phạm vi chức năng. Công cụ hỗ trợ không thay thế việc kiểm thử bàn phím trên các tác vụ thực tế của trang.
