TalkBack — یہ کیا ہے، کنٹرول اشارے اور Android پر سیٹ اپ

مصنف: IT Sectr اشاعت: 2026-05-15 مطالعے کا وقت: 8 منٹ

TalkBack Android کے لیے Google کا بیلٹ-ان سکرین ریڈر ہے، جو Android Accessibility Suite پیکیج کا حصہ ہے۔ یہ انٹرفیس کے اجزاء کو آواز کرتا ہے اور اشاروں کے ذریعے ڈیوائس کو کنٹرول کرنے کی اجازت دےتا ہے، جو نابینا اور بیناءی کی کمزوری والے صارفین کو سمارٹ فون کے فنکشنز تک مکمل رسائی فراہم کرتا ہے۔ Google Accessibility Help (2025) کے مطابق، TalkBack زیادہ تر Android آلات پر پہلے سے انسٹال ہوتا ہے اور مختلف آوازی انجنوں کے ساتھ 30 سے زائد زبانوں کی حمایت کرتا ہے۔

اہم نکات

  • TalkBack اشارے کنٹرول اور آوازی رابطے کے ساتھ Android کے لیے Google کا بیلٹ-ان سکرین ریڈر ہے
  • رسائی کا فوکس اس عنصر کو ایک پیلے فریم سے نمایاں کرتا ہے جسے TalkBack فی الحال آواز کر رہا ہے
  • اشارے میں چہوں (آواز کرنا)، ڈبل ٹیپ (فعال کرنا) اور تین انگلیوں سے سوائپ شامل ہیں
  • ڈیولپرز contentDescription اور AccessibilityNodeInfo کے ذریعے رسائی کو ترتیب دیتے ہیں
  • TalkBack Google Assistant اور بریل ڈسپلے کے ساتھ مضمون ہوتا ہے

TalkBack کیا ہے؟

TalkBack Android کے لیے ایک سکرین ریڈر ہے، جو Google نے تیار کیا ہے اور Android Accessibility Suite کا حصہ ہے۔ یہ بینائی کی کمزوری والے صارفین کے لیے آوازی رابطہ اور اشارے کنٹرول فراہم کرتا ہے۔ TalkBack سمارٹ فون، ٹیبلیٹ، Smart TV اور Wear OS چلانے والے پہننے کے قابل آلات پر کام کرتا ہے۔

TalkBack پہلی بار 2009 میں Android 1.6 (Donut) میں ظاہر ہوا۔ شروع میں یہ ایک علیحدہ منصوبہ تھا، لیکن Android 4.0 (Ice Cream Sandwich) کے اجرائی کے ساتھ یہ Android Accessibility Suite کا حصہ بن گیا — خدمات کا ایک سیٹ جس میں Switch Access اور Select to Speak بھی شامل ہیں۔ Android 10 سے شروع کرکے، TalkBack Google Play خدمات والے تمام آلات پر پہلے سے انسٹال ہوتا ہے، جس میں شریک آلات — Samsung، Xiaomi، Oppo اور دیگر شامل ہیں۔

TalkBack مختلف آوازی انجنوں کے ساتھ 30 سے زائد زبانوں کی حمایت کرتا ہے: Google Text-to-Speech، Samsung TTS اور تیسری جانب کے انجن۔ اردو کے لیے، Google TTS قدرتی تلفظ اور درست لہجہ فراہم کرتا ہے۔ صارف TalkBack ترتیبات میں بولنے کی رفتار، پٹچ اور آواز کی جنس کو منظم کر سکتا ہے۔

TalkBack کیسے کام کرتا ہے؟

TalkBack AccessibilityService کے بنیاد پر کام کرتا ہے — Android میں ایک سیسٹم میکانزم جو ایپس کو انٹرفیس کی حالت کے بارے میں معلومات حاصل کرنے اور پروگرامی طور پر اس کے ساتھ باتچیت کرنے کی اجازت دےتا ہے۔ جب TalkBack فعال ہوتا ہے، یہ تمام چہو کے واقعات کو روک لیتا ہے اور انہیں خاص سکرین ریڈر اشاروں میں تبدیل کر دیتا ہے۔

رسائی کا فوکس

TalkBack کے کام کا کلیدی عنصر رسائی کا فوکس ہے۔ معیاری انپٹ فوکس کے برخلاف، جو تیکسٹ فیلڈ کے نمایاں ہونے کی صورت میں ظاہر ہوتا ہے، رسائی کا فوکس عنصر کے چاروں جانب ایک پیلے فریم کے طور پر ظاہر ہوتا ہے اور TalkBack کے بغیر صارفین کے لیے پنھان ہوتا ہے۔ جب رسائی کا فوکس کسی عنصر پر آتا ہے، TalkBack اس کے مواد، قسم اور حالت کو آواز کرتا ہے۔

صارف رسائی کے فوکس کو اشاروں سے حرکت دیتا ہے: دائیں سوائپ — اگلا عنصر، بائیں سوائپ — پچھلا عنصر۔ عناصر AccessibilityNodeInfo کے طرز کردار کے مطابق ترتیب سے گزرے جاتے ہیں — رسائی کا درخت جو Android ہر ایک ری کی لیے بناتا ہے۔ ڈیولپر accessibilityTraversalBefore اور accessibilityTraversalAfter خوصیات کے ذریعے ترتیب کو متاثر کر سکتا ہے، جو کسٹم لی آؤٹ کے ساتھ پچیدہ سکرینز کے لیے خاص طور پر اہم ہے۔

AccessibilityNodeInfo اور رسائی کا درخت

سکرین پر ہر View رسائی کے درخت میں ایک نوڈ سے ظاہر کی جاتی ہے — ایک AccessibilityNodeInfo آبجیکٹ۔ اس آبجیکٹ میں شامل ہے: عنصر کا متن (contentDescription یا ویو کا متن)، عنصر کی قسم (بٹن، چک باکس، انپٹ فیلڈ)، حالت (فعال/غیر فعال/منتخب)، سکرین پر مقام اور دستیاب کاروائیوں کی فہرست۔ TalkBack اس درخت کو گزرتا ہے اور ہر نوڈ کو گزش کے ترتیب سے آواز کرتا ہے۔

اگر کسی View میں متن مواد نہیں ہے (مثال کے طور پر، بیان کے بغیر ImageView)، تو یہ TalkBack کے لیے غیر مرئی ہو جاتی ہے — صارف کو اس کے وجود کا علم نہیں ہوگا۔ اس مسئلے کو حل کرنے کے لیے، ڈیولپر contentDescription مقرر کرتا ہے — ایک متنی تفصیل جو TalkBack خاموشی کے بجائے بولتا ہے۔ Android تبدیل پذیر حالت (نشان شدہ/غیر نشان شدہ) والے عناصر کے لیے stateDescription اور اشارے والے انپٹ فیلڈز کے لیے hintText کی بھی حمایت کرتا ہے۔

TalkBack کنٹرول اشارے

TalkBack معیاری Android اشاروں کو خاص سکرین ریڈر اشاروں میں تبدیل کرتا ہے۔ زیادہ تر کاروائیاں ایک یا دو انگلیوں سے کی جاتی ہیں، جبکہ تین انگلیوں کے اشارے عالمی کاروائیوں کے لیے مخصوص ہیں۔

کاروائیاشارہنتیجہ
عنصر کو آواز کریںایک چہوعنصر کا نام اور قسم بولتا ہے
فعال کریںڈبل ٹیپبٹن دبانا یا نویگیشن
اگلادائیں سوائپاگلا عنصر
پچھلابائیں سوائپپچھلا عنصر
سکرول2 انگلیوں سے سوائپفہرست سکرولینگ
TalkBack مینیواوپر-بائیں سوائپعالمی ترتیبات کا مینیو

اوپر-بائیں سوائپ (L کی شکل کا سوائپ) TalkBack کا عالمی مینیو کھولتا ہے، جہاں صارف بولنے کی رفتار بدل سکتا ہے، سکرین کرٹن فعال کر سکتا ہے، ایک ٹیوٹوریال شروع کر سکتا ہے یا ترتیبات کھول سکتا ہے۔ TalkBack عناصر کے لیے ایک کنٹیکسٹ مینیو بھی سپورٹ کرتا ہے: اوپر-دائیں سوائپ موجودہ عنصر کے لیے دستیاب کاروائیوں کی فہرست کھولتا ہے (مثال کے طور پر، ٹیکسٹ فیلڈ کے لیے «کاپی کریں»، «چپکائیں» یا چیٹ پیغام کے لیے «حذف کریں»)۔

موبائل ڈیولپمنٹ میں TalkBack

Android رسائی کی ترتیب کے لیے ایک مالدار API فراہم کرتا ہے۔ بنیادی سطح contentDescription ہے، لیکن معیاری TalkBack حمایت کے لیے AccessibilityNodeInfo، AccessibilityDelegate اور LiveRegion کے ساتھ کام کرنا ضروری ہے۔

ContentDescription اور اہم خوصیات

android:contentDescription خوصیت TalkBack کے لیے عنصر کی متنی تفصیل مقرر کرتی ہے۔ یہ ImageView، ImageButton، FloatingActionButton اور متنی مواد کے بغیر کسی بھی کسٹم View کے لیے لازمی ہے۔ معیاری عناصر (TextView، Button) کے لیے contentDescription اختیاری ہے — TalkBack خود بخود متن پڑھ لیگا۔

kotlin
val avatarView = ImageView(this)
avatarView.contentDescription = "صارف کا اوتار"
avatarView.importantForAccessibility =
    IMPORTANT_FOR_ACCESSIBILITY_YES

val playButton = ImageButton(this)
playButton.contentDescription = "ویڈیو چلائیں"

val progressBar = ProgressBar(this)
progressBar.importantForAccessibility =
    IMPORTANT_FOR_ACCESSIBILITY_NO

importantForAccessibility فلیگ TalkBack کے لیے عنصر کی نمایانیت کو کنٹرول کرتا ہے۔ NO کی قیمت عنصر کو رسائی کے درخت سے چھپاتی ہے — آرائشی تصاویر، اشارکندوں اور کسٹم بک گراؤنڈ کے لیے مفید۔ YES کی قیمت چاہے اس میں متن نہ ہو، عنصر کو زبردستی گزش میں شامل کرتی ہے۔ NO کا زیادہ استعمال نہ کرنا اہم ہے: سیمانٹک اعتبار سے اہم عناصر کو چھپانا ایپ کو TalkBack صارفین کے لیے ناقابل رسائی بنا دیتا ہے۔

AccessibilityDelegate اور کسٹم کاروائیاں

کسٹم Views کے لیے جو معیاری کلک ہینڈلرز استعمال نہیں کرتے، AccessibilityDelegate کو اووررائڈ کرنا ضروری ہے — ایک کلاس جو رسائی کے واقعات کو ہینڈل کرتی ہے۔ ڈیلیگیٹ کسٹم تفصیلات، عنصر کی قسمیں اور دستیاب کاروائیوں کی فہرستیں مقرر کرنے کی اجازت دیتا ہے جو TalkBack کنٹیکسٹ مینیو کے ذریعے صارف کو پیش کرے گا۔

kotlin
class CustomButtonDelegate : View.AccessibilityDelegate() {
    override fun onInitializeAccessibilityNodeInfo(
        host: View, info: AccessibilityNodeInfoCompat
    ) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        info.text = "کسٹم بٹن"
        info.className = Button::class.java.name
        info.addAction(
            AccessibilityNodeInfoCompat.AccessibilityActionCompat(
                R.id.custom_action, "شیئر کریں"
            )
        )
    }

    override fun performAccessibilityAction(
        host: View, action: Int, args: Bundle?
    ): Boolean {
        if (action == R.id.custom_action) {
            shareContent()
            return true
        }
        return super.performAccessibilityAction(host, action, args)
    }
}

مثال میں، ڈیلیگیٹ TalkBack کو بتاتا ہے کہ عنصر ایک بٹن (className = Button) ہے اور ایک کسٹم «شیئر کریں» کاروائی فراہم کرتا ہے جو TalkBack کے کنٹیکسٹ مینیو میں ظاہر ہوگی۔ performAccessibilityAction طریقہ اس کاروائی کی درخواست کو ہینڈل کرتا ہے۔ ڈیلیگیٹ کے بغیر، TalkBack کسٹم View کو ایک سادہ غیر متعامل علاقہ سمجھے گا اور صارف اس کے ساتھ باتچیت نہیں کر سکے گا۔

TalkBack کے لیے رسائی کی ترتیب

مکمل TalkBack حمایت میں صرف contentDescription ہی نہیں بلکہ فوکس منیجمنٹ، متحرک اپڈیٹ کے لیے LiveRegion، سکرین ریڈر فعال ہونے پر ٹیسٹنگ اور مختلف Android ورزنز کے لیے موافقت شامل ہے۔

متحرک مواد کے لیے LiveRegion

جب سکرین کا مواد صارف کے واضح عمل کے بغیر بدلتا ہے (مثال کے طور پر، ایک نئے پیغام کی اطلاع ظاہر ہوتی ہے یا لائک کاؤنٹر اپڈیٹ ہوتا ہے)، TalkBack کو ایک اطلاع موصول ہونی چاہی۔ اس کے لیے، XML میں ایک View کے لیے android:accessibilityLiveRegion خوصیت یا کوڈ میں setAccessibilityLiveRegion() طریقہ استعمال کیا جاتا ہے۔ polite کی قیمت موجودہ آواز کے ختم ہونے کے بعد اعلان کا اضافہ کرتی ہے، جبکہ assertive اسے فورن روک دیتی ہے۔

kotlin
val statusText = TextView(this)
statusText.accessibilityLiveRegion =
    View.ACCESSIBILITY_LIVE_REGION_POLITE

// جب متن اپڈیٹ ہوتا ہے، TalkBack خود بخود
// تبدیلی کا اعلان کرے گا
statusText.text = "آنا کا نیا پیغام"

// ناہگار اطلاعات کے لیے — assertive
errorBanner.accessibilityLiveRegion =
    View.ACCESSIBILITY_LIVE_REGION_ASSERTIVE

LiveRegion iOS پر UIAccessibility.post کا Android مترادف ہے۔ زیادہ تر اپڈیٹ (نئے پیغامات، سٹیٹس اپڈیٹ) کے لیے polite استعمال کریں اور assertive صرف ناہگار غلتیوں (ناکام ادائگی، کنیکشن منصل) کے لیے استعمال کریں۔ assertive کا زیادہ استعمال منفی صارف تجربہ پیدا کرتا ہے — TalkBack مسلسل موجودہ آواز کو منصل کرتا رہے گا۔

گروپبندی اور رسائی فراہم کنندہ

پچیدہ سکرینز کے لیے جہاں متعدد Views ایک واحد منطقی اکائی بناتے ہیں، نویگیشن کو اووررائڈ کرنے کے لیے AccessibilityNodeProvider یا focusSearch استعمال کیا جاتا ہے۔ مثال کے طور پر، 42 سیلز (6 ہفتے × 7 دن) والا ایک کسٹم کیلنڈر صارف کو اگلے بلاک تک پہنچنے کے لیے تمام 42 آئٹمز کو سکرول کرنے پر مجبور نہیں کرنا چاہی۔ ڈیولپر سیلز کو منطقی اکائی میں گروپ کر سکتا ہے: مہینہ → ہفتہ → دن۔

Jetpack Compose کے لیے، .semantics {} ماڈیفائر ایک ممانی API فراہم کرتا ہے: contentDescription، liveRegion، stateDescription، disabled اور customActions۔ Compose ذریع سیمانٹکس کو ایک میں ضم کرنے کے لیے mergeDescendants کی بھی حمایت کرتا ہے، جو ہر View کے لیے دستی accessibilityDelegate کی ترتیب کے بغیر عناصر گروپبندی کو آسان بناتا ہے۔

kotlin
Button(
    onClick = { sendMessage() },
    modifier = Modifier.semantics {
        contentDescription("پیغام بھیجیں")
        stateDescription("بھیجنے کے لیے تیار")
    }
) {
    Icon(Icons.Filled.Send, "بھیجیں")
}

TalkBack ٹیسٹنگ ایک فزیکل ڈیوائس یا ایمیولیٹر کے ساتھ سروس فعال ہونے پر کی جاتی ہے۔ سکرین بند ہونے پر (Screen Curtain) اہم صارف کے مناظر کا جائزہ لینے کی سفارش کی جاتی ہے — یہ مکمل طور پر بنا بصری رابطے کی نقل کرتا ہے۔ Android Accessibility Scanner بھی فراہم کرتا ہے — رسائی کے مسائل کو خود کار طور پر پچاننے کا ایک آلا جو contentDescription کے بغیر عناصر، بہت چھوٹے چہو کے نشانہ اور کم کنٹراسٹ کو نمایاں کرتا ہے۔

اکثر پوچے جانے والے سوالات

Android پر TalkBack کو کیسے فعال کیا جائے؟

ترتیبات → رسائی → TalkBack → فعال کریں۔ تیز فعالیت کے لیے، دونوں وولیوم کی چابیاں ایک ساتھ 3 سیکنڈ تک دبائیں۔ Google Assistant «TalkBack فعال کریں» کے صوتی حکم سے بھی TalkBack کو فعال کر سکتا ہے۔

TalkBack VoiceOver سے کیسے مختلف ہے؟

TalkBack Android کے لیے ایک سکرین ریڈر ہے، VoiceOver iOS کے لیے۔ TalkBack AccessibilityService اور پیلے فریم کے ساتھ رسائی کا فوکس استعمال کرتا ہے، جبکہ VoiceOver UIAccessibility اور روٹر استعمال کرتا ہے۔ اشارے اور مینیوز مختلف ہیں: TalkBack میں عالمی مینیو کے لیے L کی شکل کے سوائپ ہیں۔

میں اپنے ایپ کو TalkBack کے ساتھ هم آہنگ کیسے بناؤں؟

تمام ImageView اور کسٹم عناصر کے لیے contentDescription مقرر کریں۔ زینتی عناصر چھپانے کے لیے importantForAccessibility استعمال کریں۔ متحرک اپڈیٹ کے لیے accessibilityLiveRegion ترتیب دیں اور Accessibility Scanner سے تصدیق کریں۔ Compose میں، .semantics{} ماڈیفائر استعمال کریں۔

AccessibilityNodeInfo کیا ہے؟

یہ ایک آبجیکٹ ہے جو رسائی کے درخت میں انٹرفیس کے عنصر کی نمائندگی کرتا ہے۔ اس میں متن، قسم، حالت، مقام اور کاروائیوں کی فہرست ہوتی ہے۔ TalkBack نویگیشن کے لیے اس درخت کو گزرتا ہے۔ ڈیولپر AccessibilityDelegate یا XML خوصیات کے ذریعے اسے تبدیل کر سکتا ہے۔

TalkBack میرا بٹن آواز کیوں نہیں کرتا؟

importantForAccessibility چیک کریں — ہو سکتا ہے کہ یہ NO پر مقرر ہو۔ یقینی بنائیں کہ بغیر متن کے عناصر کے لیے contentDescription مقرر ہے۔ کسٹم View کے لیے، onInitializeAccessibilityNodeInfo کے ساتھ AccessibilityDelegate لاگو کریں۔ تشخیص کے لیے Accessibility Scanner استعمال کریں۔

خلاصہ

  • TalkBack اشارے کنٹرول کے ساتھ Android Accessibility Suite میں ایک بیلٹ-ان Android سکرین ریڈر ہے
  • رسائی کا فوکس ایک پیلے فریم کے ساتھ سکرین پر موجودہ آواز شدہ عنصر کو نشان دیتا ہے
  • AccessibilityService چہو کے واقعات کو روکتا ہے اور انہیں سکرین ریڈر اشاروں میں تبدیل کرتا ہے
  • اشارے میں چہو (آواز کرنا)، ڈبل ٹیپ (فعال کرنا) اور L کی شکل کے سوائپ (مینیو) شامل ہیں
  • ڈیولپمنٹ contentDescription، AccessibilityDelegate، LiveRegion اور Compose میں semantics کے ذریعے
  • متحرک اپڈیٹ کو تبدیلیں کے خودکار اعلان کے لیے android:accessibilityLiveRegion کی ضرورت ہے
  • ٹیسٹنگ Accessibility Scanner اور Screen Curtain کے ساتھ معیاری حمایت کے لیے ضروری ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں