Dasar-dasar akses keyboard

Banyak pengguna yang berbeda mengandalkan keyboard untuk menavigasi aplikasi—mulai dari pengguna yang memiliki gangguan motorik sementara dan permanen hingga pengguna yang menggunakan pintasan keyboard agar lebih efisien dan produktif. Memiliki strategi navigasi keyboard yang baik untuk aplikasi Anda akan menciptakan pengalaman yang lebih baik bagi semua orang.

Fokus dan urutan tab

Pada waktu tertentu, fokus mengacu pada elemen apa dalam aplikasi Anda (seperti kolom, kotak centang, tombol, atau link) yang saat ini menerima input dari keyboard. Selain menerima peristiwa keyboard, elemen yang difokuskan juga mendapatkan konten yang ditempelkan dari papan klip.

Untuk memindahkan fokus pada halaman, gunakan TAB untuk menavigasi "maju" dan SHIFT + TAB untuk menavigasi "mundur". Elemen yang saat ini difokuskan sering ditunjukkan dengan lingkaran fokus, dan berbagai browser menata gaya lingkaran fokusnya secara berbeda. Urutan fokus yang bergerak maju dan mundur melalui elemen interaktif disebut urutan tab.

Elemen HTML interaktif seperti kolom teks, tombol, dan daftar pilihan dapat difokuskan secara implisit: elemen tersebut secara otomatis disisipkan ke dalam urutan tab berdasarkan posisinya di DOM. Elemen interaktif ini juga memiliki penanganan peristiwa keyboard bawaan. Elemen seperti paragraf dan div tidak dapat difokuskan secara implisit karena pengguna biasanya tidak perlu berinteraksi dengan elemen tersebut.

Menerapkan urutan tab yang logis adalah bagian penting dalam memberikan pengalaman navigasi keyboard yang lancar kepada pengguna. Ada dua ide utama yang perlu diingat saat menilai dan menyesuaikan urutan tab Anda:

  1. Mengatur elemen dalam DOM agar dalam urutan yang logis
  2. Tetapkan dengan benar visibilitas konten di balik layar yang seharusnya tidak menerima fokus

Mengatur elemen dalam DOM agar dalam urutan yang logis

Untuk memeriksa apakah urutan tab aplikasi Anda logis, coba cari melalui tab melalui halaman Anda. Secara umum, fokus harus mengikuti urutan pembacaan, yaitu dari kiri ke kanan, dari atas ke bawah halaman Anda.

Jika urutan fokus tampak salah, Anda harus mengatur ulang elemen di DOM agar urutan tab lebih natural. Jika Anda ingin sesuatu muncul secara visual lebih awal di layar, pindahkan lebih awal di DOM.

Coba tekan tombol tab melalui dua kumpulan tombol di bawah ini untuk melihat urutan tab yang logis versus urutan tab yang tidak logis:

Urutan tab logis

Urutan tab tidak logis

Kode untuk kedua contoh ini dibandingkan di bawah ini:

Urutan tab logis

<button>Kiwi</button>
<button>Peach</button>
<button>Coconut</button>

Urutan tab tidak logis

<button style="float: right">Kiwi</button>
<button>Peach</button>
<button>Coconut</button>

Berhati-hatilah saat mengubah posisi visual elemen menggunakan CSS untuk menghindari pembuatan urutan tab yang tidak logis. Untuk memperbaiki urutan tab yang tidak logis di atas, pindahkan tombol "Kiwi" mengambang agar muncul setelah tombol "Coconut" di DOM, dan hapus gaya inline.

Menyetel visibilitas konten di balik layar dengan benar

Terkadang elemen interaktif di luar layar harus ada di DOM, tetapi tidak boleh dalam urutan tab. Misalnya, jika Anda memiliki navigasi samping responsif yang terbuka saat Anda mengklik tombol, pengguna tidak akan dapat berfokus pada navigasi samping saat tertutup.

Untuk mencegah elemen interaktif tertentu menerima fokus, Anda harus memberikan salah satu properti CSS berikut pada elemen:

  • display: none
  • visibility: hidden

Untuk menambahkan kembali elemen ke urutan tab, misalnya saat navigasi samping dibuka, ganti properti CSS di atas masing-masing dengan:

  • display: block
  • visibility: visible

Langkah berikutnya

Untuk pengguna yang mengoperasikan komputernya hampir sepenuhnya dengan keyboard atau perangkat input lainnya, urutan tab yang logis sangat penting agar aplikasi Anda dapat diakses dan digunakan. Sebagai kebiasaan yang baik untuk memeriksa urutan tab Anda, coba melakukan tab pada aplikasi Anda sebelum setiap publikasi.