Pembaca layar dan aturan pertama ARIA
Aturan pertama ARIA adalah menghindarinya: kalau elemen HTML bawaan seperti button sudah melakukan tugasnya, pakai elemen itu alih-alih menambahkan role pada div.
Apa yang dibaca pembaca layar
Pembaca layar tidak membaca piksel. Browser membangun pohon aksesibilitas dari HTML, yaitu salinan halaman yang disederhanakan, tempat setiap elemen penting punya peran (button, link, heading, checkbox), nama (teks yang mengenalinya), dan kadang keadaan (checked, expanded, disabled). Pembaca layar membacakan pohon itu dengan suara atau mengirimnya ke layar braille. Kriteria keberhasilan WCAG 2.2 4.1.2 Nama, Peran, Nilai, pada level A, meminta agar setiap kontrol di halaman menampilkan ketiga hal itu.
Pengguna jarang mendengarkan halaman dari atas sampai bawah. Pembaca layar bawaan sistem operasi besar, dan yang gratis untuk dipasang, membuat orang bisa memunculkan daftar judul, tautan, atau landmark, melompat ke kolom formulir berikutnya, atau membaca satu baris sekali jalan. Karena itulah unit-unit sebelumnya begitu penting: judul sungguhan, kolom berlabel, tombol yang memang tombol, dan teks alt semuanya langsung masuk ke pohon itu. Atribut lang pada elemen html juga penting. Kriteria 3.1.1 Bahasa Halaman memintanya, dan pembaca layar memakainya untuk memilih suara dan pelafalan yang tepat.
Apa yang ditambahkan ARIA
WAI-ARIA (Accessible Rich Internet Applications) adalah sekumpulan atribut yang mengubah apa yang masuk ke pohon aksesibilitas: role menetapkan peran, atribut seperti aria-label menetapkan nama, dan atribut seperti aria-checked atau aria-expanded menetapkan keadaan. ARIA hanya mengubah apa yang diumumkan. ARIA tidak membuat elemen bisa difokuskan, tidak menambahkan perilaku papan ketik, dan tidak mengubah tampilannya. W3C ARIA Authoring Practices Guide menuliskannya sebagai judul: "No ARIA is better than bad ARIA" (tanpa ARIA lebih baik daripada ARIA yang buruk). ARIA yang salah memberi tahu pengguna pembaca layar sesuatu yang keliru tentang halaman.
Aturan pemakaian ARIA
Dokumen W3C Using ARIA memuat aturan-aturan singkat yang dikutip di mana-mana (dokumen itu ditandai sebagai draf yang dihentikan pada Februari 2026, tetapi aturannya sendiri tidak berubah). Aturan 1: kalau kamu bisa memakai elemen atau atribut HTML bawaan yang sudah memiliki makna dan perilaku yang kamu butuhkan, pakailah, alih-alih mengalihfungsikan elemen lain dengan ARIA. Aturan 2: jangan ubah semantik bawaan kecuali benar-benar terpaksa. Aturan 3: setiap kontrol ARIA yang interaktif harus bisa dipakai dengan papan ketik. Aturan 4: jangan pasang role="presentation" atau aria-hidden="true" pada elemen yang bisa menerima fokus, karena sebagian pengguna akan mendarat di "kekosongan".
ARIA benar-benar membantu ketika mengisi celah yang tidak bisa diisi HTML. Tombol yang hanya berisi ikon tidak punya teks, jadi tidak punya nama; aria-label="Close" memberinya nama. Ikon SVG di sebelah teks yang terlihat adalah hiasan, dan aria-hidden="true" pada svg menjauhkannya dari pohon. Itulah dua atribut yang paling dibutuhkan pemula. Untuk widget utuh seperti tab atau menu, ikuti pola yang sesuai di Authoring Practices Guide daripada menciptakan pola sendiri.
| Pohon aksesibilitas | Peran, nama, dan keadaan yang dibangun browser dari HTML |
| WCAG 4.1.2 | Nama, Peran, Nilai (A) |
| Aturan pertama ARIA | Pakai elemen HTML bawaan kalau elemen itu sudah melakukan tugasnya |
| aria-label | Memberi nama pada elemen, misalnya tombol ikon |
| aria-hidden="true" | Mengeluarkan hiasan dari pohon; jangan pernah pada elemen yang bisa difokuskan |
| WCAG 3.1.1 | Bahasa Halaman (A): lang pada html |
- Pembaca layar membaca pohon aksesibilitas: peran, nama, keadaan.
- ARIA mengubah apa yang diumumkan, bukan perilaku atau fokus.
- Aturan 1: dahulukan HTML bawaan. Tanpa ARIA lebih baik daripada ARIA yang buruk.
- aria-label memberi nama tombol ikon; aria-hidden menyembunyikan hiasan.
- Apa yang sebenarnya dibaca pembaca layar?
- Pohon aksesibilitas yang dibangun dari HTML
- Piksel di layar
- Berkas CSS
- Log server
- Tiga hal apa yang diminta 4.1.2 untuk ditampilkan setiap kontrol?
- Nama, peran, nilai
- Warna, ukuran, posisi
- Title, alt, lang
- Id, class, style
- Apa aturan pertama pemakaian ARIA?
- Pakai elemen HTML bawaan kalau elemen itu sudah melakukan tugasnya
- Tambahkan role pada setiap elemen
- Selalu pakai aria-label
- Sembunyikan ikon dari semua orang
- Kamu menambahkan role="button" pada span. Apa yang masih harus kamu tambahkan sendiri?
- Fokus dan penanganan Enter/Space
- Tidak ada
- Warna
- Atribut alt
- Judul mana yang muncul di W3C Authoring Practices Guide?
- Tanpa ARIA lebih baik daripada ARIA yang buruk
- Selalu pakai ARIA
- ARIA menggantikan HTML
- ARIA untuk mengatur gaya
- Atribut ARIA mana yang memberi nama pada tombol yang hanya berisi ikon?
- Di mana aria-hidden="true" tidak boleh dipasang?
- Pada elemen yang bisa menerima fokus
- Pada svg hiasan
- Pada gambar latar
- Pada garis pemisah
- Atribut lang pada html membantu pembaca layar melakukan apa?
- Memilih suara dan pelafalan yang tepat
- Menemukan judul
- Membaca teks alt
- Mengubah kontras
- Apakah ARIA mengubah tampilan sebuah elemen?
- Tidak, hanya apa yang diumumkan
- Ya, selalu
- Hanya role yang mengubahnya
- Hanya dalam mode gelap
- Pengguna pembaca layar paling sering menjelajahi halaman dengan
- daftar judul, tautan, dan landmark
- membaca setiap kata dari atas ke bawah
- memperbesar tampilan
- mencetaknya
Sumber kursus ini (9)
- W3C, Web Content Accessibility Guidelines (WCAG) 2.2, W3C Recommendation first published 5 October 2023, current edition 12 December 2024 (w3.org/TR/WCAG22/, checked 2026-10-17, rechecked 2026-10-18)
- W3C WAI, What's new in WCAG 2.2 (w3.org/WAI/standards-guidelines/wcag/new-in-22/, checked 2026-10-17)
- W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree/, checked 2026-10-17)
- W3C, Using ARIA (w3.org/TR/using-aria/, Discontinued Draft 24 February 2026, rules 1 to 4, checked 2026-10-17)
- W3C WAI-ARIA Authoring Practices Guide, Read Me First, "No ARIA is better than bad ARIA" (w3.org/WAI/ARIA/apg/practices/read-me-first/, checked 2026-10-17)
- MDN Web Docs, tabindex (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex, checked 2026-10-17)
- MDN, Heading elements, accessibility notes (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements, checked 2026-10-17)
- MDN, autocomplete attribute (developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/autocomplete, checked 2026-10-17)
- Every code exercise was checked with a Playwright probe against a reference solution.
Diperiksa: 2026-10-17