edubun
Bahasa Indonesia

Label formulir

Kotak teks di sebelah kata "Email" belum berlabel sampai elemen label diikatkan padanya; sebelum itu pembaca layar mungkin hanya mengucapkan "edit text".

Setiap kolom butuh nama

Saat fokus mendarat di kolom formulir, pembaca layar mengumumkan labelnya, jenisnya, dan keadaannya: "Email, edit text, required". Label itu berasal dari elemen label yang diikatkan ke kolomnya. Ada dua cara mengikatnya. Beri input sebuah id dan beri label for yang cocok, atau taruh input di dalam label. Cara mana pun yang dipakai, mengklik teks label juga memindahkan fokus ke kolom itu, sehingga kotak centang dan tombol radio yang kecil jauh lebih mudah dikenai.

<label for="email">Email</label>
<input id="email" type="email" autocomplete="email">

<label>
  <input type="checkbox" name="news"> Send me the weekly menu
</label>
Dua cara memberi label pada kolom: for dan id, atau membungkus.

Kriteria keberhasilan WCAG 2.2 3.3.2 Label atau Instruksi, pada level A, meminta label atau instruksi setiap kali konten membutuhkan masukan pengguna, dan 1.3.1 Info dan Hubungan meminta agar ikatan antara label dan kolom ada di dalam kode, bukan hanya di layar. Paragraf yang kebetulan berada di atas input hanya dekat secara visual; tidak ada yang memberi tahu teknologi bantu bahwa keduanya satu pasangan.

Placeholder bukan label

Atribut placeholder menampilkan teks petunjuk abu-abu di dalam kolom yang kosong. Godaannya besar untuk memakainya sebagai pengganti label, dan banyak formulir pendaftaran melakukannya. Masalahnya, teks itu hilang begitu kamu mengetik, jadi kamu tidak bisa memeriksa lagi untuk apa kolom itu, dan warnanya biasanya cukup pucat sampai gagal aturan kontras dari unit sebelumnya. Pakai label yang terlihat dan, kalau mau, tambahkan juga placeholder berisi contoh nilai.

Grup, tujuan, dan galat

Tombol radio dan kotak centang yang saling berkaitan juga butuh label grup. Bungkus dengan fieldset dan taruh pertanyaannya di legend, sehingga pembaca layar mengucapkan "Size, group" sebelum "Small, radio button, 1 of 3". Untuk data pribadi, atribut autocomplete memberi tahu browser untuk apa sebuah kolom, dengan nama dari standar HTML seperti name, email, tel, new-password, dan one-time-code. Kriteria 1.3.5 Identifikasi Tujuan Masukan, pada level AA, meminta persis hal ini, karena browser jadi bisa mengisi kolom dan sebagian alat bisa menampilkan ikon yang sudah dikenal di sebelahnya.

Kalau ada yang salah, katakan dengan kata-kata. Kriteria 3.3.1 Identifikasi Galat meminta agar galat masukan dikenali dan dijelaskan kepada pengguna dalam bentuk teks, bukan hanya dengan mengubah bingkai menjadi merah. WCAG 2.2 juga menambahkan 3.3.7 Entri Berulang: informasi yang sudah dimasukkan seseorang dalam proses yang sama harus diisikan lagi untuknya atau ditawarkan untuk dipilih, bukan diketik dua kali. Lalu 3.3.8 Autentikasi yang Aksesibel (Minimum), pada level AA, menyatakan bahwa langkah masuk tidak boleh bergantung pada mengingat atau menyalin sesuatu kecuali ada bantuan; membiarkan pengelola kata sandi mengisi kolom dan membolehkan tempel sama-sama dihitung sebagai bantuan itu.

Sebutkan yang dibutuhkan sebelum orang mulai

Instruksi ditaruh sebelum kolom yang dijelaskannya, bukan di pesan galat setelah seseorang gagal. Kalau kata sandi harus sedikitnya 15 karakter, tulis itu di sebelah label. Tandai kolom wajib di teks labelnya, misalnya dengan kata "wajib", dan tambahkan atribut required agar browser juga mengumumkannya. Saat pesan galat muncul, letakkan di sebelah kolomnya dan ikat keduanya dengan aria-describedby yang menunjuk ke id pesan itu; pembaca layar lalu membacakan pesan itu ketika kolom menerima fokus. Terakhir, pindahkan fokus ke kolom pertama yang bermasalah, atau ke ringkasan galat di bagian atas, agar pengguna papan ketik tidak tertinggal di bawah formulir yang panjang sambil bertanya-tanya apa yang terjadi.

label for="x"Mengikat label ke kolom yang ber-id="x"
WCAG 3.3.2Label atau Instruksi (A)
WCAG 1.3.5Identifikasi Tujuan Masukan (AA): autocomplete
fieldset + legendLabel grup untuk radio dan kotak centang
WCAG 3.3.7Entri Berulang (A), baru di 2.2
WCAG 3.3.8Autentikasi yang Aksesibel (Minimum), AA: bolehkan tempel dan pengelola kata sandi
Poin penting
  • Ikat setiap kolom ke label dengan for dan id, atau dengan membungkusnya.
  • Placeholder menghilang dan sering terlalu pucat; placeholder bukan label.
  • Kelompokkan radio dengan fieldset dan legend; pakai autocomplete untuk data pribadi.
  • Jelaskan galat dengan teks; jangan paksa orang mengetik ulang atau menghafal untuk masuk.
  1. Atribut mana pada label yang menunjuk ke id input-nya?
  2. Mengapa placeholder tidak cukup sebagai label?
    • Hilang saat kamu mengetik dan sering terlalu pucat
    • Browser mengabaikannya
    • Tidak diizinkan di HTML
    • Hanya berfungsi di ponsel
  3. Apa lagi yang terjadi ketika label diikat ke kotak centang?
    • Mengklik teks label mencentang kotaknya
    • Kotaknya menjadi lebih besar
    • Formulirnya terkirim
    • Tidak ada yang lain
  4. Elemen mana yang memberi pertanyaan pada sekelompok tombol radio?
    • fieldset dan legend
    • div dan span
    • form dan button
    • ul dan li
  5. Nilai autocomplete mana yang sebaiknya dipakai kolom email?
  6. Kriteria mana yang meminta kolom data pribadi menyatakan tujuannya?
    • 1.3.5 Identifikasi Tujuan Masukan
    • 1.1.1 Konten Nonteks
    • 2.4.7 Fokus Terlihat
    • 1.4.1 Penggunaan Warna
  7. Sebuah galat hanya ditunjukkan dengan bingkai merah. Apa yang kurang?
    • Penjelasan galat dalam bentuk teks
    • Merah yang lebih terang
    • Suara
    • Bingkai yang lebih besar
  8. Formulir masuk memblokir tempel di kolom kata sandi. Kriteria WCAG 2.2 mana yang dilanggarnya?
    • 3.3.8 Autentikasi yang Aksesibel (Minimum)
    • 2.4.6 Judul dan Label
    • 1.4.3 Kontras (Minimum)
    • 2.5.8 Ukuran Target
  9. Halaman pembayaran meminta alamat pengiriman lagi di langkah berikutnya. Kriteria mana yang membantu?
    • 3.3.7 Entri Berulang
    • 2.1.1 Papan Ketik
    • 1.3.1 Info dan Hubungan
    • 2.4.3 Urutan Fokus
  10. Kolom mana yang labelnya benar?
    • City

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