Interop 2024: Chrome mencapai 100% untuk area fokus aksesibilitas

Jocelyn Tran
Jocelyn Tran

Chrome memulai tahun ini dengan lulus 88,2% pengujian di area fokus aksesibilitas Interop 2024. Pada Juni 2024, kami menjadi yang pertama mencapai 100% pengujian yang lulus. Postingan ini menjelaskan pekerjaan yang dilakukan untuk mencapai sasaran ini.

Seperti setiap area fokus di Interop 2024, area aksesibilitas ditentukan oleh serangkaian pengujian platform web untuk fitur yang dipilih. Pengujian di Interop 2024 bertujuan untuk memastikan semua browser membuat nama yang dapat diakses dan peran yang dihitung dengan cara yang sama.

Nama yang dapat diakses menyampaikan tujuan atau intent elemen HTML. Hal ini membantu pengguna memahami tujuan elemen dan cara mereka berinteraksi dengannya. Spesifikasi accname menentukan cara browser membuat string nama yang dapat diakses ini untuk elemen. Spesifikasi ARIA menyertakan panduan cara penghitungan nama ini.

Peran elemen yang dihitung adalah string yang mewakili peran elemen seperti yang dihitung oleh mesin browser. Ini terutama digunakan dalam alat developer dan, misalnya, dalam fungsi WebDriver getComputedRole, yang memungkinkan pengujian interoperabilitas.

Apa yang harus dilakukan tim Chrome?

Ada dua area pekerjaan yang lebih besar yang perlu kami selesaikan—mengubah pemetaan peran menjadi peran generik dan menghapus peran yang tidak digunakan lagi. Kemudian, ada beberapa perbaikan dan fitur tambahan yang lebih kecil untuk diterapkan. Selain pekerjaan berikut yang diselesaikan tim Chrome, kami juga berkolaborasi dengan Microsoft terkait perbaikan yang mereka lakukan pada Chromium untuk area fokus aksesibilitas.

Mengubah pemetaan untuk peran tertentu menjadi peran umum

Mengubah pemetaan ke peran umum akan menghapus semantik aksesibilitas dari elemen. Elemen generik tidak memberikan nilai ke hierarki aksesibilitas, sehingga tidak disertakan dalam hierarki. Hal ini membantu performa dan membuat hierarki lebih kecil dan lebih mudah diuraikan untuk teknologi pendukung. Peran berikut diubah menjadi peran umum.

  • <header> yang dicakup untuk <main> atau elemen konten bagian (<article>, <aside>, <nav>, atau <section>).
  • <footer> yang dicakup untuk <main> atau elemen konten bagian (<article>, <aside>, <nav>, atau <section>).
  • <aside> di dalam elemen konten bagian (<article>, <aside>, <nav>, atau <section>) tanpa nama yang dapat diakses.
  • <section> tanpa nama yang dapat diakses.
  • Item daftar yang tidak memiliki induk (<li>).

Untuk empat poin pertama, biasanya elemen ini dipetakan ke peran penanda. Adanya terlalu banyak penanda di halaman dapat mempersulit navigasi, sehingga perubahan ini membantu mengurangi penanda yang berlebihan sehingga halaman lebih mudah dijelajahi. Item akhir biasanya menunjukkan kesalahan oleh developer halaman, item daftar harus selalu berada di dalam daftar, sehingga item yang tidak memiliki induk diberi peran generik.

Menghapus peran yang tidak digunakan lagi

Kami tidak lagi menggunakan peran directory, dan memetakan peran tersebut ke peran daftar. ARIA 1.2 tidak lagi menggunakan peran directory. Spesifikasi menjelaskan bahwa peran ini setara dengan peran list, dan developer harus menggunakan list. Untuk mempertahankan semantik konten lama yang menggunakan directory, konten tersebut kini dipetakan ke list di Chrome.

Perbaikan lainnya

Kami menambahkan dukungan untuk peran gridcell. Peran baru ini membuat perbedaan antara gridcell dan cell lebih jelas. gridcell dapat difokuskan, diedit, dan dipilih, tidak seperti cell.

Kami menambahkan penghitungan peran penggantian. Sebelumnya, kita tidak memeriksa peran penggantian sehingga jika peran pertama tidak valid, kita menggunakan peran lain, yang tidak dijelaskan dalam spesifikasi.

Beberapa peran hanya valid jika berada dalam konteks yang benar. Kami menambahkan pemeriksaan untuk penggunaan peran yang tidak valid, sebagai berikut:

  • Peran row harus berada di dalam table, grid, rowgroup, atau treegrid.
  • Peran rowgroup harus berada di dalam table, grid, tree, atau treegrid.
  • Peran listitem harus berada di dalam list.

Jika peran tidak valid, Chrome kini menggunakan informasi lain, seperti elemen HTML, untuk menghitung peran alternatif.

Kita menandai thead dan tfooter sebagai disertakan dalam hierarki aksesibilitas. Sebelumnya, file tersebut ditandai sebagai diabaikan, tetapi masih disertakan dalam hierarki. Sekarang, header tabel dan footer tabel dapat diuraikan oleh teknologi pendukung.


Meskipun perubahan ini mungkin tidak terlihat oleh sebagian besar developer, dengan semua browser yang bekerja untuk memastikan hal-hal ini berfungsi dengan cara yang sama, kami memastikan bahwa peran yang berbeda ditampilkan dengan cara yang sama di mana-mana.