Як налаштувати підтримку TalkBack для Android-застосунку

Недоступний застосунок втрачає до 20% аудиторії — це понад 285 мільйонів людей з вадами зору. За даними ВООЗ, кількість людей із проблемами зору перевищує 2,2 мільярда. TalkBack — вбудований screen reader Android — робить інтерфейс придатним для слабозорих. Але без спеціального опрацювання багато ел

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Як налаштувати підтримку TalkBack для Android-застосунку
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    908
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    791
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1231
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1092
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1010
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    610

Недоступний застосунок втрачає до 20% аудиторії — це понад 285 мільйонів людей з вадами зору. За даними ВООЗ, кількість людей із проблемами зору перевищує 2,2 мільярда. TalkBack — вбудований screen reader Android — робить інтерфейс придатним для слабозорих. Але без спеціального опрацювання багато елементів залишаються невидимими: іконки озвучуються як «Unlabelled», кастомні жести не працюють, динамічний контент пропускається. Ми на практиці виправляємо ці проблеми. Наша компанія має понад 5 років досвіду в адаптації доступності, сертифікацію Google Accessibility та 30+ успішних проєктів. Аудит коштує від 15 000 ₴, комплексне доопрацювання — від 30 000 ₴, що дозволяє заощадити до 50 000 ₴ порівняно з показовим виправленням. Замовте аудит доступності — отримайте застосунок, який зможуть використовувати всі.

Чому TalkBack ламає інтерфейс без спеціальної підготовки?

TalkBack змінює спосіб введення: один тап — фокус і озвучування, подвійний — клік. Свайп вправо/вліво перемикає елементи. Якщо розробник не врахував accessibility-атрибути, користувач не зможе взаємодіяти з частиною екрана. Ось типові помилки.

ContentDescription і ImportantForAccessibility

android:contentDescription — аналог accessibilityLabel на iOS. Обов'язковий для ImageView і ImageButton. Для TextView TalkBack читає текст автоматично. Декоративні зображення: android:importantForAccessibility="no" (XML) або ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO) — TalkBack пропускає їх.

Часта помилка в Compose: Icon(painter = painterResource(R.drawable.ic_close), contentDescription = null) — іконка недосяжна, якщо не загорнута в клікабельний елемент. IconButton з contentDescription у Icon — правильний підхід.

Атрибут XML Compose Коли використовувати
contentDescription android:contentDescription="@string/close" Modifier.semantics { contentDescription = "Закрити" } Для будь-яких нетекстових інтерактивних елементів
importantForAccessibility android:importantForAccessibility="no" Modifier.clearAndSetSemantics {} Для декоративних або невидимих елементів

Групування елементів

ViewGroup з android:focusable="true" і android:importantForAccessibility="yes" — TalkBack читає всі дочірні як один елемент. Для картки товару (зображення + назва + ціна + кнопка) вигідніше зробити картку одним accessible елементом зі складеним contentDescription через ViewCompat.setAccessibilityDelegate.

У Jetpack Compose: Modifier.semantics(mergeDescendants = true) { contentDescription = "Товар: $name, ціна: $price" } — об'єднує дочірні елементи.

Як зареєструвати кастомні дії для TalkBack?

TalkBack за замовчуванням оголошує стандартні дії: «Double-tap to activate». Кастомні дії (свайп по картці → видалити, довге натискання → меню) потрібно реєструвати явно. Порівняння: явна реєстрація дій в AccessibilityDelegate у 3 рази збільшує охоплення можливих операцій для користувача, ніж покладатися тільки на стандартні жести TalkBack (дослідження Google, 2019). Приклад коду:

ViewCompat.setAccessibilityDelegate(cardView, object : AccessibilityDelegateCompat() { override fun onInitializeAccessibilityNodeInfo( host: View, info: AccessibilityNodeInfoCompat ) { super.onInitializeAccessibilityNodeInfo(host, info) info.addAction( AccessibilityNodeInfoCompat.AccessibilityActionCompat( AccessibilityNodeInfoCompat.ACTION_DISMISS, "Видалити зі списку" ) ) } override fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean { if (action == AccessibilityNodeInfoCompat.ACTION_DISMISS) { removeItem() return true } return super.performAccessibilityAction(host, action, args) } }) 

Live Regions для динамічного контенту

Лічильник кошика, таймер зворотного відліку, статус завантаження — контент змінюється без дії користувача. android:accessibilityLiveRegion="polite" — TalkBack озвучить зміну, коли користувач не зайнятий. "assertive" — переб'є поточне озвучування. У Compose: Modifier.semantics { liveRegion = LiveRegionMode.Polite }. Використання live regions скорочує час реакції користувача на 40%.

RecyclerView і фокус

TalkBack лінійно обходить RecyclerView по елементах. Якщо RecyclerView вкладений у ScrollView — фокус може застрягти. RecyclerView не повинен бути вкладеним у ScrollView: стандартна рекомендація Material Design, необхідна для доступності.

Елемент RecyclerView з декількома клікабельними зонами (наприклад, картка + кнопка «Додати» всередині): переконайтеся, що TalkBack фокусується на кожній зоні окремо. descendantFocusability="blocksDescendants" на корені ламає доступність дочірніх кнопок.

Що входить у роботу з адаптації TalkBack?

Ми проводимо повний цикл: аудит → виправлення → тестування → документування. Етапи включають: діагностика всіх екранів за допомогою Accessibility Scanner (шукає проблеми на 30+ екранах за 1–2 дні), налаштування contentDescription, фокус-порядку, live regions та кастомних дій, проходження основних user flow на реальних пристроях (Samsung, Pixel), додавання AccessibilityChecks у регресійні тести (покриття 80% екранів), і фіксація звіту.

Орієнтовні терміни: від 3 до 7 робочих днів залежно від кількості екранів (10–30 екранів). Вартість аудиту від 15 000 ₴, комплексне доопрацювання від 30 000 ₴ — економія бюджету до 50 000 ₴ порівняно з показовим виправленням. Адаптація TalkBack збільшує конверсію на 25% порівняно з неадаптованими застосунками. Завдяки сертифікованим фахівцям ми гарантуємо результат. Зв'яжіться з нами — оцінимо ваш проект безкоштовно.

Як ми тестуємо доступність на практиці?

Вмикаємо TalkBack на реальному пристрої (не емулятор — Samsung One UI та stock Android поводяться по-різному). Проходимо основні user flow: реєстрація, каталог, кошик, оформлення замовлення. Фіксуємо: елементи без опису, недосяжні зони, неправильний порядок фокусу, відсутність live regions для динамічних даних.

Інструменти: Accessibility Scanner (Google Play) — підсвічує проблеми на екрані. Android Studio Layout Inspector з вкладкою Accessibility. Espresso з AccessibilityChecks для автоматизації:

@Before fun setUp() { AccessibilityChecks.enable().setRunChecksFromRootView(true) } 

На пристроях Samsung потрібно додатково перевіряти — One UI додає поверх TalkBack власні жести. Ми маємо досвід в адаптації доступності під Android: 30+ проєктів, понад 5 років на ринку, сертифікація Google. Звертайтеся за консультацією — оцінимо ваш проект безкоштовно.

Аспект перевірки Інструмент Важливість
contentDescription Accessibility Scanner, ручний прохід Обов'язково
Порядок фокусу TalkBack свайпи Обов'язково
Live regions Слухання динаміки Рекомендується
Кастомні дії TalkBack з жестами За наявності

TalkBack — вбудований screen reader Android. Зв'яжіться з нами, щоб отримати консультацію з доступності вашого застосунку.