Dua tombol bergambar panah dapat terlihat jelas bagi orang yang melihatnya. Namun, gambar itu belum tentu menjelaskan tujuan tombol ketika antarmuka dibaca melalui teknologi bantu.
Beberapa hari lalu, saya menambahkan label pada tombol navigasi banner dan grafik di aplikasi portal. Perubahan ini sederhana, tetapi menyentuh hal yang mendasar: bagaimana sebuah kontrol menjelaskan tindakan yang dapat dilakukan pengguna?
Nama yang menjelaskan tindakan
WAI-ARIA 1.2 menjelaskan properti
aria-label untuk memberikan nama pada sebuah elemen ketika penggunaannya sesuai. Untuk tombol yang hanya menampilkan ikon, nama tersebut membantu menyampaikan tindakan yang diwakili.Saya menyarankan memilih nama dari tujuan kontrol. “Tampilkan banner berikutnya” menjelaskan aksi dengan lebih konkret daripada “panah kanan”. Bahasa label juga perlu mengikuti bahasa antarmuka.
Bila teks tombol sudah terlihat dan jelas, pertahankan teks itu sebagai dasar namanya. Tambahan atribut perlu mempunyai tujuan, bukan menjadi hiasan yang dipasang pada semua elemen.
Perubahan yang saya buat
Perbaikan yang saya buat menambahkan
aria-label='Prev' dan aria-label='Next' pada tombol navigasi di dua komponen: banner informasi dan grafik informasi.Sebelumnya, tombol tersebut berisi ikon chevron tanpa label eksplisit pada elemennya. Saya tetap memakai elemen tombol yang sama dan menambahkan nama untuk tindakan sebelumnya serta berikutnya.
Penambahan label ini baru menyentuh dua kelompok kontrol. Agar navigasinya dapat digunakan dengan baik, nama tombol masih perlu diperiksa bersama urutan fokus, pengoperasian keyboard, dan perubahan kontennya.
Konteks membuat label lebih jelas
Nama “Next” memberi arah tindakan, tetapi konteks halaman tetap penting. Jika ada beberapa kelompok navigasi, nama yang lebih khusus dapat membantu membedakan tujuan masing-masing.
Untuk memperjelas konteks tindakan, labelnya dapat dibuat lebih khusus seperti berikut:
<button type="button" aria-label="Tampilkan banner berikutnya">
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="m9 5 7 7-7 7" fill="none" stroke="currentColor" />
</svg>
</button>Dalam contoh ini, tombol menyampaikan nama tindakan, sedangkan ikon berfungsi sebagai petunjuk visual. Pemilihan label akhirnya tetap perlu diperiksa dalam konteks halaman yang sebenarnya.
Pemeriksaan tidak berhenti pada label
Bagian | Yang perlu diperiksa |
Nama kontrol | Apakah tujuan tombol dapat dikenali? |
Keyboard | Apakah kontrol dapat dijangkau dan dijalankan tanpa mouse? |
Fokus | Apakah posisi fokus terlihat dan urutannya dapat diikuti? |
Konteks | Apakah nama serta perubahan konten cukup jelas di dalam halaman? |
WCAG 2.1 memberi dasar untuk memeriksa akses keyboard, fokus, serta nama, peran, dan nilai kontrol. Saya memakai bagian-bagian ini sebagai peta untuk melihat lebih jauh dari penambahan label.
Setiap bagian perlu diperiksa dalam alur yang sama. Nama yang jelas akan kurang membantu jika tombolnya sulit dijangkau atau posisi fokus tidak terlihat.
Memeriksa satu alur sampai selesai
Untuk mulai menerapkannya, saya menyarankan memilih satu alur sederhana: menemukan banner, menjangkau tombolnya, menjalankan navigasi, lalu memahami konten yang ditampilkan.
Periksa alur itu dengan keyboard dan teknologi bantu yang relevan. Catat bagian yang benar-benar diuji. Penambahan label dapat dinilai sebagai satu perbaikan, sementara pemeriksaan alur memberi bukti yang lebih luas tentang penggunaannya.
Untuk portal ini, label hanyalah langkah awal. Berikutnya saya akan memeriksa navigasi banner sebagai satu alur.
Memulai dari kontrol yang sering digunakan
Tombol ikon, navigasi, dan formulir merupakan tempat yang masuk akal untuk memulai pemeriksaan. Pilih satu kelompok kontrol, jelaskan tujuannya, lalu periksa cara pengguna menjangkau dan mengoperasikannya.
Label yang baik tidak menolong tombol yang tidak bisa dijangkau dengan keyboard. Periksa keduanya bersama.
Referensi
add button aria-label
