Navigasi Papan Ketik dan Urutan Fokus
Pastikan semua fungsi dapat dijangkau dan digunakan secara logis melalui papan ketik.
Navigasi Papan Ketik dan Urutan Fokus adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.
Siapa yang Memerlukan Navigasi Keyboard?
Banyak pengguna mengandalkan navigasi keyboard:
- Disabilitas motorik — tidak dapat menggunakan mouse
- Pengguna mahir — lebih menyukai pintasan keyboard
- Pengguna pembaca layar — sepenuhnya bernavigasi dengan keyboard
- Pengguna akses sakelar — menggunakan tombol yang menyimulasikan penekanan tombol
Elemen yang Secara Alami Dapat Menerima Focus
Elemen HTML berikut secara bawaan dapat menerima focus dari keyboard:
<a href>— Tab berpindah ke elemen tersebut, Enter mengaktifkannya<button>— Tab berpindah ke elemen tersebut, Enter/Spasi mengaktifkannya<input>,<textarea>,<select>— Tab berpindah ke elemen-elemen tersebut<details>/<summary>— Tab + Enter
Urutan Tab
Browser menentukan urutan tab berdasarkan:
- Urutan DOM secara bawaan — elemen ditab sesuai urutan kemunculannya dalam HTML
- Nilai tabindex positif — elemen-elemen tersebut ditab terlebih dahulu dalam urutan menaik
tabindex="0"— ditambahkan ke urutan tab alami pada posisi DOM-nyatabindex="-1"— tidak berada dalam urutan tab; hanya dapat menerima focus melalui skrip
Urutan Tab Alami = Urutan DOM
Urutan pembacaan HTML Anda harus sesuai dengan tata letak visual:
<!-- GOOD: DOM order matches visual left-to-right, top-to-bottom: -->
<header>...</header>
<nav>...</nav>
<main>...</main>
<aside>...</aside>
<footer>...</footer>
<!-- BAD: visually reordered with CSS, DOM order broken:
CSS flexbox order: doesn't affect tab order!
Screen readers and keyboard users follow DOM order, not CSS order -->Indikator Focus yang Terlihat
WCAG 2.4.7 (Tingkat AA): focus keyboard harus terlihat:
/* NEVER do this: */
* { outline: none; } /* removes all focus outlines */
/* GOOD: styled focus indicator: */
:focus-visible {
outline: 2px solid #0070f3;
outline-offset: 3px;
border-radius: 4px;
}
/* :focus-visible shows outline for keyboard only
mouse clicks don't trigger :focus-visible -->
/* But outline: none with :focus (not :focus-visible) hides for both */Gaya Focus Kustom
Gaya focus sistem desain:
/* Replace outline with box-shadow for rounded elements: */
button:focus-visible {
outline: none;
box-shadow: 0 0 0 3px rgba(0, 112, 243, 0.4);
}
/* Always ensure 3:1 contrast ratio between
focus indicator and background (WCAG 2.4.11 Level AA) */Urutan Focus yang Logis
Urutan focus harus logis dan dapat diprediksi — WCAG 2.4.3 (Tingkat A):
<!-- BAD: focus order jumps around the page -->
<!-- First: footer link (tabindex=5) -->
<!-- Then: sidebar (tabindex=3) -->
<!-- Then: header nav (tabindex=1) -->
<!-- GOOD: natural DOM order matches reading flow: -->
<!-- Header → Nav → Main Content → Sidebar → Footer -->Tautan Lewati
Tautan lewati memungkinkan pengguna keyboard melewati navigasi yang berulang:
<a href="#main-content" class="skip-link">Skip to main content</a>
<!-- Visually hidden until focused: -->
.skip-link {
position: absolute;
top: -100%;
left: 0;
background: #0070f3;
color: white;
padding: 0.75rem;
z-index: 9999;
}
.skip-link:focus {
top: 0; /* visible when focused -->
}Perangkap Focus pada Modal
Modal harus menjebak focus saat terbuka:
<!-- When modal opens:
1. Move focus to modal container or first interactive element
2. Tab stays within modal
3. When modal closes, return focus to the trigger button
-->
const modal = document.getElementById('modal');
const trigger = document.getElementById('open-modal');
function openModal() {
modal.removeAttribute('hidden');
modal.querySelector('button, [tabindex="0"]').focus();
}
function closeModal() {
modal.setAttribute('hidden', '');
trigger.focus();
}Pintasan Keyboard
Terapkan pintasan keyboard dengan pendengar peristiwa:
document.addEventListener('keydown', (e) => {
// Close modal on Escape:
if (e.key === 'Escape') closeModal();
// Navigate tabs with arrow keys:
if (e.key === 'ArrowRight') focusNextTab();
if (e.key === 'ArrowLeft') focusPrevTab();
// Submit form on Enter (default behavior in inputs):
// Nothing needed — browser handles this
});Menguji Navigasi Keyboard
Cara menguji aksesibilitas keyboard:
- Singkirkan mouse dan gunakan keyboard saja
- Tekan Tab — apakah Anda dapat menjangkau setiap elemen interaktif?
- Apakah indikator focus selalu terlihat?
- Apakah urutan tab masuk akal secara logis?
- Apakah Anda dapat menggunakan semua fitur (formulir, modal, menu tarik-turun) tanpa mouse?
- Tekan Shift+Tab untuk bernavigasi mundur
Pemeriksaan Singkat
Properti CSS apa yang tidak boleh Anda hapus dari semua elemen demi aksesibilitas keyboard?
Ringkasan: Navigasi Keyboard
Hal-hal penting tentang aksesibilitas keyboard:
- Semua elemen interaktif harus dapat dijangkau dengan Tab
- Urutan DOM = urutan tab — sesuaikan dengan tata letak visual
- Jangan pernah menghapus garis luar focus — gunakan
:focus-visibleuntuk gaya kustom - Tautan lewati memungkinkan pengguna melewati navigasi yang berulang
- Gunakan perangkap focus dalam modal; kembalikan focus saat modal ditutup
- Uji situs Anda hanya dengan keyboard
Belajar HTML dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 40
- Pelajaran
- 159
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Navigasi Papan Ketik dan Urutan Fokus” gratis?
Ya — teks lengkap “Navigasi Papan Ketik dan Urutan Fokus” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Navigasi Papan Ketik dan Urutan Fokus”?
Pastikan semua fungsi dapat dijangkau dan digunakan secara logis melalui papan ketik. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai HTML Academy?
Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Navigasi Papan Ketik dan Urutan Fokus” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?
Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Mengapa Aksesibilitas Penting Tingkatan WCAG
- Hierarki Judul untuk Pembaca Layar
- Teks Alt Gambar Kapan dan Bagaimana
- Navigasi Papan Ketik dan Urutan Fokus