Skip to content

Accessibility no

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

Tilgjengelighet

🌎 Språk: Norskse alle 33 språk

LockedIn CLI er en vits, men tilgjengeligheten er det ikke. Et terminal-UI så visuelt rikt — fargeovergangs-wordmark, kort med boksrammer, braille-spinnere, emoji — er genuint vanskelig å bruke med hjelpemiddelteknologi med mindre du designer for det. Denne siden forklarer hva CLI-en gjør, hvordan du slår det på, og de generelle beste praksisene bak det (nyttig langt utover dette prosjektet).

De fire modusene

Modus Flagg Miljøvariabel Hva den gjør
Skjermleser --accessible (--a11y, --screen-reader) LOCKEDIN_ACCESSIBLE=1, eller TERM=dumb Ren, lineær ren tekst: ingen rammer, ingen ASCII-kunst, ingen spinner-bevegelse, ingen dekorative glyffer; farge av; kort prompt; semantiske landemerker ("Post:" … "(slutt på post)").
Høy kontrast --high-contrast (--hc) LOCKEDIN_HIGH_CONTRAST=1 En høykontrastpalett for svaksynte: helhvit sekundærtekst, lysere aksenter, ingen demping, solid aksentfarge i stedet for den lavkontrast-fargeovergangen.
Lav distraksjon --low-distraction (--calm, --reduce-motion) LOCKEDIN_LOW_DISTRACTION=1, LOCKEDIN_REDUCE_MOTION=1 Redusert bevegelse (ingen spinner-animasjon), ingen dekorative emoji, rolig solid farge — beholder det visuelle oppsettet. For redusert kognitiv/sensorisk belastning.
Enkel / monokrom --plain (--mono, --monochrome) LOCKEDIN_PLAIN=1, eller NO_COLOR=1 Deaktiverer all farge samtidig som hele oppsettet, rammene og emojiene beholdes. For terminaler med dårlig fargestøtte, logging, eller preferanse. Overstyrer FORCE_COLOR.

De kombineres: --high-contrast --low-distraction gir deg et lyst, rolig UI uten emoji; en skjermleserbruker på en TERM=dumb-terminal får tilgjengelig modus automatisk. Når moduser er i konflikt, vinner den mest restriktive — monokrom slår en fargepalett, og skjermlesermodus overstyrer enkel modus.

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

Bytte moduser inne i en økt: /a11y

Du trenger ikke bestemme på forhånd. Inne i den interaktive økten er /a11y-slash-kommandoen et ekte, fungerende kontrollpanel (tilgjengelighet er ikke satiren):

Skriv Resultat
/a11y Vis gjeldende status (på/av) for alle fire modusene
/a11y <modus> Slå på/av én: screen-reader, high-contrast, low-distraction, plain (aliaser som sr / hc / calm / mono fungerer også)
/a11y reset Slå av alle moduser

Status vises alltid som et eksplisitt på/av-ord, aldri farge alene — de samme brukerne dette tjener, oppfatter kanskje ikke fargen. Panelet er fullt lokalisert.

De beste praksisene bak det

Dette er prinsippene vi anvendte — de samme gjelder ethvert terminalverktøy.

  1. Semantikk over dekorasjon. En skjermleser leser tegn. Boksrammer blir "horisontal linje, horisontal linje…"; en ASCII-kunst-wordmark er støy. Tilgjengelig modus erstatter visuell struktur med ord: splashen kunngjør "LockedIn CLI" som tekst, og kort får landemerker ("Post:", "(slutt på post)") slik at brukere vet hvor en blokk starter og slutter.
  2. Stol aldri kun på farge eller ikoner. Mening som kun formidles av farge eller en emoji er usynlig for enkelte brukere. Hold teksten meningsfull med farge av — f.eks. leses "Koblet til med Ava" fint når ✔ er borte.
  3. Tilby tekstalternativer / fjern støyen. Dekorative emoji blir lest opp ordrikt ("📥" → "innboks-skuff"). Tilgjengelig modus fjerner rent dekorative glyffer og beholder ordene; lav distraksjon fjerner de høylytte emojiene men beholder oppsettet for seende brukere som bare vil ha ro.
  4. Respekter redusert bevegelse. Animasjon (braille-spinneren) er en distraksjon og kan være en vestibulær trigger. Tilgjengelig og lav-distraksjon-moduser animerer ikke — de skriver ut statusen én gang, statisk. Dette speiler nettets prefers-reduced-motion.
  5. Tilby høy kontrast. Lavkontrast "dempet grå" sekundærtekst feiler WCAG-kontrast for mange brukere. Høykontrastmodus bytter det ut med rent hvitt og lysere aksenter.
  6. Reduser kognitiv belastning. Utover syn trenger noen brukere mindre: færre florituter, ingen bevegelse, ingen emoji. Det er en førsteklasses modus her, ikke en ettertanke.
  7. Respekter plattformkonvensjoner. CLI-en respekterer allerede NO_COLOR; den behandler også TERM=dumb (som mange skjermlesere og Emacs-skall eksporterer) som "gå tilgjengelig", og leser LOCKEDIN_REDUCE_MOTION. Å oppdage brukerens eksisterende signaler slår å få dem til å konfigurere enda en ting.
  8. Gjør det testbart, og hold det testet. Tilgjengelighet som ikke er i testporten råtner. Suiten bekrefter at tilgjengelig utdata ikke har dekorative glyffer, at landemerker er til stede, at høy kontrast bytter paletten, og at lav distraksjon holder seg rammejustert — på hvert språk.

Retningsformatering er også fail-closed. Arabisk, persisk, hebraisk og urdu sender ingen bidi-kontroller med mindre brukeren eksplisitt setter LOCKEDIN_BIDI=on for en terminal kjent for å støtte isolater; skjermlesermodus fjerner dem selv da. Ingen TTY-sondering eller terminal-tillatelsesliste kan overstyre denne trygge standarden.

Hvordan den er bygget (for de nysgjerrige)

  • a11yFilter(s) fjerner dekorativ Unicode (boksrammer, blokker, geometriske, tekniske, dingbats, braille, emoji) og venstrejusterer teksten — brukt på all utdata i tilgjengelig modus.
  • emojiFilter(s) er det lettere lav-distraksjon-filteret: det fjerner kun de høylytte emojiene/symbolene og beholder boksrammer, punkttegn, piler og ANSI-farge, slik at det visuelle oppsettet overlever.
  • Fargeobjektet C byttes til en høykontrastpalett på stedet; fargeoverganger faller tilbake til en solid aksent når høy kontrast eller lav distraksjon er på. Enkel modus tvinger hver C-oppføring tom (farge helt av, selv under FORCE_COLOR) uten å røre oppsettet.
  • renderSplash, spinneren, renderPrompt og card har semantiske grener for tilgjengelig modus (ren tekst, ingen bevegelse, landemerker).
  • Deteksjon lever i detectAccessible / detectHighContrast / detectLowDistraction / detectPlain; inngangspunktet anvender dem før rendring. Kommandoen /a11y i økten (handleA11y + renderA11yStatus) slår på/av den samme moduletilstanden live.

Å holde det fungerende når du legger til en funksjon

Veiledningens gjennomgangssjekkliste inkluderer et tilgjengelighetstrinn, og det er en god vane hvor som helst:

Kjør lockedin --accessible <kommandoen din> og bekreft at den leses som ren tekst — ingen nye dekorative glyffer som sniker seg forbi filteret — og at enhver ny strukturert blokk har et landemerke. Prøv deretter --high-contrast, --low-distraction, og --plain (som må sende ingen fargekoder men beholde oppsettet). Ny brukersynlig tekst trenger en nøkkel i hver språkpakke, slik at /a11y-panelet og hjelpen forblir oversatt.


Satire. Ikke tilknyttet 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