Skip to content

Accessibility ur

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

رسائی

🌎 زبان: اردوتمام ۳۳ زبانیں دیکھیں

LockedIn CLI ایک مذاق ہے، مگر اس کی رسائی مذاق نہیں۔ ایک ٹرمینل UI جو بصری طور پر اتنا بھرپور ہو — گریڈیئنٹ ورڈ مارک، باکس ڈرائنگ کارڈز، بریل اسپنر، ایموجی — معاون ٹیکنالوجی کے ساتھ استعمال کرنا واقعی مشکل ہوتا ہے جب تک آپ اسے مدنظر رکھ کر ڈیزائن نہ کریں۔ یہ صفحہ وضاحت کرتا ہے کہ 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 آپ کو ایک روشن، پُرسکون، ایموجی سے پاک UI دیتا ہے؛ 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-آرٹ ورڈ مارک شور ہے۔ رسائی موڈ بصری ساخت کو الفاظ سے بدل دیتا ہے: اسپلیش "LockedIn CLI" کو متن کے طور پر اعلان کرتا ہے، اور کارڈز کو نشانیاں ملتی ہیں ("پوسٹ:"، "(پوسٹ کا اختتام)") تاکہ صارفین جان سکیں کہ کوئی بلاک کہاں شروع اور ختم ہوتا ہے۔
  2. کبھی صرف رنگ یا آئیکنز پر بھروسہ نہ کریں۔ وہ معنی جو صرف رنگ یا ایموجی سے ظاہر ہو، بعض صارفین کے لیے پوشیدہ ہوتا ہے۔ رنگ بند ہونے پر بھی متن کو بامعنی رکھیں — مثلاً "Ava سے منسلک ہوئے" ✔ ہٹ جانے کے بعد بھی ٹھیک پڑھا جاتا ہے۔
  3. متن کے متبادل فراہم کریں / شور ہٹا دیں۔ آرائشی ایموجی تفصیل سے پڑھی جاتی ہیں ("📥" → "inbox tray")۔ رسائی موڈ خالص آرائشی گلائف ہٹاتا ہے اور الفاظ رکھتا ہے؛ کم توجہ ہٹاؤ اونچی آواز والی ایموجی ہٹاتا ہے مگر ان بینا صارفین کے لیے لے آؤٹ رکھتا ہے جو صرف سکون چاہتے ہیں۔
  4. کم حرکت کا احترام کریں۔ اینیمیشن (بریل اسپنر) ایک خلل ہے اور ویسٹیبیولر ٹرگر بھی بن سکتی ہے۔ رسائی اور کم توجہ ہٹاؤ موڈز اینیمیٹ نہیں کرتے — وہ اسٹیٹس ایک بار، ساکن طور پر پرنٹ کرتے ہیں۔ یہ ویب کے prefers-reduced-motion کی عکاسی کرتا ہے۔
  5. ہائی کنٹراسٹ پیش کریں۔ کم-کنٹراسٹ "دھندلا سرمئی" ثانوی متن بہت سے صارفین کے لیے WCAG کنٹراسٹ میں ناکام رہتا ہے۔ ہائی کنٹراسٹ موڈ اسے خالص سفید سے بدل دیتا ہے اور ایکسنٹ روشن کر دیتا ہے۔
  6. ادراکی بوجھ کم کریں۔ بصارت سے آگے، بعض صارفین کو کم درکار ہوتا ہے: کم نمائشیں، کوئی حرکت نہیں، کوئی ایموجی نہیں۔ یہاں یہ ایک اولین درجے کا موڈ ہے، بعد کی سوچ نہیں۔
  7. پلیٹ فارم کے اصولوں کا احترام کریں۔ CLI پہلے ہی NO_COLOR کا احترام کرتا ہے؛ یہ TERM=dumb کو بھی (جو بہت سے اسکرین ریڈر اور Emacs شیلز ایکسپورٹ کرتے ہیں) "رسائی موڈ میں جاؤ" کے طور پر لیتا ہے، اور LOCKEDIN_REDUCE_MOTION پڑھتا ہے۔ صارف کے موجودہ اشاروں کا پتا لگانا اسے ایک اور چیز کنفیگر کرانے سے بہتر ہے۔
  8. اسے قابلِ آزمائش بنائیں، اور آزمائش شدہ رکھیں۔ جو رسائی ٹیسٹ گیٹ میں نہ ہو، وہ سڑ جاتی ہے۔ سویٹ اس بات کی تصدیق کرتا ہے کہ رسائی آؤٹ پٹ میں کوئی آرائشی گلائف نہ ہو، نشانیاں موجود ہوں، ہائی کنٹراسٹ پیلیٹ بدل دے، اور کم توجہ ہٹاؤ حاشیے کے ساتھ سیدھ میں رہے — ہر زبان میں۔

سمتی فارمیٹنگ بھی fail-closed ہے۔ عربی، فارسی، عبرانی اور اردو کوئی bidi کنٹرول خارج نہیں کرتیں جب تک صارف کسی ایسے ٹرمینل کے لیے واضح طور پر 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