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.
Apa yang termasuk dalam area fokus aksesibilitas?
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 dalamtable
,grid
,rowgroup
, atautreegrid
. - Peran
rowgroup
harus berada di dalamtable
,grid
,tree
, atautreegrid
. - Peran
listitem
harus berada di dalamlist
.
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.