Skip to content

Accessibility id

James Morris edited this page Jul 29, 2026 · 1 revision

Aksesibilitas

🌎 Bahasa: Bahasa Indonesia (id)lihat semua 33 bahasa

LockedIn CLI memang lelucon, tetapi aksesibilitasnya bukan. UI terminal yang kaya visual—wordmark bergradasi, kartu box-drawing, spinner braille, dan emoji—sulit dipakai dengan teknologi bantu jika tidak dirancang dengan benar. Halaman ini menjelaskan apa yang dilakukan CLI, cara mengaktifkannya, dan praktik umum terbaik yang juga berguna di proyek lain.

Empat mode

Mode Flag Env Fungsinya
Screen reader --accessible (--a11y, --screen-reader) LOCKEDIN_ACCESSIBLE=1, atau TERM=dumb Teks polos linear: tanpa border, ASCII art, gerakan spinner, atau glyph dekoratif; warna mati; prompt singkat; ada penanda semantik (“Post:” … “(end of post)”).
Kontras tinggi --high-contrast (--hc) LOCKEDIN_HIGH_CONTRAST=1 Palet kontras tinggi untuk low vision: teks sekunder putih murni, aksen lebih terang, tanpa dim, dan aksen solid menggantikan gradasi berkontras rendah.
Minim distraksi --low-distraction (--calm, --reduce-motion) LOCKEDIN_LOW_DISTRACTION=1, LOCKEDIN_REDUCE_MOTION=1 Gerakan dikurangi, tanpa emoji dekoratif, warna solid yang tenang, tetapi layout visual tetap dipertahankan.
Polos / monokrom --plain (--mono, --monochrome) LOCKEDIN_PLAIN=1, atau NO_COLOR=1 Mematikan semua warna sambil mempertahankan layout, border, dan emoji. Cocok untuk terminal dengan dukungan warna buruk, logging, atau preferensi pribadi; mengalahkan FORCE_COLOR.

Mode-mode ini dapat digabungkan. --high-contrast --low-distraction menghasilkan UI terang, tenang, dan tanpa emoji. Pengguna screen reader di terminal TERM=dumb otomatis mendapat mode accessible. Jika mode bertentangan, yang lebih membatasi menang: monokrom mengalahkan palet warna, dan screen reader menggantikan plain.

lockedin --accessible post
lockedin --high-contrast
lockedin --plain post
LOCKEDIN_LOW_DISTRACTION=1 lockedin aura

Mengganti mode dalam sesi: /a11y

Kamu tidak harus memilih sejak awal. Dalam sesi interaktif, slash command /a11y adalah panel kontrol sungguhan; aksesibilitas bukan bagian satirnya.

Ketik Hasil
/a11y Menampilkan status aktif/nonaktif keempat mode
/a11y <mode> Mengubah satu mode: screen-reader, high-contrast, low-distraction, plain; alias seperti sr, hc, calm, dan mono juga berlaku
/a11y reset Mematikan semua mode

Status selalu ditulis sebagai kata aktif/nonaktif, tidak pernah hanya lewat warna. Pengguna yang dilayani fitur ini mungkin tidak dapat melihat warnanya. Panel tersebut juga dilokalkan sepenuhnya.

Praktik terbaik di baliknya

Prinsip berikut diterapkan di sini dan berlaku untuk alat terminal apa pun.

  1. Utamakan semantik, bukan dekorasi. Screen reader membaca karakter. Border box-drawing terdengar seperti deretan “garis horizontal”, sementara wordmark ASCII hanyalah noise. Mode accessible mengganti struktur visual dengan kata-kata: splash menyebut “LockedIn CLI”, dan kartu memiliki penanda seperti “Post:” dan “(end of post)”.
  2. Jangan mengandalkan warna atau ikon saja. Makna yang hanya ada pada warna atau emoji tidak terlihat bagi sebagian pengguna. Teks harus tetap jelas saat warna dimatikan; misalnya “Connected with Ava” tetap masuk akal setelah ✔ dihapus.
  3. Sediakan alternatif teks dan buang noise. Emoji dekoratif dapat dibacakan panjang oleh screen reader. Mode accessible menghapus glyph dekoratif tetapi mempertahankan kata; mode minim distraksi menghapus emoji mencolok sambil menjaga layout untuk pengguna awas yang menginginkan tampilan tenang.
  4. Hormati reduced motion. Animasi spinner braille dapat mengganggu atau memicu masalah vestibular. Mode accessible dan minim distraksi tidak menganimasikannya; status dicetak satu kali. Ini sejalan dengan prefers-reduced-motion di web.
  5. Tawarkan kontras tinggi. Teks sekunder “abu-abu redup” berkontras rendah dapat gagal memenuhi WCAG. Mode kontras tinggi memakai putih murni dan aksen lebih terang.
  6. Kurangi beban kognitif. Sebagian pengguna membutuhkan lebih sedikit hiasan, gerakan, dan emoji. Itu mode kelas satu, bukan tambahan belakangan.
  7. Hormati konvensi platform. CLI mematuhi NO_COLOR, menganggap TERM=dumb sebagai sinyal accessible, dan membaca LOCKEDIN_REDUCE_MOTION. Mendeteksi sinyal pengguna yang sudah ada lebih baik daripada memaksa konfigurasi baru.
  8. Buat dapat diuji dan terus uji. Aksesibilitas yang tidak masuk gerbang tes akan membusuk. Suite memastikan output accessible bebas glyph dekoratif, penanda semantik hadir, kontras tinggi mengganti palet, dan layout minim distraksi tetap sejajar di semua bahasa.

Pemformatan arah juga fail-closed. Bahasa Arab, Persia, Ibrani, dan Urdu tidak mengeluarkan kontrol bidi kecuali pengguna secara eksplisit mengatur LOCKEDIN_BIDI=on pada terminal yang diketahui mendukung isolate. Mode screen reader tetap menghapusnya. Probe TTY atau allowlist terminal tidak dapat mengalahkan default aman itu.

Cara pembuatannya

  • a11yFilter(s) menghapus Unicode dekoratif—box-drawing, block, geometric, technical, dingbat, braille, emoji—dan meratakan teks ke kiri untuk seluruh output mode accessible.
  • emojiFilter(s) adalah filter lebih ringan untuk mode minim distraksi: hanya emoji/simbol mencolok yang dihapus; box-drawing, bullet, panah, dan warna ANSI tetap ada agar layout bertahan.
  • Objek warna C diganti dengan palet kontras tinggi. Gradasi menjadi aksen solid saat mode kontras tinggi atau minim distraksi aktif. Mode plain mengosongkan setiap entri C, bahkan dengan FORCE_COLOR, tanpa mengubah layout.
  • renderSplash, spinner, renderPrompt, dan card memiliki cabang semantik untuk mode accessible.
  • Deteksi berada di detectAccessible, detectHighContrast, detectLowDistraction, dan detectPlain; entry point menerapkannya sebelum rendering. Command /a11y dalam sesi memakai handleA11y dan renderA11yStatus untuk mengubah state module-level yang sama.

Menjaganya saat menambah fitur

Checklist review tutorial menyertakan langkah aksesibilitas:

Jalankan lockedin --accessible <your command> dan pastikan hasilnya berupa teks polos yang bersih, tanpa glyph dekoratif baru, serta blok terstruktur baru memiliki penanda. Lalu coba --high-contrast, --low-distraction, dan --plain; mode terakhir tidak boleh menghasilkan kode warna tetapi harus menjaga layout. Teks yang terlihat pengguna harus punya key di setiap bundle bahasa agar panel /a11y dan help tetap diterjemahkan.


Satir. Tidak berafiliasi dengan LinkedIn. GPL-3.0-or-later.

📘 LockedIn CLI wiki

Tutorial

Reference


Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.

Clone this wiki locally