-
Notifications
You must be signed in to change notification settings - Fork 0
Accessibility pl
🌎 Język: Polski — zobacz wszystkie 33 języki
LockedIn CLI to żart, ale jego dostępność nie jest żartem. Interfejs terminalowy tak bogaty wizualnie — gradientowy znak słowny, karty rysowane ramkami, spinnery Braille'a, emoji — jest naprawdę trudny w użyciu z technologią wspomagającą, chyba że zaprojektujesz go z myślą o niej. Ta strona wyjaśnia, co CLI robi, jak to włączyć oraz ogólne najlepsze praktyki stojące za tym (przydatne znacznie poza tym projektem).
| Tryb | Flaga | Zmienna środowiskowa | Co robi |
|---|---|---|---|
| Czytnik ekranu |
--accessible (--a11y, --screen-reader) |
LOCKEDIN_ACCESSIBLE=1, lub TERM=dumb
|
Czysty, liniowy zwykły tekst: bez obramowań, bez ASCII art, bez ruchu spinnera, bez dekoracyjnych glifów; kolor wyłączony; krótki prompt; znaczniki semantyczne („Post:” … „(end of post)”). |
| Wysoki kontrast |
--high-contrast (--hc) |
LOCKEDIN_HIGH_CONTRAST=1 |
Paleta o wysokim kontraście dla słabowidzących: czysto biały tekst drugorzędny, jaśniejsze akcenty, bez przyciemnienia, pełny akcent zamiast niskokontrastowego gradientu. |
| Niskie rozproszenie |
--low-distraction (--calm, --reduce-motion) |
LOCKEDIN_LOW_DISTRACTION=1, LOCKEDIN_REDUCE_MOTION=1
|
Ograniczony ruch (bez animacji spinnera), bez dekoracyjnych emoji, spokojny, jednolity kolor — zachowuje układ wizualny. Dla zmniejszenia obciążenia poznawczego/sensorycznego. |
| Zwykły / monochromatyczny |
--plain (--mono, --monochrome) |
LOCKEDIN_PLAIN=1, lub NO_COLOR=1
|
Wyłącza cały kolor, zachowując pełny układ, obramowania i emoji. Dla terminali ze słabą obsługą koloru, logowania lub z preferencji. Nadpisuje FORCE_COLOR. |
One się łączą: --high-contrast --low-distraction daje jasny, spokojny
interfejs bez emoji; użytkownik czytnika ekranu na terminalu TERM=dumb
automatycznie otrzymuje tryb dostępny. Gdy tryby są w konflikcie, wygrywa bardziej
restrykcyjny — monochromatyczny bije paletę kolorów, a tryb czytnika ekranu
zastępuje tryb zwykły.
lockedin --accessible post
lockedin --high-contrast
lockedin --plain post
LOCKEDIN_LOW_DISTRACTION=1 lockedin auraNie musisz decydować z góry. W interaktywnej sesji komenda slash /a11y to
prawdziwy, działający panel sterowania (dostępność nie jest satyrą):
| Wpisz | Wynik |
|---|---|
/a11y |
Pokaż bieżący stan (wł./wył.) wszystkich czterech trybów |
/a11y <mode> |
Przełącz jeden: screen-reader, high-contrast, low-distraction, plain (aliasy takie jak sr / hc / calm / mono też działają) |
/a11y reset |
Wyłącz każdy tryb |
Stan jest zawsze pokazywany jako wyraźne słowo wł./wył., nigdy samym kolorem — właśnie ci użytkownicy, którym to służy, mogą nie postrzegać koloru. Panel jest w pełni zlokalizowany.
To są zasady, które zastosowaliśmy — te same odnoszą się do każdego narzędzia terminalowego.
- Semantyka ponad dekorację. Czytnik ekranu czyta znaki. Obramowania z ramek stają się „linia pozioma, linia pozioma…”; znak słowny z ASCII art to szum. Tryb dostępny zastępuje strukturę wizualną słowami: ekran powitalny ogłasza „LockedIn CLI” jako tekst, a karty dostają znaczniki („Post:”, „(end of post)”), aby użytkownicy wiedzieli, gdzie blok się zaczyna i kończy.
- Nigdy nie polegaj wyłącznie na kolorze lub ikonach. Znaczenie niesione tylko przez kolor lub emoji jest niewidoczne dla niektórych użytkowników. Utrzymuj tekst sensowny przy wyłączonym kolorze — np. „Connected with Ava” czyta się dobrze, gdy ✔ zniknie.
- Zapewnij alternatywy tekstowe / usuń szum. Dekoracyjne emoji są odczytywane na głos rozwlekle („📥” → „inbox tray”). Tryb dostępny usuwa czysto dekoracyjne glify i zachowuje słowa; niskie rozproszenie usuwa krzykliwe emoji, ale zachowuje układ dla widzących użytkowników, którzy chcą po prostu spokoju.
-
Szanuj ograniczony ruch. Animacja (spinner Braille'a) rozprasza i może być
wyzwalaczem przedsionkowym. Tryby dostępny i niskiego rozproszenia nie
animują — drukują status raz, statycznie. To odzwierciedla webowe
prefers-reduced-motion. - Oferuj wysoki kontrast. Niskokontrastowy „przygaszony szary” tekst drugorzędny nie spełnia kontrastu WCAG dla wielu użytkowników. Tryb wysokiego kontrastu zamienia go na czystą biel i rozjaśnia akcenty.
- Zmniejsz obciążenie poznawcze. Poza wzrokiem niektórzy użytkownicy potrzebują mniej: mniej ozdobników, bez ruchu, bez emoji. To pełnoprawny tryb tutaj, a nie coś dorobionego po fakcie.
-
Uszanuj konwencje platformy. CLI już szanuje
NO_COLOR; traktuje teżTERM=dumb(co eksportuje wiele powłok czytnika ekranu i Emacsa) jako „przejdź w tryb dostępny” i odczytujeLOCKEDIN_REDUCE_MOTION. Wykrywanie istniejących sygnałów użytkownika bije zmuszanie go do konfigurowania kolejnej rzeczy. - Uczyń to testowalnym i utrzymuj przetestowane. Dostępność, która nie jest w bramce testowej, gnije. Zestaw sprawdza, że wyjście dostępne nie ma dekoracyjnych glifów, że znaczniki są obecne, że wysoki kontrast zamienia paletę i że niskie rozproszenie pozostaje wyrównane do obramowań — w każdym języku.
Formatowanie kierunkowe też jest domyślnie zamknięte. Arabski, perski, hebrajski i
urdu nie emitują żadnych kontrolek bidi, chyba że użytkownik jawnie ustawi
LOCKEDIN_BIDI=on dla terminala znanego z obsługi izolatów; tryb czytnika ekranu
usuwa je nawet wtedy. Żadne sondowanie TTY ani lista dozwolonych terminali nie może
nadpisać tego bezpiecznego domyślnego zachowania.
-
a11yFilter(s)usuwa dekoracyjny Unicode (rysowanie ramek, bloki, geometryczne, techniczne, dingbaty, Braille, emoji) i wyrównuje tekst do lewej — stosowany do całego wyjścia w trybie dostępnym. -
emojiFilter(s)to lżejszy filtr niskiego rozproszenia: usuwa tylko krzykliwe emoji/symbole, a zachowuje rysowanie ramek, punktory, strzałki i kolor ANSI, więc układ wizualny przetrwa. - Obiekt koloru
Cjest w miejscu zamieniany na paletę wysokiego kontrastu; gradienty wracają do pełnego akcentu, gdy włączony jest wysoki kontrast lub niskie rozproszenie. Tryb zwykły wymusza pusty każdy wpisC(kolor całkowicie wyłączony, nawet podFORCE_COLOR), pozostawiając układ nietknięty. -
renderSplash, spinner,renderPrompticardmają gałęzie semantyczne dla trybu dostępnego (zwykły tekst, bez ruchu, znaczniki). - Wykrywanie żyje w
detectAccessible/detectHighContrast/detectLowDistraction/detectPlain; punkt wejścia stosuje je przed renderowaniem. Komenda/a11yw sesji (handleA11y+renderA11yStatus) przełącza ten sam stan na poziomie modułu na żywo.
Lista kontrolna recenzji z samouczka zawiera krok dotyczący dostępności, a to dobry nawyk wszędzie:
Uruchom
lockedin --accessible <your command>i potwierdź, że czyta się jako czysty zwykły tekst — żadne nowe dekoracyjne glify nie prześlizgują się przez filtr — oraz że każdy nowy blok strukturalny ma znacznik. Następnie wypróbuj--high-contrast,--low-distractioni--plain(który musi emitować żadnych kodów koloru, ale zachować układ). Nowy widoczny dla użytkownika tekst potrzebuje klucza w każdym pakiecie językowym, aby panel/a11yi pomoc pozostały przetłumaczone.
Satyra. Niepowiązane z LinkedIn. GPL-3.0-or-later.
Tutorial
- 1 · Orientation
- 2 · How the Code Works
- 3 · Your First Agent Task
- 4 · Prompting & Reviewing
- 5 · Localization
Reference
Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.