Web Accessibility (a11y) — Web Fundamentals

Web Accessibility (a11y) memastikan website bisa digunakan oleh semua orang, termasuk penyandang disabilitas. Ini bukan fitur tambahan — ini adalah tanggung…

Aksesibilitas web (disingkat a11y: huruf a, 11 huruf di tengah, lalu y) artinya website kamu bisa dipakai semua orang: pengguna tunanetra dengan screen reader (program yang membacakan isi layar), orang yang cuma bisa pakai keyboard, orang dengan penglihatan lemah, orang tuli, sampai kamu sendiri waktu membaca HP di bawah terik matahari. Alatnya sudah kamu kenal di pelajaran HTML: tag semantik, alt, <label>, ARIA. Di sini kamu lihat apa yang sampai ke penggunanya, dan standar yang dipakai buat mengujinya.

🧪 Tebakan cepat: teks abu-abu muda di atas latar putih. Apakah pengguna screen reader ikut kesulitan? Tebak dulu, jawabannya ada di bagian "Kontras warna".

Peran dan nama: yang dibacakan screen reader

Dua formulir langganan ini tampil hampir sama di layar:

<!-- Versi 1: kelihatan beres, tapi rusak buat banyak orang -->
<img src="logo.svg">
<span>Email</span>
<input type="email">
<div class="btn" onclick="langganan()">Langganan</div>

<!-- Versi 2: bisa dipakai semua orang -->
<img src="logo.svg" alt="Kopi Senja">
<label for="email">Email</label>
<input id="email" type="email">
<button onclick="langganan()">Langganan</button>

Dari HTML, browser menyusun daftar khusus buat alat bantu seperti screen reader. Tiap elemen di daftar itu punya peran (tombol, link, kotak isian, gambar) dan nama (teks yang dibacakan).

Hasilnya, waktu kamu menekan Tab di versi 2, screen reader bilang kira-kira "Email, kotak isian" lalu "Langganan, tombol". Tag <nav> dan <main> juga memberi peran, jadi pengguna screen reader bisa langsung melompat ke menu atau ke isi utama.

Keyboard: semua bisa dipakai tanpa mouse

Banyak orang gak bisa memakai mouse. Semua yang bisa diklik harus bisa dicapai dan dipakai lewat keyboard:

<a href>, <button>, <input> dan <select> masuk urutan Tab dengan sendirinya. Garis fokus (outline) di sekeliling elemen menunjukkan posisi kamu sekarang, jadi jangan dihapus tanpa pengganti.

Kontras warna

Rasio kontras membandingkan terangnya warna teks dengan latarnya, dari 1:1 (warnanya sama) sampai 21:1 (hitam di atas putih). Syarat WCAG level AA:

Jenis Minimal
Teks biasa 4.5:1
Teks besar (24px, atau 18.66px tebal) 3:1
Ikon dan garis tepi kotak isian 3:1

Contohnya, abu-abu #767676 di atas putih kontrasnya 4.54:1, pas lolos. #a3a3a3 cuma 2.5:1, gagal. Jawaban tebakannya: pengguna screen reader gak terganggu, karena teksnya tetap dibacakan. Yang kesulitan adalah orang dengan penglihatan lemah, orang tua, dan siapa pun yang membaca di bawah matahari.

WCAG: standar buat mengujinya

WCAG (Web Content Accessibility Guidelines) adalah standar aksesibilitas dari W3C, lembaga standar web. Versi terbarunya 2.2. Tiap aturannya punya level: A (paling dasar), AA (target yang biasa diminta perusahaan dan aturan pemerintah), dan AAA (paling ketat, misalnya kontras teks 7:1).

Aturan Level Artinya
1.1.1 Konten non-teks A gambar punya teks pengganti (alt)
2.1.1 Keyboard A semua fungsi bisa dipakai lewat keyboard
1.4.3 Kontras (minimum) AA teks biasa minimal 4.5:1
2.4.7 Fokus terlihat AA posisi fokus keyboard kelihatan

Cara mengecek: pakai halamanmu cuma dengan keyboard, jalankan pemeriksa otomatis seperti axe DevTools atau audit Accessibility di Lighthouse, lalu dengarkan pakai screen reader: NVDA (gratis di Windows), VoiceOver (bawaan Mac dan iPhone), atau TalkBack (bawaan Android).

⚠️ Jebakan yang sering ketemu

TL;DR: Aksesibilitas berarti website bisa dipakai semua orang, termasuk pengguna screen reader dan keyboard. Screen reader membacakan peran dan nama tiap elemen, jadi pakai <button>, alt, dan <label for> yang tersambung ke id. Semua fungsi harus bisa dipakai lewat Tab, Enter dan Spasi, dengan garis fokus yang kelihatan. WCAG 2.2 level AA minta kontras minimal 4.5:1 buat teks biasa dan 3:1 buat teks besar.

Yang akan kamu pelajari