TalkBack — qu’est-ce que c’est, gestes de contrôle et configuration sur Android

Auteur : IT Sectr Publié le : 2026-05-15 Temps de lecture : 8 min

TalkBack est un lecteur d’écran intégré de Google pour Android, faisant partie du package Android Accessibility Suite. Il énonce les éléments de l’interface et permet de contrôler l’appareil à l’aide de gestes, offrant aux utilisateurs aveugles et malvoyants un accès complet aux fonctionnalités du smartphone. Selon Google Accessibility Help (2025), TalkBack est préinstallé sur la plupart des appareils Android et prend en charge plus de 30 langues avec différents moteurs vocaux.

Points clés

  • TalkBack est un lecteur d’écran intégré de Google pour Android avec contrôle gestuel et retour vocal
  • Le focus d’accessibilité met en évidence l’élément que TalkBack énonce actuellement avec un cadre jaune
  • Les gestes incluent le toucher (énonciation), le double toucher (activation) et le balayage à trois doigts
  • Les développeurs configurent l’accessibilité via contentDescription et AccessibilityNodeInfo
  • TalkBack s’intègre avec Google Assistant et les afficheurs braille

Qu’est-ce que TalkBack ?

TalkBack est un lecteur d’écran pour Android, développé par Google et faisant partie d’Android Accessibility Suite. Il fournit un retour vocal et un contrôle gestuel aux utilisateurs ayant une déficience visuelle. TalkBack fonctionne sur les smartphones, tablettes, Smart TV et appareils portables sous Wear OS.

TalkBack est apparu pour la première fois dans Android 1.6 (Donut) en 2009. Au départ, il s’agissait d’un projet séparé, mais avec la sortie d’Android 4.0 (Ice Cream Sandwich), il est devenu partie intégrante d’Android Accessibility Suite — un ensemble de services qui inclut également Switch Access et Select to Speak. À partir d’Android 10, TalkBack est préinstallé sur tous les appareils avec les services Google Play, y compris les appareils partenaires — Samsung, Xiaomi, Oppo et autres.

TalkBack prend en charge plus de 30 langues avec différents moteurs vocaux : Google Text-to-Speech, Samsung TTS et des moteurs tiers. Pour le français, Google TTS fournit une prononciation naturelle et une intonation correcte. L’utilisateur peut régler la vitesse de parole, la hauteur tonale et sélectionner le genre de la voix dans les paramètres de TalkBack.

Comment fonctionne TalkBack ?

TalkBack fonctionne sur la base d’AccessibilityService — un mécanisme système dans Android qui permet aux applications de recevoir des informations sur l’état de l’interface et d’interagir avec elle par programmation. Lorsque TalkBack est activé, il intercepte tous les événements tactiles et les transforme en gestes spéciaux de lecteur d’écran.

Focus d’accessibilité

L’élément clé du fonctionnement de TalkBack est le focus d’accessibilité. Contrairement au focus de saisie standard, qui apparaît comme un surlignement de champ de texte, le focus d’accessibilité s’affiche comme un cadre jaune autour de l’élément et est invisible pour les utilisateurs sans TalkBack. Lorsque le focus d’accessibilité atteint un élément, TalkBack énonce son contenu, son type et son état.

L’utilisateur déplace le focus d’accessibilité à l’aide de gestes : balayer vers la droite — élément suivant, balayer vers la gauche — élément précédent. Les éléments sont parcourus dans l’ordre défini par AccessibilityNodeInfo — l’arbre d’accessibilité qu’Android construit pour chaque écran. Le développeur peut influencer l’ordre via les propriétés accessibilityTraversalBefore et accessibilityTraversalAfter, ce qui est particulièrement important pour les écrans complexes avec des mises en page personnalisées.

AccessibilityNodeInfo et l’arbre d’accessibilité

Chaque View à l’écran est représentée par un nœud dans l’arbre d’accessibilité — un objet AccessibilityNodeInfo. Cet objet contient : le texte de l’élément (contentDescription ou texte de la vue), le type d’élément (bouton, case à cocher, champ de saisie), l’état (activé/désactivé/sélectionné), la position à l’écran et une liste d’actions disponibles. TalkBack parcourt cet arbre et énonce chaque nœud dans l’ordre de parcours.

Si une View n’a pas de contenu textuel (par exemple, une ImageView sans description), elle devient invisible pour TalkBack — l’utilisateur ne connaîtra pas son existence. Pour résoudre ce problème, le développeur définit contentDescription — une description textuelle que TalkBack prononce au lieu du silence. Android prend également en charge stateDescription pour les éléments avec un état modifiable (coché/décoché) et hintText pour les champs de saisie avec des indices.

Gestes de contrôle de TalkBack

TalkBack transforme les gestes Android standard en gestes spéciaux de lecteur d’écran. La plupart des opérations sont effectuées avec un ou deux doigts, tandis que les gestes à trois doigts sont réservés aux actions globales.

ActionGesteRésultat
Énoncer l’élémentToucher simplePrononce le nom et le type de l’élément
ActiverDouble toucherAppui sur bouton ou navigation
SuivantBalayer à droiteÉlément suivant
PrécédentBalayer à gaucheÉlément précédent
DéfilerBalayer 2 doigtsDéfilement de liste
Menu TalkBackBalayer haut-gaucheMenu global des paramètres

Le geste balayer haut-gauche (balayage en forme de L) ouvre le menu global de TalkBack, où l’utilisateur peut modifier la vitesse de parole, activer le rideau d’écran, lancer un tutoriel ou ouvrir les paramètres. TalkBack prend également en charge un menu contextuel pour les éléments : balayer haut-droit ouvre une liste des actions disponibles pour l’élément actuel (par exemple, « Copier », « Coller » pour un champ de texte ou « Supprimer » pour un message de chat).

TalkBack dans le développement mobile

Android fournit une API riche pour la configuration de l’accessibilité. Le niveau de base est contentDescription, mais pour un support de qualité de TalkBack, il est nécessaire de travailler avec AccessibilityNodeInfo, AccessibilityDelegate et LiveRegion.

ContentDescription et attributs importants

L’attribut android:contentDescription définit la description textuelle de l’élément pour TalkBack. Il est obligatoire pour ImageView, ImageButton, FloatingActionButton et toute View personnalisée sans contenu textuel. Pour les éléments standard (TextView, Button), contentDescription est facultatif — TalkBack lira le texte automatiquement.

kotlin
val avatarView = ImageView(this)
avatarView.contentDescription = "Avatar de l’utilisateur"
avatarView.importantForAccessibility =
    IMPORTANT_FOR_ACCESSIBILITY_YES

val playButton = ImageButton(this)
playButton.contentDescription = "Lire la vidéo"

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

Le drapeau importantForAccessibility contrôle la visibilité de l’élément pour TalkBack. La valeur NO masque l’élément de l’arbre d’accessibilité — utile pour les images décoratives, les indicateurs et les arrière-plans personnalisés. La valeur YES inclut forcément l’élément dans le parcours même s’il n’a pas de texte. Il est important de ne pas abuser de NO : masquer des éléments sémantiquement importants rend l’application inaccessible pour les utilisateurs de TalkBack.

AccessibilityDelegate et actions personnalisées

Pour les Views personnalisées qui n’utilisent pas de gestionnaires de clic standard, il est nécessaire de remplacer AccessibilityDelegate — une classe qui gère les événements d’accessibilité. Le délégué permet de définir des descriptions personnalisées, des types d’éléments et des listes d’actions disponibles que TalkBack proposera à l’utilisateur via le menu contextuel.

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

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

Dans l’exemple, le délégué indique à TalkBack que l’élément est un bouton (className = Button) et fournit une action personnalisée « Partager » qui apparaîtra dans le menu contextuel de TalkBack. La méthode performAccessibilityAction gère l’invocation de cette action. Sans délégué, TalkBack traiterait la View personnalisée comme une simple zone non interactive, et l’utilisateur ne pourrait pas interagir avec elle.

Configurer l’accessibilité pour TalkBack

Le support complet de TalkBack inclut non seulement contentDescription mais aussi la gestion du focus, LiveRegion pour les mises à jour dynamiques, les tests avec le lecteur d’écran activé et l’adaptation aux différentes versions d’Android.

LiveRegion pour le contenu dynamique

Lorsque le contenu de l’écran change sans action explicite de l’utilisateur (par exemple, une notification de nouveau message apparaît ou un compteur de likes est mis à jour), TalkBack doit recevoir une notification. Pour cela, l’attribut android:accessibilityLiveRegion est utilisé pour une View en XML ou la méthode setAccessibilityLiveRegion() dans le code. La valeur polite ajoute l’annonce après la fin de l’énonciation en cours, tandis que assertive l’interrompt immédiatement.

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

// Lorsque le texte est mis à jour, TalkBack annonce
// automatiquement le changement
statusText.text = "Nouveau message d’Anna"

// Pour les notifications critiques — assertive
errorBanner.accessibilityLiveRegion =
    View.ACCESSIBILITY_LIVE_REGION_ASSERTIVE

LiveRegion est l’équivalent Android de UIAccessibility.post sur iOS. Utilisez polite pour la plupart des mises à jour (nouveaux messages, mises à jour de statut) et assertive uniquement pour les erreurs critiques (échec de paiement, perte de connexion). L’utilisation excessive d’assertive crée une expérience utilisateur négative — TalkBack interrompra constamment l’énonciation en cours.

Regroupement et fournisseurs d’accessibilité

Pour les écrans complexes où plusieurs Views forment une seule unité logique, AccessibilityNodeProvider ou focusSearch est utilisé pour remplacer la navigation. Par exemple, un calendrier personnalisé avec 42 cellules (6 semaines × 7 jours) ne devrait pas forcer l’utilisateur à parcourir les 42 éléments pour atteindre le bloc suivant. Le développeur peut regrouper les cellules en unités logiques : mois → semaine → jour.

Pour Jetpack Compose, le modificateur .semantics {} fournit une API similaire : contentDescription, liveRegion, stateDescription, disabled et customActions. Compose prend également en charge mergeDescendants pour fusionner les sémantiques enfants en une seule, simplifiant le regroupement des éléments sans configuration manuelle d’accessibilityDelegate pour chaque View.

kotlin
Button(
    onClick = { sendMessage() },
    modifier = Modifier.semantics {
        contentDescription("Envoyer le message")
        stateDescription("Prêt à envoyer")
    }
) {
    Icon(Icons.Filled.Send, "Envoyer")
}

Le test de TalkBack s’effectue à l’aide d’un appareil physique ou d’un émulateur avec le service activé. Il est recommandé de parcourir les scénarios utilisateur principaux avec l’écrain éteint (Screen Curtain) — cela simule une absence totale de retour visuel. Android fournit également Accessibility Scanner — un outil de détection automatique des problèmes d’accessibilité, qui met en évidence les éléments sans contentDescription, les zones tactiles trop petites et le faible contraste.

Questions fréquentes

Comment activer TalkBack sur Android ?

Paramètres → Accessibilité → TalkBack → Activer. Pour une activation rapide, appuyez simultanément sur les deux touches de volume pendant 3 secondes. Google Assistant peut également activer TalkBack avec la commande vocale « Active TalkBack ».

Quelle est la différence entre TalkBack et VoiceOver ?

TalkBack est un lecteur d’écran pour Android, VoiceOver est pour iOS. TalkBack utilise AccessibilityService et le focus d’accessibilité avec un cadre jaune, tandis que VoiceOver utilise UIAccessibility et le rotor. Les gestes et les menus diffèrent : TalkBack a des balayages en forme de L pour le menu global.

Comment rendre mon application compatible avec TalkBack ?

Définissez contentDescription pour tous les ImageView et les éléments personnalisés. Utilisez importantForAccessibility pour masquer les éléments décoratifs. Configurez accessibilityLiveRegion pour les mises à jour dynamiques et vérifiez avec Accessibility Scanner. Dans Compose, utilisez le modificateur .semantics{}.

Qu’est-ce qu’AccessibilityNodeInfo ?

C’est un objet représentant un élément d’interface dans l’arbre d’accessibilité. Il contient du texte, un type, un état, une position et une liste d’actions. TalkBack parcourt cet arbre pour la navigation. Le développeur peut le modifier via AccessibilityDelegate ou des attributs XML.

Pourquoi TalkBack n’énonce-t-il pas mon bouton ?

Vérifiez importantForAccessibility — il pourrait être défini sur NO. Assurez-vous que contentDescription est défini pour les éléments sans texte. Pour les Views personnalisées, implémentez AccessibilityDelegate avec onInitializeAccessibilityNodeInfo. Utilisez Accessibility Scanner pour le diagnostic.

Résumé

  • TalkBack est un lecteur d’écran intégré Android dans Android Accessibility Suite avec contrôle gestuel
  • Le focus d’accessibilité avec un cadre jaune marque l’élément actuellement énoncé à l’écran
  • AccessibilityService intercepte les événements tactiles et les transforme en gestes de lecteur d’écran
  • Les gestes incluent le toucher (énonciation), le double toucher (activation) et les balayages en forme de L (menu)
  • Le développement via contentDescription, AccessibilityDelegate, LiveRegion et semantics dans Compose
  • Les mises à jour dynamiques nécessitent android:accessibilityLiveRegion pour l’annonce automatique des changements
  • Les tests avec Accessibility Scanner et Screen Curtain sont essentiels pour un support de qualité

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi