Skip to content

Accessibility he

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

נגישות

🌎 שפה: עבריתראו את כל 33 השפות

LockedIn CLI הוא בדיחה, אבל הנגישות שלו אינה בדיחה. ממשק טרמינל עשיר כל כך מבחינה חזותית — סמל מילולי בגרדיאנט, כרטיסים בציור-תיבות, ספינרים בברייל, אמוג'י — הוא באמת קשה לשימוש עם טכנולוגיה מסייעת אלא אם מעצבים עבורה. הדף הזה מסביר מה ה-CLI עושה, איך להפעיל את זה ואת שיטות העבודה המומלצות הכלליות מאחוריו (שימושיות הרבה מעבר לפרויקט הזה).

ארבעת המצבים

מצב דגל משתנה סביבה מה זה עושה
קורא מסך --accessible (--a11y, --screen-reader) LOCKEDIN_ACCESSIBLE=1, או TERM=dumb טקסט פשוט לינארי ונקי: ללא גבולות, ללא ASCII art, ללא תנועת ספינר, ללא גליפים דקורטיביים; צבע כבוי; פרומפט קצר; ציוני דרך סמנטיים ("Post:" … "(end of post)").
ניגודיות גבוהה --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

החלפת מצבים בתוך סשן: /a11y

אינכם חייבים להחליט מראש. בתוך הסשן האינטראקטיבי, פקודת הסלאש /a11y היא לוח בקרה אמיתי ופעיל (הנגישות אינה הסאטירה):

הקלדה תוצאה
/a11y הצג את המצב הנוכחי (מופעל/כבוי) של כל ארבעת המצבים
/a11y <mode> החלף אחד: screen-reader, high-contrast, low-distraction, plain (כינויים כמו sr / hc / calm / mono עובדים גם)
/a11y reset כבה כל מצב

המצב מוצג תמיד כמילת מופעל/כבוי מפורשת, לעולם לא צבע בלבד — בדיוק המשתמשים שהדבר משרת עשויים לא לתפוס את הצבע. הלוח מתורגם במלואו.

שיטות העבודה המומלצות שמאחוריו

אלה העקרונות שיישמנו — אותם עקרונות חלים על כל כלי טרמינל.

  1. סמנטיקה מעל קישוט. קורא מסך קורא תווים. גבולות ציור-תיבות הופכים ל"קו אופקי, קו אופקי…"; סמל מילולי ב-ASCII art הוא רעש. מצב נגיש מחליף מבנה חזותי במילים: מסך הפתיחה מכריז "LockedIn CLI" כטקסט, והכרטיסים מקבלים ציוני דרך ("Post:", "(end of post)") כדי שהמשתמשים ידעו היכן בלוק מתחיל ומסתיים.
  2. לעולם אל תסתמכו על צבע או אייקונים בלבד. משמעות שנישאת רק על ידי צבע או אמוג'י בלתי נראית לחלק מהמשתמשים. שמרו על הטקסט משמעותי כשהצבע כבוי — למשל "Connected with Ava" נקרא היטב ברגע שה-✔ נעלם.
  3. ספקו חלופות טקסט / הסירו את הרעש. אמוג'י דקורטיבי נקרא בקול באריכות ("📥" → "inbox tray"). מצב נגיש מסיר גליפים דקורטיביים גרידא ושומר את המילים; הסחת דעת מופחתת מסירה את האמוג'י הרועש אך שומרת על הפריסה למשתמשים רואים שרק רוצים רוגע.
  4. כבדו תנועה מופחתת. אנימציה (ספינר הברייל) היא הסחת דעת ויכולה להיות טריגר וסטיבולרי. מצבי נגיש והסחת דעת מופחתת אינם מונפשים — הם מדפיסים את הסטטוס פעם אחת, באופן סטטי. זה משקף את prefers-reduced-motion של הרשת.
  5. הציעו ניגודיות גבוהה. טקסט משני "אפור עמום" בעל ניגודיות נמוכה נכשל בניגודיות WCAG עבור משתמשים רבים. מצב ניגודיות גבוהה מחליף אותו בלבן טהור ומבהיר הדגשות.
  6. הפחיתו עומס קוגניטיבי. מעבר לראייה, חלק מהמשתמשים צריכים פחות: פחות קישוטים, ללא תנועה, ללא אמוג'י. זה מצב מהמעלה הראשונה כאן, לא מחשבה שלאחר מעשה.
  7. כבדו מוסכמות פלטפורמה. ה-CLI כבר מכבד את NO_COLOR; הוא גם מתייחס אל TERM=dumb (שהרבה שֶלים של קורא-מסך ו-Emacs מייצאים) כ"עבור למצב נגיש", וקורא את LOCKEDIN_REDUCE_MOTION. זיהוי האותות הקיימים של המשתמש עדיף על אילוצו להגדיר עוד דבר.
  8. הפכו את זה לבדיק, ושמרו על זה בדוק. נגישות שאינה במחסום הבדיקות נרקבת. החבילה מוודאת שפלט נגיש אינו מכיל גליפים דקורטיביים, שציוני הדרך נוכחים, שניגודיות גבוהה מחליפה את הפלטה, ושהסחת דעת מופחתת נשארת מיושרת-גבולות — בכל שפה.

עיצוב כיווני גם הוא כשל-סגור. ערבית, פרסית, עברית ואורדו אינן פולטות בקרות דו-כיווניות אלא אם המשתמש מגדיר מפורשות LOCKEDIN_BIDI=on עבור טרמינל הידוע כתומך בבידוד; מצב קורא-מסך מסיר אותן גם אז. שום גישוש TTY או רשימת היתר של טרמינלים אינם יכולים לגבור על ברירת המחדל הבטוחה הזו.

איך זה בנוי (לסקרנים)

  • a11yFilter(s) מסיר יוניקוד דקורטיבי (ציור-תיבות, בלוק, גיאומטרי, טכני, דינגבטים, ברייל, אמוג'י) ומיישר טקסט לשמאל — מוחל על כל הפלט במצב נגיש.
  • emojiFilter(s) הוא מסנן הסחת הדעת המופחתת הקל יותר: הוא מסיר רק את האמוג'י/סמלים הרועשים ושומר על ציור-תיבות, תבליטים, חצים וצבע ANSI, כך שהפריסה החזותית שורדת.
  • אובייקט הצבע C מוחלף בפלטת ניגודיות גבוהה במקום; גרדיאנטים נופלים לגיבוי של הדגשה מלאה כשניגודיות גבוהה או הסחת דעת מופחתת מופעלות. מצב פשוט מאלץ כל ערך C להיות ריק (צבע כבוי לחלוטין, גם תחת FORCE_COLOR) תוך השארת הפריסה ללא שינוי.
  • ל-renderSplash, לספינר, ל-renderPrompt ול-card יש ענפים סמנטיים למצב נגיש (טקסט פשוט, ללא תנועה, ציוני דרך).
  • הזיהוי חי ב-detectAccessible / detectHighContrast / detectLowDistraction / detectPlain; נקודת הכניסה מחילה אותם לפני הרינדור. פקודת ה-/a11y בתוך הסשן (handleA11y + renderA11yStatus) מחליפה את אותו מצב ברמת המודול בזמן אמת.

לשמור על זה עובד כשמוסיפים תכונה

רשימת הסקירה של המדריך כוללת שלב נגישות, וזה הרגל טוב בכל מקום:

הריצו lockedin --accessible <your command> וודאו שזה נקרא כטקסט פשוט ונקי — ללא גליפים דקורטיביים חדשים שחומקים דרך המסנן — ושלכל בלוק מובנה חדש יש ציון דרך. לאחר מכן נסו --high-contrast, --low-distraction ו---plain (שחייב לפלוט אפס קודי צבע אך לשמור על הפריסה). טקסט חדש הנראה למשתמש צריך מפתח בכל חבילת שפה, כדי שלוח ה-/a11y והעזרה יישארו מתורגמים.


סאטירה. לא מזוהה עם 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