Aksesibilitas Persetujuan Cookie: Kepatuhan WCAG 2.2 untuk Banner Persetujuan
Banner cookie yang tidak dapat ditutup oleh pengguna keyboard, tidak dapat diumumkan oleh pembaca layar, atau tidak dapat dibaca oleh pengunjung buta warna bukan hanya UX yang buruk — itu adalah kegagalan kepatuhan di dua bidang sekaligus. Sejak Undang-Undang Aksesibilitas Eropa berlaku pada Juni 2025, antarmuka persetujuan di situs web komersial yang melayani pengguna EU harus memenuhi WCAG 2.1 Level AA, dengan WCAG 2.2 sangat direkomendasikan untuk 2026. Dikombinasikan dengan persyaratan GDPR bahwa persetujuan harus "diberikan secara bebas, spesifik, terinformasi, dan tidak ambigu", banner yang tidak aksesibel kini membawa eksposur hukum ganda. Panduan ini menjelaskan dengan tepat seperti apa banner cookie yang sesuai WCAG pada 2026.
Mengapa Aksesibilitas dan Persetujuan Kini Saling Tumpang Tindih
GDPR mensyaratkan bahwa persetujuan dapat diperoleh dari setiap pengguna, bukan hanya mereka yang dapat melihat dan mengklik banner. Dewan Perlindungan Data Eropa telah mengklarifikasi bahwa jika subjek data tidak dapat berinteraksi secara bermakna dengan antarmuka persetujuan — karena disabilitas yang tidak diakomodasi oleh situs — persetujuan tidak diperoleh secara sah. Artinya cookie tidak seharusnya pernah dimuat sejak awal.
Di sisi aksesibilitas, Undang-Undang Aksesibilitas Eropa (EAA) yang telah dimasukkan ke dalam hukum nasional di seluruh Negara Anggota EU menjadikan WCAG 2.1 AA sebagai minimum untuk situs web dan aplikasi sektor swasta yang menawarkan layanan konsumen. Rezim hukuman bervariasi berdasarkan negara tetapi biasanya berkisar dari €50.000 hingga €500.000 per pelanggaran, ditambah perintah penarikan pasar untuk ketidakpatuhan yang persisten.
Persyaratan WCAG Inti untuk Banner Cookie
Operabilitas Keyboard
Setiap kontrol banner — Terima, Tolak, Kelola Preferensi, tutup — harus dapat dijangkau dan dioperasikan hanya dengan keyboard. Pengguna harus dapat menekan Tab melalui tombol dalam urutan logis dan mengaktifkannya dengan Enter atau Space. Fokus harus terlihat dengan rasio kontras minimum 3:1 terhadap latar belakang.
Perangkap Fokus di Banner Modal
Jika banner menghalangi interaksi dengan bagian halaman lainnya, fokus keyboard harus terperangkap di dalam banner sampai pengguna membuat pilihan. Pengguna tidak boleh dapat menekan Tab keluar dari banner untuk menggulir halaman yang mendasarinya. Ketika fokus terperangkap dan banner ditutup, fokus harus kembali ke elemen yang memicu banner atau ke default yang masuk akal.
Pengumuman Pembaca Layar
Banner harus diumumkan sebagai dialog dengan nama dan peran yang dapat diakses. Gunakan `role="dialog"` atau `role="alertdialog"` dengan `aria-labelledby` menunjuk ke judul banner dan `aria-describedby` menunjuk ke teks penjelasan.
Kontras Warna
Teks isi harus memenuhi kontras 4,5:1 terhadap latar belakang; teks besar (18pt+ atau 14pt tebal) membutuhkan 3:1. Teks tombol, ikon, dan indikator fokus semuanya memiliki minimum kontras tersendiri. Tombol "Tolak" abu-abu muda pada latar belakang putih adalah kegagalan WCAG yang sering kami temukan dalam audit.
Tidak Hanya Isyarat Berbasis Warna
Jangan hanya mengandalkan warna untuk membedakan Terima dari Tolak. Gunakan label, ikon, atau bentuk yang berbeda sehingga pengguna dengan buta warna dapat membedakan tombol-tombol tersebut.
Pola Gelap dan Aksesibilitas
WCAG 2.2 memperkenalkan kriteria baru yang langsung menargetkan pola gelap — sangat relevan untuk persetujuan:
- 3.3.8 Autentikasi yang Dapat Diakses — melarang teka-teki kognitif sebagai hambatan persetujuan.
- 3.3.7 Entri Redundan — pengguna tidak perlu memasukkan ulang informasi hanya untuk menarik persetujuan.
- 2.4.11 Fokus Tidak Terhalang — banner itu sendiri tidak boleh menghalangi indikator fokus elemen di belakangnya.
- 2.5.7 Gerakan Seret — jika banner Anda menggunakan interaksi seret untuk menerima, alternatif penunjuk tunggal harus ada.
RTL dan Internasionalisasi
Aksesibilitas meluas ke bahasa kanan-ke-kiri (Arab, Ibrani, Persia, Urdu) dan pengucapan pembaca layar:
- Atur `dir="rtl"` pada banner ketika bahasa dokumen adalah RTL sehingga urutan tombol dan alur fokus sesuai dengan arah membaca.
- Gunakan atribut `lang` yang benar pada salinan banner yang diterjemahkan sehingga pembaca layar mengucapkan kata-kata dengan fonetik yang tepat.
- Cerminkan ikonografi — chevron, panah, dan indikator kemajuan harus dibalik untuk lokal RTL.
Menguji Banner Anda untuk Kepatuhan WCAG
Jangan hanya mengandalkan satu alat. Gabungkan pemindaian otomatis dengan pengujian teknologi asistif nyata:
- axe DevTools atau Lighthouse — menangkap sekitar 30-40% kegagalan WCAG secara otomatis.
- NVDA atau JAWS di Windows, VoiceOver di Mac/iOS, TalkBack di Android — uji dengan pembaca layar nyata. Apakah banner dapat diumumkan, dinavigasi, dan ditutup hanya menggunakan pembaca layar?
- Navigasi keyboard saja — cabut mouse Anda. Jika Anda tidak dapat Menerima, Menolak, dan mengelola preferensi, pengguna keyboard pun tidak dapat.
- Simulasi buta warna — Chrome DevTools memiliki simulator defisiensi penglihatan bawaan. Periksa apakah Terima dan Tolak dapat dibedakan dengan protanopia, deuteranopia, dan tritanopia.
- Zoom ke 400% — WCAG mengharuskan konten tetap dapat digunakan pada zoom 400% tanpa gulir horizontal. Banner berposisi tetap sering gagal dalam pengujian ini.
Kegagalan Aksesibilitas Umum yang Kami Temukan
- Tolak tersembunyi di balik ikon roda gigi — pola gelap plus kegagalan aksesibilitas (tidak ada nama yang dapat diakses pada tombol ikon).
- Fokus tidak pernah mencapai banner — banner yang mencuri perhatian visual tetapi dilewati dalam urutan Tab.
- Banner modal tanpa perangkap fokus — pengguna dapat tab ke halaman latar belakang sementara banner mengklaim menghalangi interaksi.
- Tidak ada `aria-live` pada perubahan preferensi — pengguna pembaca layar tidak mendengar konfirmasi bahwa pilihan mereka disimpan.
- Banner yang diterjemahkan tanpa atribut `lang` — pembaca layar mengucapkan salinan bahasa Spanyol dengan fonetik bahasa Inggris.
Bagaimana FlexyConsent Menghadirkan Aksesibilitas
FlexyConsent memenuhi WCAG 2.2 AA secara bawaan:
- Semua kontrol dapat dioperasikan dengan keyboard dengan indikator fokus 3:1 yang terlihat.
- `role="dialog"` yang tepat dengan `aria-labelledby` dan `aria-describedby`.
- Perangkap fokus dengan Escape-to-dismiss untuk banner opsional.
- Kontras 4,5:1+ pada setiap elemen teks, termasuk Tolak.
- Pembalikan RTL otomatis untuk lokal Arab, Ibrani, Persia, dan Urdu.
- Atribut `lang` diatur per terjemahan untuk pengucapan pembaca layar yang benar.
- Tata letak toleran zoom yang tetap dapat digunakan pada 400%.