TalkBack — bu nima, boshqaruv imo-ishoralari va Android-da sozlash

Muallif: IT Sectr Nashr etilgan: 2026-05-15 O'qish vaqti: 8 daq

TalkBack — Google tomonidan Android uchun ishlab chiqilgan, Android Accessibility Suite paketiga kiruvchi o‘rnatilgan ekran o‘qituvchisi (screen reader). U interfeys elementlarini ovozli talaffuz qiladi va imo-ishoralar yordamida qurilmani boshqarish imkonini beradi, ko‘zi ojiz va zaif ko‘ruvchi foydalanuvchilarga smartfon funktsiyalariga to‘liq kirishni ta’minlaydi. Google Accessibility Help (2025) ma’lumotiga ko‘ra, TalkBack aksariyat Android qurilmalarida oldindan o‘rnatilgan va turli ovozli dvigatellar bilan 30 dan ortiq tilni qo‘llab-quvvatlaydi.

Asosiy ma’lumotlar

  • TalkBack — imo-ishora boshqaruvi va ovozli qayta aloqa bilan Android uchun Google-ning o‘rnatilgan ekran o‘qituvchisi
  • Foydalanish imkoniyati fokusi TalkBack hozir talaffuz qilayotgan elementni sariq ramka bilan ajratib ko‘rsatadi
  • Imo-ishoralar teginish (talaffuz), ikki marta teginish (faollashtirish) va uch barmoq bilan surishni o‘z ichiga oladi
  • Dasturchilar foydalanish imkoniyatini contentDescription va AccessibilityNodeInfo orqali sozlaydi
  • TalkBack Google Assistant va Brayl displeylari bilan integratsiyalanadi

TalkBack nima?

TalkBack — Google tomonidan ishlab chiqilgan va Android Accessibility Suite tarkibiga kiruvchi Android uchun ekran o‘qituvchisi (screen reader). U ko‘rish qobiliyati buzilgan foydalanuvchilar uchun ovozli qayta aloqa va imo-ishora bilan boshqarishni ta’minlaydi. TalkBack smartfonlarda, planshetlarda, Smart TV va Wear OS-dagi taqiladigan qurilmalarda ishlashi mumkin.

TalkBack birinchi marta 2009 yilda Android 1.6 (Donut) da paydo bo‘ldi. Dastlab bu alohida loyiha edi, ammo Android 4.0 (Ice Cream Sandwich) chiqishi bilan u Switch Access va Select to Speak-ni ham o‘z ichiga olgan Android Accessibility Suite ning bir qismiga aylandi. Android 10 dan boshlab, TalkBack Google Play xizmatlariga ega barcha qurilmalarda, jumladan Samsung, Xiaomi, Oppo va boshqa hamkor qurilmalarida oldindan o‘rnatilgan.

TalkBack turli ovozli dvigatellar bilan 30 dan ortiq tilni qo‘llab-quvvatlaydi: Google Text-to-Speech, Samsung TTS va uchinchi tomon dvigatellari. O‘zbek tili uchun tabiiy talaffuz va to‘g‘ri intonatsiyani ta’minlaydigan Google TTS ovozli dvigateli ishlatiladi. Foydalanuvchi nutq tezligini, ohang balandligini sozlashi va TalkBack sozlamalarida ovoz jinsini tanlashi mumkin.

TalkBack qanday ishlaydi?

TalkBack foydalanish imkoniyati xizmati (AccessibilityService) — interfeys holati haqida ma’lumot olish va u bilan dasturiy ravishda o‘zaro ta’sir qilish imkonini beruvchi Android tizim mexanizmi asosida ishlaydi. TalkBack yoqilganda, u barcha teginish hodisalarini ushlaydi va ularni ekran o‘qituvchisining maxsus imo-ishoralariga aylantiradi.

Foydalanish imkoniyati fokusi

TalkBack ishining asosiy elementi — foydalanish imkoniyati fokusi (accessibility focus). Matn maydonining ajratilishi sifatida ko‘rinadigan standart kirish fokusidan farqli o‘laroq, foydalanish imkoniyati fokusi element atrofida sariq ramka sifatida ko‘rsatiladi va TalkBacksiz foydalanuvchi uchun ko‘rinmaydi. Foydalanish imkoniyati fokusi elementga tushganda, TalkBack uning mazmuni, turi va holatini talaffuz qiladi.

Foydalanuvchi foydalanish imkoniyati fokusini imo-ishoralar bilan harakatlantiradi: o‘ngga surish — keyingi element, chapga surish — oldingi element. Elementlar AccessibilityNodeInfo — Android har bir ekran uchun quradigan foydalanish imkoniyati daraxti tomonidan belgilangan tartibda aylanib chiqiladi. Dasturchi accessibilityTraversalBefore va accessibilityTraversalAfter xususiyatlari orqali tartibga ta’sir qilishi mumkin, bu ayniqsa maxsus joylashuvli murakkab ekranlar uchun muhimdir.

AccessibilityNodeInfo va foydalanish imkoniyati daraxti

Ekrandagi har bir View foydalanish imkoniyati daraxtidagi tugun — AccessibilityNodeInfo obyekti bilan ifodalanadi. Bu obyekt tarkibiga: element matni (contentDescription yoki view matni), element turi (tugma, belgilash katagi, kiritish maydoni), holati (yoqilgan/o‘chirilgan/tanlangan), ekrandagi joylashuvi va mavjud harakatlar ro‘yxati kiradi. TalkBack bu daraxtni aylanib chiqadi va har bir tugunni aylanish tartibida talaffuz qiladi.

Agar View matn mazmuniga ega bo‘lmasa (masalan, tavsifsiz ImageView), u TalkBack uchun ko‘rinmas bo‘ladi — foydalanuvchi uning mavjudligidan xabardor bo‘lmaydi. Bu muammoni hal qilish uchun dasturchi contentDescription — TalkBack bo‘shliq o‘rniga talaffuz qiladigan matn tavsifini o‘rnatadi. Android shuningdek o‘zgaruvchan holatga ega elementlar uchun stateDescription (tanlangan/tanlanmagan) va maslahatli kiritish maydonlari uchun hintText-ni qo‘llab-quvvatlaydi.

TalkBack boshqaruv imo-ishoralari

TalkBack standart Android imo-ishoralarini ekran o‘qituvchisining maxsus imo-ishoralariga aylantiradi. Ko‘pchilik operatsiyalar bir yoki ikki barmoq bilan bajariladi, uch barmoqli imo-ishoralar esa global harakatlar uchun ajratilgan.

HarakatImo-ishoraNatija
Elementni talaffuz qil1 barmoq bilan teginishElement nomi va turini aytadi
FaollashtirIkki marta teginishTugmani bosish yoki o‘tish
KeyingiO‘ngga surishKeyingi element
OldingiChapga surishOldingi element
Aylantirish2 barmoq surishRo‘yxatni aylantirish
TalkBack menyusiYuqori-chapga surishGlobal sozlamalar menyusi

„Yuqori-chapga surish“ imo-ishorasi (L shaklidagi surish) TalkBack global menyusini ochadi, bu erda foydalanuvchi nutq tezligini o‘zgartirishi, ekran pardasini yoqishi, o‘quv qo‘llanmani ishga tushirishi yoki sozlamalarni ochishi mumkin. TalkBack shuningdek elementlar uchun kontekst menyusini qo‘llab-quvvatlaydi: yuqori-o‘ngga surish joriy element uchun mavjud harakatlar ro‘yxatini ochadi (masalan, matn maydoni uchun „nusxa olish“, „qo‘yish“ yoki chat xabari uchun „o‘chirish“).

TalkBack mobil ishlanmada

Android foydalanish imkoniyatini sozlash uchun boy API taqdim etadi. Asosiy daraja contentDescription dir, ammo TalkBack ni sifatli qo‘llab-quvvatlash uchun AccessibilityNodeInfo, AccessibilityDelegate va LiveRegion bilan ishlash talab qilinadi.

ContentDescription va muhim atributlar

android:contentDescription atributi TalkBack uchun elementning matn tavsifini o‘rnatadi. ImageView, ImageButton, FloatingActionButton va matn mazmuniga ega bo‘lmagan har qanday maxsus View uchun majburiydir. Standart elementlar (TextView, Button) uchun contentDescription ixtiyoriy — TalkBack matnni avtomatik o‘qiydi.

kotlin
val avatarView = ImageView(this)
avatarView.contentDescription = "Foydalanuvchi avatari"
avatarView.importantForAccessibility =
    IMPORTANT_FOR_ACCESSIBILITY_YES

val playButton = ImageButton(this)
playButton.contentDescription = "Videoni ijro etish"

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

importantForAccessibility bayrog‘i elementning TalkBack uchun ko‘rinishini boshqaradi. NO qiymati elementni foydalanish imkoniyati daraxtidan yashiradi — dekorativ tasvirlar, ko‘rsatkichlar va maxsus fonlar uchun foydali. YES qiymati elementni matn bo‘lmasa ham, aylanishga majburiy kiritadi. NO dan suiiste’mol qilmaslik muhim: semantik muhim elementlarni yashirish ilovani TalkBack foydalanuvchilari uchun foydalanish imkonsiz qiladi.

AccessibilityDelegate va maxsus harakatlar

Standart bosish ishlovchilaridan foydalanmaydigan maxsus Viewlar uchun foydalanish imkoniyati hodisalarini qayta ishlovchi AccessibilityDelegate sinfini bekor qilish kerak. Delegat maxsus tavsif, element turi va TalkBack kontekst menyusi orqali foydalanuvchiga taklif qiladigan mavjud harakatlar ro‘yxatini o‘rnatish imkonini beradi.

kotlin
class CustomButtonDelegate : View.AccessibilityDelegate() {
    override fun onInitializeAccessibilityNodeInfo(
        host: View, info: AccessibilityNodeInfoCompat
    ) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        info.text = "Maxsus tugma"
        info.className = Button::class.java.name
        info.addAction(
            AccessibilityNodeInfoCompat.AccessibilityActionCompat(
                R.id.custom_action, "Ulashish"
            )
        )
    }

    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)
    }
}

Misolda delegat TalkBack-ga elementning tugma ekanligini bildiradi (className = Button) va TalkBack kontekst menyusida paydo bo‘ladigan „Ulashish“ maxsus harakatini taqdim etadi. performAccessibilityAction metodi bu harakatning chaqirilishini qayta ishlaydi. Delegatsiz TalkBack maxsus View-ni interaktivliksiz oddiy maydon sifatida qabul qilgan bo‘lardi va foydalanuvchi u bilan o‘zaro ta’sir qila olmas edi.

TalkBack uchun foydalanish imkoniyatini sozlash

TalkBack ni to‘liq qo‘llab-quvvatlash nafaqat contentDescription, balki fokusni boshqarish, dinamik yangilanishlar uchun LiveRegion, yoqilgan ekran o‘qituvchisi bilan sinov va turli Android versiyalariga moslashishni o‘z ichiga oladi.

Dinamik mazmun uchun LiveRegion

Ekran mazmuni foydalanuvchining aniq harakatisiz o‘zgarganda (masalan, yangi xabar bildirishnomasi paydo bo‘lganda yoki layk hisoblagichi yangilanganda), TalkBack bildirishnoma olishi kerak. Buning uchun XML-da View uchun android:accessibilityLiveRegion atributi yoki kodda setAccessibilityLiveRegion() metodi ishlatiladi. polite qiymati joriy talaffuz tugaganidan keyin e’lon qo‘shadi, assertive qiymati esa darhol uni to‘xtatadi.

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

// Matn yangilanganda TalkBack avtomatik
// o‘zgarishni e’lon qiladi
statusText.text = "Annadan yangi xabar"

// Muhim bildirishnomalar uchun — assertive
errorBanner.accessibilityLiveRegion =
    View.ACCESSIBILITY_LIVE_REGION_ASSERTIVE

LiveRegion — iOS-dagi UIAccessibility.post ning analogidir. Aksariyat yangilanishlar uchun polite (yangi xabarlar, status yangilanishi) va faqat muhim xatolar uchun assertive (muvaffaqiyatsiz to‘lov, ulanishni yo‘qotish) dan foydalaning. Assertive dan haddan tashqari ko‘p foydalanish salbiy foydalanuvchi tajribasini yaratadi — TalkBack doimiy ravishda joriy talaffuzni toʻxtatadi.

Guruhlash va foydalanish imkoniyati provayderlari

Bir nechta View bir mantiqiy birlikni tashkil etadigan murakkab ekranlar uchun navigatsiyani bekor qilish uchun AccessibilityNodeProvider yoki focusSearch ishlatiladi. Masalan, 42 katakchadan iborat maxsus taqvim (6 hafta × 7 kun) foydalanuvchini keyingi blokga o‘tish uchun barcha 42 elementni aylantirishga majbur qilmasligi kerak. Dasturchi katakchalarni mantiqiy guruhlarga birlashtirishi mumkin: oy → hafta → kun.

Jetpack Compose uchun o‘xshash API taqdim etuvchi .semantics {} modifikatori ishlatiladi: contentDescription, liveRegion, stateDescription, disabled va customActions. Compose shuningdek bola semantikalarini bittaga birlashtirish uchun mergeDescendants-ni qo‘llab-quvvatlaydi, bu har bir View uchun qo‘lda accessibilityDelegate sozlashisiz elementlarni guruhlashni soddalashtiradi.

kotlin
Button(
    onClick = { sendMessage() },
    modifier = Modifier.semantics {
        contentDescription("Xabar yuborish")
        stateDescription("Yuborishga tayyor")
    }
) {
    Icon(Icons.Filled.Send, "Yuborish")
}

TalkBack sinovi jismoniy qurilma yoki xizmat yoqilgan emulyator orqali amalga oshiriladi. Ekran o‘chirilgan (Screen Curtain) holda asosiy foydalanuvchi stsenariylaridan o‘tish tavsiya etiladi — bu vizual qayta aloqaning to‘liq yo‘qligini simulyatsiya qiladi. Android shuningdek foydalanish imkoniyati muammolarini avtomatik aniqlash uchun Accessibility Scanner vositasini taqdim etadi, u contentDescription-siz elementlarni, juda kichik teginish maydonlarini va past kontrastni ajratib ko‘rsatadi.

Ko‘p beriladigan savollar

Android-da TalkBack-ni qanday yoqish mumkin?

Sozlamalar → Foydalanish imkoniyati → TalkBack → Yoqish. Tez yoqish uchun ikkala ovoz balandligi tugmasini bir vaqtda 3 soniya bosish ishlatiladi. Google Assistant ham „TalkBack-ni yoq“ ovozli buyrug‘i bilan TalkBack-ni faollashtirishi mumkin.

TalkBack VoiceOver-dan qanday farq qiladi?

TalkBack — Android uchun ekran o‘qituvchisi, VoiceOver — iOS uchun. TalkBack AccessibilityService va sariq ramkali foydalanish imkoniyati fokusidan foydalanadi, VoiceOver esa UIAccessibility va rotordan. Imo-ishoralar va menyular farq qiladi: TalkBack global menyu uchun L shaklidagi surishlarga ega.

Ilovani TalkBack bilan qanday moslashtirish mumkin?

Barcha ImageView va maxsus elementlar uchun contentDescription o‘rnating. Dekorativ elementlarni yashirish uchun importantForAccessibility dan foydalaning. Dinamik yangilanishlar uchun accessibilityLiveRegion sozlang va Accessibility Scanner orqali tekshiring. Compose-da .semantics{} modifikatoridan foydalaning.

AccessibilityNodeInfo nima?

Bu foydalanish imkoniyati daraxtidagi interfeys elementini ifodalovchi obyekt. Matn, tur, holat, joylashuv va harakatlar ro‘yxatini o‘z ichiga oladi. TalkBack navigatsiya uchun bu daraxtni aylanib chiqadi. Dasturchi uni AccessibilityDelegate yoki XML-dagi atributlar orqali o‘zgartirishi mumkin.

Nega TalkBack mening tugmamni talaffuz qilmayapti?

importantForAccessibility ni tekshiring — ehtimol NO ga o‘rnatilgan. Matnsiz elementlar uchun contentDescription o‘rnatilganligiga ishonch hosil qiling. Maxsus Viewlar uchun onInitializeAccessibilityNodeInfo bilan AccessibilityDelegate amalga oshiring. Diagnostika uchun Accessibility Scanner dan foydalaning.

Xulosa

  • TalkBack — imo-ishora boshqaruvi bilan Android Accessibility Suite-dagi o‘rnatilgan Android ekran o‘qituvchisi
  • Foydalanish imkoniyati fokusi sariq ramka bilan ekrandagi joriy talaffuz qilinayotgan elementni belgilaydi
  • AccessibilityService teginish hodisalarini ushlaydi va ularni ekran o‘qituvchisi imo-ishoralariga aylantiradi
  • TalkBack imo-ishoralari teginish (talaffuz), ikki marta teginish (faollashtirish) va L shaklidagi surishlarni (menyu) o‘z ichiga oladi
  • Ishlanma contentDescription, AccessibilityDelegate, LiveRegion va Compose-da semantics orqali
  • Dinamik yangilanishlar o‘zgarishlarni avtomatik e’lon qilish uchun android:accessibilityLiveRegion talab qiladi
  • Sinov Accessibility Scanner va Screen Curtain bilan sifatli qo‘llab-quvvatlash uchun majburiydir

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing