-
Notifications
You must be signed in to change notification settings - Fork 0
Accessibility uk
🌎 Мова: Українська — переглянути всі 33 мови
LockedIn CLI — це жарт, але його доступність — ні. Настільки візуально насичений термінальний інтерфейс — градієнтний логотип, картки з псевдографіки, брайлівські спінери, емодзі — по-справжньому важко використовувати з допоміжними технологіями, якщо не проєктувати під них. Ця сторінка пояснює що робить CLI, як це увімкнути та загальні найкращі практики за цим (корисні далеко за межами цього проєкту).
| Режим | Прапорець | Env | Що робить |
|---|---|---|---|
| Екранний диктор |
--accessible (--a11y, --screen-reader) |
LOCKEDIN_ACCESSIBLE=1, або TERM=dumb
|
Чистий лінійний простий текст: без рамок, без ASCII-арту, без руху спінера, без декоративних гліфів; колір вимкнено; коротка підказка; семантичні орієнтири («Допис:» … «(кінець допису)»). |
| Висока контрастність |
--high-contrast (--hc) |
LOCKEDIN_HIGH_CONTRAST=1 |
Висококонтрастна палітра для слабозорих: чисто-білий вторинний текст, яскравіші акценти, без приглушення, суцільний акцент замість низькоконтрастного градієнта. |
| Низька відволікуваність |
--low-distraction (--calm, --reduce-motion) |
LOCKEDIN_LOW_DISTRACTION=1, LOCKEDIN_REDUCE_MOTION=1
|
Знижений рух (без анімації спінера), без декоративних емодзі, спокійний суцільний колір — зберігає візуальну розкладку. Для зниженого когнітивного/сенсорного навантаження. |
| Простий / монохромний |
--plain (--mono, --monochrome) |
LOCKEDIN_PLAIN=1, або NO_COLOR=1
|
Вимикає весь колір, зберігаючи повну розкладку, рамки та емодзі. Для терміналів зі слабкою підтримкою кольору, логування чи за вподобанням. Перевизначає FORCE_COLOR. |
Вони комбінуються: --high-contrast --low-distraction дає яскравий, спокійний
інтерфейс без емодзі; користувач екранного диктора на терміналі TERM=dumb
отримує режим доступності автоматично. Коли режими конфліктують, перемагає
обмежувальніший — монохром б'є кольорову палітру, а режим екранного диктора
витісняє простий.
lockedin --accessible post
lockedin --high-contrast
lockedin --plain post
LOCKEDIN_LOW_DISTRACTION=1 lockedin auraНе обов'язково вирішувати наперед. Усередині інтерактивної сесії slash-команда
/a11y — це справжня, робоча панель керування (доступність — не сатира):
| Введіть | Результат |
|---|---|
/a11y |
Показати поточний стан (увімк./вимк.) усіх чотирьох режимів |
/a11y <mode> |
Перемкнути один: screen-reader, high-contrast, low-distraction, plain (аліаси на кшталт sr / hc / calm / mono теж працюють) |
/a11y reset |
Вимкнути всі режими |
Стан завжди показується як явне слово увімк./вимк., ніколи лише кольором — ті самі користувачі, яким це служить, можуть не сприймати колір. Панель повністю локалізована.
Це принципи, які ми застосували — ті самі застосовні до будь-якого термінального інструмента.
- Семантика важливіша за декорацію. Екранний диктор читає символи. Рамки з псевдографіки перетворюються на «горизонтальна лінія, горизонтальна лінія…»; логотип з ASCII-арту — це шум. Режим доступності замінює візуальну структуру словами: заставка оголошує «LockedIn CLI» як текст, а картки отримують орієнтири («Допис:», «(кінець допису)»), щоб користувачі знали, де починається й закінчується блок.
- Ніколи не покладайтеся лише на колір чи іконки. Сенс, який несе лише колір чи емодзі, невидимий для деяких користувачів. Тримайте текст осмисленим із вимкненим кольором — наприклад, «Встановлено зв'язок з Ava» читається нормально після того, як ✔ зникла.
- Надавайте текстові альтернативи / прибирайте шум. Декоративні емодзі зачитуються вголос багатослівно («📥» → «лоток вхідних»). Режим доступності прибирає суто декоративні гліфи й лишає слова; низька відволікуваність прибирає гучні емодзі, але зберігає розкладку для зрячих користувачів, яким потрібен просто спокій.
-
Поважайте знижений рух. Анімація (брайлівський спінер) — це відволікання і
може бути вестибулярним тригером. Режими доступності та низької відволікуваності
не анімують — вони друкують статус один раз, статично. Це віддзеркалює
prefers-reduced-motionз вебу. - Пропонуйте високу контрастність. Низькоконтрастний «приглушено-сірий» вторинний текст провалює контраст WCAG для багатьох користувачів. Режим високої контрастності міняє його на чисто-білий і робить акценти яскравішими.
- Знижуйте когнітивне навантаження. Окрім зору, деяким користувачам потрібно менше: менше прикрас, без руху, без емодзі. Це першокласний режим тут, а не запізніла думка.
-
Дотримуйтеся угод платформи. CLI уже поважає
NO_COLOR; він також трактуєTERM=dumb(що експортують багато оболонок екранних дикторів та Emacs) як «переходь у режим доступності» і читаєLOCKEDIN_REDUCE_MOTION. Виявлення вже наявних сигналів користувача краще, ніж змушувати його налаштовувати ще одну річ. - Зробіть це тестованим і тримайте протестованим. Доступність, якої немає в тестовому бар'єрі, гниє. Набір стверджує, що доступний вивід не містить декоративних гліфів, що орієнтири присутні, що висока контрастність міняє палітру, а низька відволікуваність лишається вирівняною за рамками — кожною мовою.
Напрямне форматування теж fail-closed. Арабська, перська, іврит та урду не
видають жодних bidi-керівних символів, доки користувач явно не задасть
LOCKEDIN_BIDI=on для терміналу, про який відомо, що він підтримує isolates;
режим екранного диктора прибирає їх навіть тоді. Жодне зондування TTY чи
allowlist терміналів не може перевизначити це безпечне значення за замовчуванням.
-
a11yFilter(s)прибирає декоративний Unicode (псевдографіка, блоки, геометричні, технічні, dingbats, брайль, емодзі) і притискає текст ліворуч — застосовується до всього виводу в режимі доступності. -
emojiFilter(s)— легший фільтр низької відволікуваності: він прибирає лише гучні емодзі/символи і зберігає псевдографіку, маркери, стрілки та ANSI-колір, тож візуальна розкладка виживає. - Об'єкт кольору
Cзамінюється на висококонтрастну палітру на місці; градієнти відкочуються до суцільного акценту, коли увімкнено високу контрастність чи низьку відволікуваність. Простий режим примусово робить кожен записCпорожнім (колір повністю вимкнено, навіть підFORCE_COLOR), лишаючи розкладку недоторканою. -
renderSplash, спінер,renderPromptіcardмають семантичні гілки для режиму доступності (простий текст, без руху, орієнтири). - Виявлення живе в
detectAccessible/detectHighContrast/detectLowDistraction/detectPlain; точка входу застосовує їх перед рендерингом. Внутрішньосесійна команда/a11y(handleA11y+renderA11yStatus) перемикає той самий стан рівня модуля в реальному часі.
Чек-лист рев'ю з посібника містить крок доступності, і це гарна звичка будь-де:
Запустіть
lockedin --accessible <ваша команда>й переконайтеся, що це читається як чистий простий текст — жодні нові декоративні гліфи не прослизають повз фільтр — і що будь-який новий структурований блок має орієнтир. Потім спробуйте--high-contrast,--low-distractionта--plain(який має видавати жодних кодів кольору, але зберігати розкладку). Новому видимому користувачеві тексту потрібен ключ у кожному мовному бандлі, щоб панель/a11yі довідка лишалися перекладеними.
Сатира. Не пов'язано з 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.