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

Застосунок, який не враховує потреби людей із порушеннями зору, втрачає значну частину аудиторії. Ми реалізуємо підтримку TalkBack та інших accessibility-інструментів Android, роблячи інтерфейс зрозумілим і зручним для всіх. Наша команда проведе аудит, налаштує contentDescription, accessibilityDelegate та Jetpack Compose, забезпечивши повний цикл робіт — від аналізу до впровадження та подальшої підтримки.

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

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

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

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

Недоступний застосунок втрачає до 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. Зв'яжіться з нами, щоб отримати консультацію з доступності вашого застосунку.

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1009
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    902
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1331
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1179
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1106
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    713