STATUS IS UPWIKI OPTIMASI SITUS WEB
13Aktifkan
Desain dan UX / Aktifkan

Aksesibilitas Mode Gelap: Kontras, Pilihan, dan Pengujian

Bangun mode gelap sebagai opsi antarmuka yang diuji: pertahankan kontras yang terbaca, fokus yang terlihat, gambar yang dapat digunakan, kontrol native, dan override pengguna sebelum rilis.

Aksesibilitas Mode Gelap: Kontras, Pilihan, dan Pengujian — PANDUAN VISUAL
BACA
8 menit
SUMBER
8
VALIDASI ULANG
2027-03-27
ditinjau
Peninjau frontend yang sadar aksesibilitas dengan tanggung jawab manajemen rilis
JAWABAN SINGKAT

Mulai dengan keputusan.

Implementasikan mode gelap sebagai tema lengkap, bukan hanya inversi warna. Tentukan token warna semantik untuk setiap permukaan dan status bermakna, gunakan preferensi sistem operasi sebagai tema awal, dan sediakan pilihan manual yang dapat diakses ketika itu berguna untuk produk. Uji kedua tema pada halaman tempat orang membaca, masuk, mencari, mengirim formulir, dan membeli. Sebuah tema siap hanya ketika interaksi kritis tetap dapat dipersepsikan dan dioperasikan.

Untuk baseline berbasis WCAG, teks normal dan gambar yang berupa teks membutuhkan kontras minimal 4.5:1; teks besar dapat menggunakan 3:1. Kontrol yang dapat diidentifikasi, status yang wajib, dan grafik bermakna membutuhkan 3:1 terhadap warna yang berdekatan. Pertahankan fokus keyboard terlihat, deklarasikan dukungan browser untuk color-scheme, dan periksa forced-colors mode. Pemeriksaan otomatis menemukan kandidat, tetapi seorang manusia harus menjalankan alur.

PANDUAN VISUAL

Lihat pekerjaan sebagai sebuah sistem.

Gunakan peta ini untuk menghubungkan keputusan dalam artikel sebelum menerapkan taktik individual.

SIUAktifkan
01Mulai dengan pilihan pengguna dan sistem token
02Ukur kontras pada tema yang dirender
03Lindungi fokus keyboard, formulir, dan perubahan status
04Tangani gambar, aset tertanam, dan UI yang disediakan browser
01

Mulai dengan pilihan pengguna dan sistem token

Gunakan pengaturan sistem sebagai default dengan prefers-color-scheme. Jika Anda menawarkan sakelar, gunakan kontrol yang dapat dioperasikan melalui keyboard dengan nama yang dapat diakses dan ekspos pilihan aktif secara programatik. Beri prioritas pilihan manual dalam konteks browser itu; jangan janjikan pilihan itu mengikuti seseorang ke perangkat lain atau sesi privat.

Beri nama warna berdasarkan peran, bukan penampilan: canvas, surface, text, muted text, border, link, accent, error, success, focus, dan disabled. Pemetakan harus tersedia untuk setiap peran di kedua tema. Ini mencegah abu-abu khusus terang bocor ke mode gelap dan membuat perbaikan dapat digunakan ulang. Mode gelap bukan secara inheren lebih aksesibel atau disukai semua orang; ini pengalaman lain yang harus dibuat dapat digunakan.

Prioritas tema

Dokumentasikan urutan, misalnya pilihan tersimpan terlebih dahulu dan preferensi sistem kedua, sehingga tim menguji hasil yang sama.

Inventaris komponen

Sertakan hover, focus, selected, invalid, disabled, loading, empty, dan visited-link states, bukan hanya default.

02

Ukur kontras pada tema yang dirender

WCAG 2.2 Success Criterion 1.4.3 menetapkan minimum 4.5:1 untuk teks normal dan gambar berupa teks, serta 3:1 untuk teks besar. Jangan membulatkan: 4.499:1 tidak memenuhi 4.5:1. Jenis huruf tipis bisa tampak lebih lemah daripada warna yang dihitungnya, jadi gunakan font yang lebih tebal atau margin tambahan.

Periksa setiap foreground yang dirender dan background yang berdekatan. Teks di atas foto, gradien, panel translusen, atau video memiliki latar yang berubah-ubah, sehingga satu perhitungan token tidak dapat membuktikan keterbacaan. Gunakan backing yang opak, overlay yang memadai, atau penempatan berbeda, lalu inspeksi pada viewport yang realistis.

Kontrol dan grafik

Di bawah WCAG 2.1 Success Criterion 1.4.11, informasi visual yang diperlukan untuk mengidentifikasi kontrol aktif, status yang diwajibkan, atau grafik bermakna membutuhkan 3:1 terhadap warna yang berdekatan.

Lebih dari sekadar hue

Padankan perubahan warna dengan teks, ikon, pola, posisi, atau petunjuk jelas lain; status error dan terpilih tidak boleh bergantung pada rona yang halus.

03

Lindungi fokus keyboard, formulir, dan perubahan status

Navigasikan dengan Tab di kedua tema. Fokus harus terlihat pada tautan, tombol, input, menu, dialog, widget kustom, dan kontrol tema. Jangan menghapus outline browser kecuali penggantinya diuji pada setiap permukaan dan status. Outline bergeser seringkali lebih jelas daripada glow yang bercampur.

WCAG 2.2 Focus Appearance adalah kriteria AAA, bukan bukti bahwa situs memenuhi AA. Ini adalah target berguna: area indikator setidaknya sebesar perimeter 2 CSS-pixel dan kontras 3:1 antara piksel yang difokuskan dan tidak difokuskan. Juga verifikasi bahwa status error, wajib, terpilih, dan tidak tersedia mempertahankan makna.

Tinjauan formulir

Uji hint input, nilai yang dimasukkan, label, teks bantuan, teks error, border invalid, tanda centang checkbox, seleksi radio, dan status submit secara terpisah.

Alur pembayaran dan sensitif

Untuk checkout atau alur teregulasi lain, gunakan sandbox penyedia dan dapatkan tinjauan aksesibilitas dan keamanan yang memenuhi syarat bila perlu. Ini panduan edukatif, bukan penilaian kepatuhan atau keamanan.

04

Tangani gambar, aset tertanam, dan UI yang disediakan browser

Tinjau logo, ilustrasi, screenshot, grafik, ikon, dan teks yang tersemat dalam gambar di kedua tema. Logo terang yang digunakan ulang bisa hilang dan legend grafik bisa gagal meskipun HTML di sekitarnya lulus. Sediakan aset yang sesuai tujuan atau latar yang stabil. Gambar yang menyampaikan instruksi, status, atau data harus tetap dapat dipahami.

Deklarasikan dukungan untuk skema light dan dark, lalu gaya konten halaman untuk tema yang dipilih. Properti color-scheme menyelaraskan canvas browser, scrollbar, kontrol formulir, dan UI browser lain. Tempatkan metadata terkait lebih awal dalam dokumen. SVG tersemat dapat merespons skema orang tua; uji iframe dan widget pihak ketiga secara end-to-end.

Native sebelum kustom

Utamakan kontrol HTML semantik. Perilaku forced-color menggunakan semantik native, bukan peran ARIA yang ditambahkan ke elemen generik.

Penerimaan aset

Periksa kondisi diunduh, di-cache, memuat lambat, dan gambar gagal, terutama di tempat teks atau petunjuk aksi berada di atas media.

05

Hormati forced-colors dan uji rilis sebagai sistem

Forced-colors mode menerapkan palet terbatas pilihan pengguna, seperti Windows High Contrast. Browser dapat mengganti warna, menghapus bayangan, dan menambahkan backplate teks. Jangan blok override. Lakukan perbaikan terarah di mana sebuah komponen kehilangan batas atau makna, seperti menambahkan border nyata ketika bayangan membawa affordance. Emulasi tidak dapat mewakili setiap perangkat, browser, ekstensi, level zoom, atau kombinasi teknologi bantu.

Jalankan matriks rute dan interaksi dalam pengaturan light, dark, dan forced-colors sebelum rilis. Chrome DevTools dapat meniru kedua kondisi; gunakan itu untuk mempercepat tinjauan, lalu navigasikan alur prioritas secara manual. Pemindai menemukan kandidat tetapi tidak dapat menentukan aksesibilitas sendirian. SIU preflights aset dan interaksi tema kritis, mencatat gate rilis, dan menyimpan jalur rollback yang diuji untuk regresi presentasi serius; ini bukan pemantauan waktu-henti.

Matriks cakupan

Sertakan landing, navigasi, pencarian, akses akun, formulir, halaman error, layar otentikasi, dan alur konversi materi.

Bukti rilis

Simpan URL yang diuji, versi browser, pengaturan, pengecualian, pemilik, dan trigger rollback sehingga remediasi dimulai dari fakta.

TINDAKAN / VERIFIKASI

Panduan tugas praktis Anda.

  1. 01

    Inventaris permukaan yang membawa tema

    Daftar komponen bersama dan rute kritis, termasuk interaksi dan status validasi.

    VERIFIKASI: Setiap item memiliki pemilik light dan dark atau secara eksplisit dinyatakan ditinggalkan.
  2. 02

    Definisikan token semantik

    Pemetakan peran seperti text, surface, link, border, error, dan focus ke nilai di kedua tema.

    VERIFIKASI: Tidak ada komponen produksi yang bergantung pada warna literal khusus terang yang tidak dijelaskan.
  3. 03

    Tetapkan prioritas tema yang dapat diprediksi

    Gunakan preferensi sistem sebagai default dan, jika ditawarkan, buat pilihan manual yang dapat diakses dan diterapkan secara konsisten.

    VERIFIKASI: Tes terdokumentasi menunjukkan hasil yang diharapkan untuk system light, system dark, dan setiap pilihan manual.
  4. 04

    Periksa kontras teks dan UI

    Ukur teks yang dirender, kontrol, penanda status, dan grafik bermakna di setiap tema.

    VERIFIKASI: Teks normal mencapai 4.5:1, teks besar dan informasi non-teks yang diwajibkan mencapai 3:1 ketika kriteria WCAG berlaku.
  5. 05

    Uji fokus keyboard dan formulir

    Navigasikan semua alur prioritas dengan Tab, Shift+Tab, Enter, Space, dan Escape sesuai relevansi.

    VERIFIKASI: Lokasi fokus, panduan error, seleksi, dan hasil submit tetap terlihat dan dapat dipahami di kedua tema.
  6. 06

    Tinjau media dan kontrol native

    Inspeksi aset gambar, konten tertanam, scrollbar, input, dan presentasi terkait autofill bila tersedia.

    VERIFIKASI: Tidak ada label, legenda, aksi, atau kontrol native penting yang bertabrakan dengan latar yang dirender.
  7. 07

    Jalankan forced-colors mode

    Emulasikan forced-colors dan buat fallback terarah hanya untuk elemen yang kehilangan affordance atau makna.

    VERIFIKASI: Kontrol kunci tetap memiliki batas atau label yang dapat diidentifikasi dan fokus keyboard tetap tampak.
  8. 08

    Gabungkan pemeriksaan otomatis dan manual

    Jalankan alat kontras atau aksesibilitas, lalu tinjau secara manual jalur tugas yang tidak dapat dinilai alat tersebut.

    VERIFIKASI: Temuan ditriage dengan keputusan manusia; output alat tidak diperlakukan sebagai putusan konformitas.
  9. 09

    Gate rilis dan siapkan remediasi

    Catat build yang diuji, URL prioritas, pengecualian, pemilik, dan opsi deployment atau rollback yang dapat dibalik.

    VERIFIKASI: Tim dapat mengidentifikasi build tema yang dikenal-baik dan kondisi yang akan memicu rollback.
TOPIK DISKUSI

Bandingkan kompromi, bukan data pribadi.

Gunakan prompt ini dengan tim Anda atau komunitas pemilik situs. Bagikan metode dan pelajaran, tetapi jangan pernah menempelkan kredensial, data pelanggan, atau detail infrastruktur yang tidak bersifat publik.

  1. 01

    Komponen mana yang memperlihatkan perbedaan paling mengejutkan antara light dan dark, dan bagaimana Anda menambahkannya ke pemeriksaan rilis?

  2. 02

    Bagaimana desainer dan pengembang Anda menjaga token, status komponen, dan aset gambar selaras ketika palet merek berubah?

  3. 03

    Bukti rilis ringan apa yang membantu tim Anda menyelesaikan regresi tema tanpa membagikan data pelanggan atau akun?

SUMBER POPULER / TERPERCAYA

Buka materi sumber.

W3C Web Accessibility InitiativeUnderstanding Success Criterion 1.4.3: Contrast (Minimum) ↗

Menjelaskan ambang kontras teks WCAG, pengecualian, dan kehati-hatian pengukuran.

Ditinjau 2026-09-27
W3C Web Accessibility InitiativeUnderstanding Success Criterion 1.4.11: Non-text Contrast ↗

Gunakan ini untuk menilai kontras kontrol, indikator status, dan grafik bermakna.

Ditinjau 2026-09-27
W3C Web Accessibility InitiativeUnderstanding Success Criterion 2.4.13: Focus Appearance ↗

Menyediakan model ukuran dan kontras fokus AAA yang digunakan di sini sebagai target desain.

Ditinjau 2026-09-27
MDN Web Docsprefers-color-scheme CSS media feature ↗

Menunjukkan bagaimana browser mengekspos tema light atau dark yang diminta pengguna dan perilaku SVG tersemat.

Ditinjau 2026-09-27
MDN Web Docscolor-scheme CSS property ↗

Menjelaskan koordinasi canvas browser, kontrol native, scrollbar, dan UI terkait.

Ditinjau 2026-09-27
MDN Web Docsforced-colors CSS media feature ↗

Merinci override browser, warna sistem, bayangan, backplate, dan batasan penulis.

Ditinjau 2026-09-27
Chrome for DevelopersEmulate CSS media features ↗

Memberi langkah DevTools untuk menjalankan kondisi light, dark, dan forced-colors.

Ditinjau 2026-09-27
W3C Web Accessibility InitiativeEvaluating Web Accessibility Overview ↗

Menjelaskan mengapa tinjauan manusia melengkapi alat aksesibilitas otomatis.

Ditinjau 2026-09-27

Kebijakan sumber. Artikel ini menggunakan dokumentasi resmi W3C, MDN, dan Chrome yang dibaca pada tanggal akses. Referensi WCAG menggambarkan kriteria teknis, bukan nasihat hukum atau sertifikasi. Periksa kembali perilaku browser dan hasil teknologi bantu dalam pengalaman yang dideploy.

PENJELASAN SINGKAT

Pertanyaan umum.

Apakah menambahkan mode gelap otomatis membuat situs web lebih aksesibel?

Tidak. Mode gelap dapat meningkatkan kenyamanan bagi sebagian orang, tetapi juga bisa memperkenalkan teks yang tidak terbaca, fokus yang tak terlihat, dan status yang tidak jelas. Perlakukan itu sebagai tema lengkap yang diuji secara independen, bukan jalan pintas aksesibilitas.

Apakah 4.5:1 satu-satunya pemeriksaan kontras yang diperlukan untuk mode gelap?

Tidak. Ambang WCAG 4.5:1 berlaku untuk teks normal dan gambar berupa teks. Teks besar memiliki ambang 3:1, sementara kontrol yang diwajibkan dan informasi visual grafik bermakna juga membutuhkan 3:1 terhadap warna yang berdekatan. Fokus, gambar, dan petunjuk non-warna tetap perlu ditinjau.

Haruskah setiap situs menyediakan sakelar mode gelap?

Default preferensi sistem adalah baseline yang praktis. Sakelar manual berguna ketika pengunjung perlu meng-override default itu atau kembali ke tema pilihan, tetapi harus dapat diakses, dapat diprediksi, dan diuji. Ini keputusan produk, bukan bukti aksesibilitas itu sendiri.

Status Is UP Editorial Team · Uptime Enablement Editors

Ditinjau oleh Peninjau frontend yang sadar aksesibilitas dengan tanggung jawab manajemen rilis. Diterbitkan 2026-09-27; diperbarui 2026-09-30.