Khả năng tương tác 2024: Chrome đạt 100% cho lĩnh vực hỗ trợ tiếp cận

Jocelyn Tran
Jocelyn Tran

Chrome bắt đầu năm vừa qua, khi vượt qua 88,2% số bài kiểm thử trong lĩnh vực hỗ trợ tiếp cận về Interop 2024. Vào tháng 6 năm 2024, chúng tôi lần đầu tiên đạt 100% số lần kiểm tra thành công. Bài đăng này giải thích công việc đã giúp tiếp cận mục tiêu này.

Giống như mọi khía cạnh trọng tâm trong khả năng tương tác 2024, khu vực hỗ trợ tiếp cận được xác định theo tập hợp các bài kiểm tra nền tảng web cho các tính năng được chọn. Mục tiêu của các thử nghiệm trong khả năng tương tác năm 2024 để đảm bảo tất cả trình duyệt đều tạo tên dễ tiếp cận và vai trò được tính toán như nhau .

Tên dễ tiếp cận thể hiện mục đích hoặc ý định của một phần tử HTML. Điều này giúp người dùng hiểu mục đích của phần tử này và cách họ có thể tương tác với phần tử đó. Chiến lược phát hành đĩa đơn thông số tài khoản xác định cách trình duyệt tạo chuỗi tên thành phần hỗ trợ tiếp cận này cho một phần tử. Thông số kỹ thuật ARIA có hướng dẫn từng bước về cách tên này được tính.

Vai trò được tính toán của một phần tử là một chuỗi thể hiện vai trò của được tính toán bởi công cụ trình duyệt. Chế độ này chủ yếu được dùng trong nhà phát triển và ví dụ: trong hàm WebDriver getComputedRole, việc bật kiểm thử khả năng tương tác.

Nhóm Chrome cần làm gì?

Có hai mảng công việc lớn hơn mà chúng tôi cần hoàn thành—thay đổi lập bản đồ thành vai trò chung và xoá những vai trò không dùng nữa. Sau đó, có một số các tính năng và bản sửa lỗi nhỏ hơn để triển khai. Ngoài các sản phẩm sau công việc mà nhóm Chrome đã hoàn thành, chúng tôi cũng đã cộng tác với Microsoft về các bản sửa lỗi mà họ đã cam kết với Chromium cho lĩnh vực trọng tâm về hỗ trợ tiếp cận.

Thay đổi việc liên kết cho một số vai trò nhất định thành vai trò chung

Việc thay đổi mục ánh xạ sang vai trò chung sẽ xoá ngữ nghĩa hỗ trợ tiếp cận khỏi . Các phần tử chung không cung cấp giá trị cho cây hỗ trợ tiếp cận, vì vậy, chúng không được đưa vào cây. Điều này giúp tăng hiệu suất và khiến cây xanh nhỏ hơn và dễ phân tích cú pháp hơn đối với công nghệ hỗ trợ. Các vai trò sau đây thay đổi thành vai trò chung.

  • <header> trong phạm vi <main> hoặc một phần tử nội dung theo phần (<article>, <aside>, <nav> hoặc <section>).
  • <footer> thuộc phạm vi <main> hoặc phần tử nội dung phân vùng (<article>, <aside>, <nav> hoặc <section>).
  • <aside> bên trong phần tử nội dung phân đoạn (<article>, <aside>, <nav>, hoặc <section>) mà không có tên thành phần hỗ trợ tiếp cận.
  • <section> không có tên thành phần hỗ trợ tiếp cận.
  • Mục danh sách bị mất gốc (<li>).

Bốn dấu đầu dòng đầu tiên thường được ánh xạ đến vị trí nổi bật. Việc có quá nhiều điểm mốc trên một trang có thể khiến người dùng khó thao tác hơn giúp giảm các mốc thừa, giúp trang dễ điều hướng hơn. Chiến lược phát hành đĩa đơn mục cuối cùng thường chỉ ra lỗi của nhà phát triển trang, một mục trong danh sách phải luôn nằm trong danh sách, do đó, một mục mất nguồn gốc được cung cấp vai trò.

Xoá vai trò không dùng nữa

Chúng tôi đã ngừng sử dụng vai trò directory và liên kết nó với vai trò danh sách. ARIA 1.2 sẽ ngừng sử dụng directory vai trò. Thông số kỹ thuật giải thích rằng vai trò này tương đương với vai trò list và nhà phát triển nên sử dụng list. Để duy trì ngữ nghĩa của các phiên bản cũ nội dung sử dụng directory thì giờ đây, nội dung này được ánh xạ với list trong Chrome.

Cách khắc phục khác

Chúng tôi đã hỗ trợ thêm cho gridcell vai trò. Vai trò mới này tạo ra sự khác biệt giữa gridcellcell rõ ràng hơn. Không giống như cell, gridcell có thể làm tâm điểm, chỉnh sửa và chọn được.

Chúng tôi đã bổ sung cách tính toán vai trò dự phòng. Trước đây, chúng tôi không kiểm tra tính năng dự phòng Vì vậy, nếu vai trò đầu tiên không hợp lệ, chúng tôi đã sử dụng một vai trò khác, thông tin chi tiết là gì trong phần thông số kỹ thuật.

Một số vai trò chỉ hợp lệ nếu được đặt trong bối cảnh chính xác. Chúng tôi đã bổ sung một bước kiểm tra về việc sử dụng vai trò không hợp lệ, như sau:

  • Vai trò row phải nằm trong table, grid, rowgroup hoặc treegrid.
  • Vai trò rowgroup phải nằm trong table, grid, tree hoặc treegrid.
  • Vai trò listitem phải nằm bên trong list.

Nếu vai trò không hợp lệ, Chrome hiện sẽ sử dụng thông tin khác, chẳng hạn như mã HTML để tính toán vai trò thay thế.

Chúng tôi đã đánh dấu theadtfooter là được đưa vào cây hỗ trợ tiếp cận. Trước đây, các lệnh này được đánh dấu là bị bỏ qua nhưng vẫn được đưa vào cây. Bây giờ công nghệ hỗ trợ có thể phân tích cú pháp đầu trang và chân trang của bảng.


Mặc dù không phải nhà phát triển nào cũng thấy những thay đổi này trên mọi trình duyệt làm việc để đảm bảo những điều này hoạt động theo cùng cách, chúng tôi đảm bảo rằng các đều được thể hiện theo cách giống nhau ở mọi nơi.