-
Notifications
You must be signed in to change notification settings - Fork 0
Accessibility el
🌎 Γλώσσα: Ελληνικά — δες και τις 33 γλώσσες
Το LockedIn CLI είναι αστείο, αλλά η προσβασιμότητά του δεν είναι. Ένα τερματικό UI τόσο οπτικά πλούσιο — λογότυπο με ντεγκραντέ, κάρτες με πλαίσια, spinners braille, emoji — είναι πραγματικά δύσκολο να χρησιμοποιηθεί με υποστηρικτική τεχνολογία, εκτός αν το σχεδιάσεις γι' αυτό. Αυτή η σελίδα εξηγεί τι κάνει το CLI, πώς να το ενεργοποιήσεις, και τις γενικές βέλτιστες πρακτικές πίσω του (χρήσιμες πολύ πέρα από αυτό το έργο).
| Λειτουργία | Σημαία | Env | Τι κάνει |
|---|---|---|---|
| Αναγνώστης οθόνης |
--accessible (--a11y, --screen-reader) |
LOCKEDIN_ACCESSIBLE=1, ή TERM=dumb
|
Καθαρό γραμμικό απλό κείμενο: χωρίς περιγράμματα, χωρίς ASCII art, χωρίς κίνηση spinner, χωρίς διακοσμητικά glyphs· χρώμα ανενεργό· σύντομη προτροπή· σημασιολογικά ορόσημα («Δημοσίευση:» … «(τέλος δημοσίευσης)»). |
| Υψηλή αντίθεση |
--high-contrast (--hc) |
LOCKEDIN_HIGH_CONTRAST=1 |
Μια παλέτα υψηλής αντίθεσης για χαμηλή όραση: καθαρό λευκό δευτερεύον κείμενο, φωτεινότερες πινελιές, χωρίς θάμπωμα, συμπαγής τόνος αντί για το ντεγκραντέ χαμηλής αντίθεσης. |
| Χαμηλός περισπασμός |
--low-distraction (--calm, --reduce-motion) |
LOCKEDIN_LOW_DISTRACTION=1, LOCKEDIN_REDUCE_MOTION=1
|
Μειωμένη κίνηση (χωρίς animation spinner), χωρίς διακοσμητικά emoji, ήρεμο συμπαγές χρώμα — διατηρεί την οπτική διάταξη. Για μειωμένο γνωστικό/αισθητηριακό φορτίο. |
| Απλή / μονόχρωμη |
--plain (--mono, --monochrome) |
LOCKEDIN_PLAIN=1, ή NO_COLOR=1
|
Απενεργοποιεί όλα τα χρώματα διατηρώντας την πλήρη διάταξη, τα περιγράμματα και τα emoji. Για τερματικά με φτωχή υποστήριξη χρώματος, για logging ή κατά προτίμηση. Υπερισχύει του FORCE_COLOR. |
Συνθέτονται: το --high-contrast --low-distraction σου δίνει ένα φωτεινό,
ήρεμο, χωρίς emoji UI· ένας χρήστης αναγνώστη οθόνης σε τερματικό TERM=dumb
παίρνει τη λειτουργία προσβασιμότητας αυτόματα. Όταν οι λειτουργίες συγκρούονται,
κερδίζει η πιο περιοριστική — η μονόχρωμη νικά μια παλέτα χρωμάτων, και η
λειτουργία αναγνώστη οθόνης υπερισχύει της απλής.
lockedin --accessible post
lockedin --high-contrast
lockedin --plain post
LOCKEDIN_LOW_DISTRACTION=1 lockedin auraΔεν χρειάζεται να αποφασίσεις εκ των προτέρων. Μέσα στη διαδραστική συνεδρία, η
slash command /a11y είναι ένας πραγματικός, λειτουργικός πίνακας ελέγχου (η
προσβασιμότητα δεν είναι η σάτιρα):
| Πληκτρολόγησε | Αποτέλεσμα |
|---|---|
/a11y |
Δείξε την τρέχουσα κατάσταση (ναι/όχι) και των τεσσάρων λειτουργιών |
/a11y <mode> |
Εναλλαγή μίας: screen-reader, high-contrast, low-distraction, plain (λειτουργούν και ψευδώνυμα όπως sr / hc / calm / mono) |
/a11y reset |
Απενεργοποίησε κάθε λειτουργία |
Η κατάσταση εμφανίζεται πάντα ως ρητή λέξη ναι/όχι, ποτέ μόνο με χρώμα — οι ίδιοι οι χρήστες που εξυπηρετεί ίσως να μην αντιλαμβάνονται το χρώμα. Ο πίνακας είναι πλήρως τοπικοποιημένος.
Αυτές είναι οι αρχές που εφαρμόσαμε — οι ίδιες ισχύουν για κάθε εργαλείο τερματικού.
- Σημασιολογία αντί για διακόσμηση. Ένας αναγνώστης οθόνης διαβάζει χαρακτήρες. Τα περιγράμματα με πλαίσια γίνονται «οριζόντια γραμμή, οριζόντια γραμμή…»· ένα λογότυπο ASCII art είναι θόρυβος. Η λειτουργία προσβασιμότητας αντικαθιστά την οπτική δομή με λέξεις: η εναρκτήρια οθόνη ανακοινώνει το «LockedIn CLI» ως κείμενο, και οι κάρτες αποκτούν ορόσημα («Δημοσίευση:», «(τέλος δημοσίευσης)») ώστε οι χρήστες να ξέρουν πού αρχίζει και τελειώνει ένα μπλοκ.
- Ποτέ μη βασίζεσαι μόνο σε χρώμα ή εικονίδια. Το νόημα που μεταφέρεται μόνο από χρώμα ή emoji είναι αόρατο για ορισμένους χρήστες. Κράτα το κείμενο ουσιαστικό με το χρώμα ανενεργό — π.χ. το «Συνδέθηκες με την Ava» διαβάζεται μια χαρά αφού φύγει το ✔.
- Παρείχε εναλλακτικές κειμένου / αφαίρεσε τον θόρυβο. Τα διακοσμητικά emoji διαβάζονται φωναχτά με πολυλογία («📥» → «δίσκος εισερχομένων»). Η λειτουργία προσβασιμότητας αφαιρεί τα καθαρά διακοσμητικά glyphs και κρατά τις λέξεις· ο χαμηλός περισπασμός αφαιρεί τα έντονα emoji αλλά κρατά τη διάταξη για βλέποντες χρήστες που θέλουν απλώς ηρεμία.
-
Σεβάσου τη μειωμένη κίνηση. Το animation (ο spinner braille) είναι
περισπασμός και μπορεί να είναι αιθουσαίο έναυσμα. Οι λειτουργίες
προσβασιμότητας και χαμηλού περισπασμού δεν κινούνται — τυπώνουν την
κατάσταση μία φορά, στατικά. Αυτό αντικατοπτρίζει το
prefers-reduced-motionτου web. - Πρόσφερε υψηλή αντίθεση. Το χαμηλής αντίθεσης «θαμπό γκρι» δευτερεύον κείμενο αποτυγχάνει την αντίθεση WCAG για πολλούς χρήστες. Η λειτουργία υψηλής αντίθεσης το αντικαθιστά με καθαρό λευκό και φωτίζει τις πινελιές.
- Μείωσε το γνωστικό φορτίο. Πέρα από την όραση, ορισμένοι χρήστες χρειάζονται λιγότερα: λιγότερα στολίδια, χωρίς κίνηση, χωρίς emoji. Αυτή είναι λειτουργία πρώτης τάξης εδώ, όχι μεταγενέστερη σκέψη.
-
Τίμησε τις συμβάσεις της πλατφόρμας. Το CLI ήδη σέβεται το
NO_COLOR· επίσης αντιμετωπίζει τοTERM=dumb(που εξάγουν πολλά shell αναγνώστη οθόνης και Emacs) ως «πήγαινε σε προσβάσιμη λειτουργία», και διαβάζει τοLOCKEDIN_REDUCE_MOTION. Το να ανιχνεύεις τα υπάρχοντα σήματα του χρήστη είναι καλύτερο από το να τον βάζεις να ρυθμίζει άλλο ένα πράγμα. - Κάν' το ελέγξιμο, και κράτα το ελεγμένο. Η προσβασιμότητα που δεν είναι στην πύλη ελέγχου σαπίζει. Η σουίτα διαβεβαιώνει ότι η προσβάσιμη έξοδος δεν έχει διακοσμητικά glyphs, ότι τα ορόσημα υπάρχουν, ότι η υψηλή αντίθεση αλλάζει την παλέτα, και ότι ο χαμηλός περισπασμός παραμένει ευθυγραμμισμένος στα περιγράμματα — σε κάθε γλώσσα.
Η κατευθυντική μορφοποίηση είναι επίσης fail-closed. Τα Αραβικά, Περσικά, Εβραϊκά
και Ουρντού δεν εκπέμπουν καθόλου bidi controls εκτός αν ο χρήστης ρητά ορίσει
LOCKEDIN_BIDI=on για ένα τερματικό γνωστό ότι υποστηρίζει isolates· η λειτουργία
αναγνώστη οθόνης τα αφαιρεί ακόμα και τότε. Καμία ανίχνευση TTY ή allowlist
τερματικού δεν μπορεί να παρακάμψει αυτή την ασφαλή προεπιλογή.
- Το
a11yFilter(s)αφαιρεί διακοσμητικό Unicode (πλαίσια, μπλοκ, γεωμετρικά, τεχνικά, dingbats, braille, emoji) και στοιχίζει το κείμενο αριστερά — εφαρμόζεται σε όλη την έξοδο σε λειτουργία προσβασιμότητας. - Το
emojiFilter(s)είναι το ελαφρύτερο φίλτρο χαμηλού περισπασμού: αφαιρεί μόνο τα έντονα emoji/σύμβολα και κρατά πλαίσια, κουκκίδες, βέλη και ANSI χρώμα, ώστε η οπτική διάταξη να επιβιώνει. - Το αντικείμενο χρώματος
Cαντικαθίσταται επιτόπου με μια παλέτα υψηλής αντίθεσης· τα ντεγκραντέ πέφτουν πίσω σε έναν συμπαγή τόνο όταν είναι ενεργή η υψηλή αντίθεση ή ο χαμηλός περισπασμός. Η απλή λειτουργία εξαναγκάζει κάθε εγγραφήCνα είναι κενή (χρώμα εντελώς ανενεργό, ακόμα και υπόFORCE_COLOR) αφήνοντας τη διάταξη ανέγγιχτη. - Τα
renderSplash, ο spinner, τοrenderPromptκαι τοcardέχουν σημασιολογικούς κλάδους για τη λειτουργία προσβασιμότητας (απλό κείμενο, χωρίς κίνηση, ορόσημα). - Η ανίχνευση βρίσκεται στα
detectAccessible/detectHighContrast/detectLowDistraction/detectPlain· το σημείο εισόδου τα εφαρμόζει πριν την απόδοση. Η εντός-συνεδρίας εντολή/a11y(handleA11y+renderA11yStatus) εναλλάσσει την ίδια κατάσταση επιπέδου module ζωντανά.
Η λίστα ελέγχου του μαθήματος περιλαμβάνει ένα βήμα προσβασιμότητας, και είναι καλή συνήθεια οπουδήποτε:
Τρέξε
lockedin --accessible <η εντολή σου>και επιβεβαίωσε ότι διαβάζεται ως καθαρό απλό κείμενο — χωρίς νέα διακοσμητικά glyphs να ξεγλιστρούν από το φίλτρο — και ότι κάθε νέο δομημένο μπλοκ έχει ένα ορόσημο. Μετά δοκίμασε--high-contrast,--low-distractionκαι--plain(που πρέπει να εκπέμπει κανέναν κωδικό χρώματος αλλά να κρατά τη διάταξη). Το νέο ορατό στον χρήστη κείμενο χρειάζεται ένα κλειδί σε κάθε γλωσσικό bundle, ώστε ο πίνακας/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.