Axe DevTools Mobile Notes de version du 14 août 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

14 août 2025

Not for use with personal data

Versions des composants

iOS

  • iOS SDK (axeDevToolsXCUI v2.17.0)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.5.0)
  • iOS Appium Driver (axe-appium-xcuitest-driver v1.7.0) (Basé sur XCUITest v9.10.4)

Comment mettre à jour : iOS SDK, iOS Analyzer, iOS Appium Driver

Android

  • Android SDK (axe-devtools-android v7.1.0)
  • Android Analyzer (Axe Accessibility Analyzer v2.1.0)
  • Android Appium Driver (axe-appium-uiautomator2-driver v1.5.0) (Basé sur UiAutomator2 v4.2.8)

Comment mettre à jour SDK Android, Android Analyzer, Android Appium Driver

Corrections

iOS

  • Améliorations de la précision des règles suivantes : Nom des éléments imbriqués, Taille de la cible tactile et Espacement de la cible tactile

Android

  • Si MLKit ne parvient pas à s'exécuter, un élément "Besoin d'examen" sera signalé sur la vue racine de l'analyse pour indiquer que le reste des résultats pourrait être inexact. Trouvez ci-dessous les détails pour comment vous pouvez importer MLKit manuellement, si cela se produit.
  • Améliorations de la précision de la règle Nom de la vue active

Mises à jour

Compatibilité avec les niveaux d'API Android

  • L'application Mobile Analyzer prend désormais en charge le niveau d'API 36

Problèmes connus

Si vous rencontrez un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous pourrons alors vous informer une fois le problème résolu ou vous proposer une solution si aucune n'est mentionnée.

important
  • Axe DevTools Mobile permet les tests automatisés sur les applications iOS natives, Android natives et React Native. Veuillez contacter votre représentant Deque pour des solutions de test d'accessibilité sur votre technologie.
  • Bien que vous puissiez obtenir certains résultats à partir de vues web ou de PDF rendus, nous recommandons fortement d'utiliser Axe DevTools for Web ou Axe Monitor pour des tests d'accessibilité web plus complets.

iOS

Color Contrast rule does not run when text and background colors are the same

Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.

Impossible d'exécuter des analyses sur des appareils physiques avec iOS Analyzer 1.4.7

Un paramètre de configuration dans iOS Analyzer 1.4.7 empêche l'exécution des analyses, retournant le message "Test échoué". Pour exécuter des analyses sur un appareil physique, mettez à jour vers le dernier projet iOS Analyzer.

Erreur dans le projet d'analyse et test par ID de bundle dans la version 2.8.1

La fonctionnalité de test d'une application par identificateur de bundle a été rompue dans la version 2.8.1, ce qui a entraîné une erreur intitulée "No target application path specified via test configuration: ...". Mettez à jour vers la version 2.8.2 ou la dernière version pour résoudre l'erreur. Mettez à jour vers la dernière version dans le projet iOS Analyzer.

Erreur "Impossible de sérialiser AxeResult" dans le projet d'analyse v1.2.0 et SDK v2.12.3

Analyser certaines applications avec cette version de l'analyseur et du SDK entraînait une "Could not Serialize AxeResult" erreur. Mettez à jour vers la dernière version pour résoudre l'erreur. Mettez à jour vers le dernier projet iOS Analyzer.Mettez à jour vers le dernier iOS SDK.

Faux positif : LabelInName et LabelAtFront dans les applications SwiftUI et multiplateformes

Certaines écrans peuvent signaler des faux positifs avec LabelInName et LabelAtFront en raison d'une propriété associatedText incorrecte trouvée (#1622)

La règle Supports Dynamic Type ne fonctionne pas avec le simulateur iOS 15 Pro

Un problème affecte le simulateur iPhone 15 Pro, empêchant la règle Supports Dynamic Type de fonctionner. Si vous avez activé la règle Supports Dynamic Type, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.

Règles contre les contrôles imbriqués

En examinant une amélioration pour nos règles, nous avons découvert que dans XCTest, les contrôles imbriqués ne sont pas renvoyés dans l'arbre d'accessibilité. Un bug a été signalé à Apple. (#1110)

La règle du nom de ImageView nécessite que les résultats des applications UIKit soient révisés

Dans les applications UIKit, une image sans un accessibilityLabel n'est pas focalisable avec la technologie d'assistance par défaut.
Les propriétés que nous utilisons pour vérifier la focalisation d'Apple peuvent être inexactes lorsqu'un accessibilityIdentifier est défini sur l'image. En raison de ce comportement inattendu, les résultats pour les problèmes de nom d'ImageView dans les applications UIKit seront signalés comme nécessitant une révision. Un rapport de bug a été envoyé à Apple. (#1633)

Faux positif : Dans la vue de défilement, Label In Name, Label at Front, et v2.11.0 Image View Name & ActiveControlName

Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure que les correctifs seront publiés.

In Scroll View
Peut signaler des problèmes pour le texte dans des éléments se comportant comme des bannières. Pour rendre ces éléments disponibles à ceux qui nécessitent un texte plus grand, utilisez UILargeContentViewer. (#622)

v2.11.0 Image View Name & Active Control Name
Si une UIImageView a un accessibilityIdentifier défini mais n'est pas focalisable par VoiceOver, et qu'elle a des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur l'UIImageView. Supprimer le accessibilityIdentifier résout le problème. Un bug a été signalé à Apple. (#1633)

Label In Name and Label At Front
Ces deux règles recherchent l'étiquette visible d'un contrôle parmi les éléments voisins pour aider à déterminer le statut de la règle. Dans certaines hiérarchies de vues, le texte voisin incorrect peut être détecté, provoquant l'échec de ces règles. (#1622)

Android

La règle de contraste des couleurs ne s'exécute pas lorsque les couleurs du texte et de l'arrière-plan sont identiques

Notre règle de contraste des couleurs dépend de l'apprentissage automatique pour détecter le texte, ce qui garantit que le texte scanné est visible pour les utilisateurs de votre application. Dans les cas où le texte contenu dans une vue est de la même couleur que l'arrière-plan, notre algorithme d'apprentissage automatique ne peut pas détecter la présence de texte, donc la règle de contraste des couleurs ne s'exécute pas sur cette vue.

EditTextName sur Android 7 (SDK 24-25)

Les applications écrites en XML qui utilisent la fonctionnalité de texte d'indication peuvent voir des faux positifs avec la règle EditTextName . Le texte d'indication n'a été introduit qu'à partir d'Android 8 (SDK 26). L'utilisation de cet élément dans votre application XML assignera le texte d'indication à la valeur du champ de saisie de texte. Les versions plus récentes d'Android sont mieux équipées pour rendre cette expérience accessible.

Pour surmonter ce problème, notre première recommandation est de faire vos tests sur des versions plus récentes d'Android. Si l'accessibilité de l'application sur les anciennes versions d'Android est importante, vous pouvez envisager d'éviter l'utilisation de la fonctionnalité hintText , car elle n'est pas officiellement prise en charge.

Vues cachées d'Android renvoyant des résultats

Vous pourriez voir des résultats pour les vues qui sont cachées derrière d'autres vues à l'écran. Ces vues cachées ne sont pas accessibles à la technologie d'assistance, mais Axe DevTools Mobile les signale toujours comme problèmes.

Nous travaillons sur un correctif pour ce problème complexe. En attendant, si TalkBack ne peut pas atteindre ces vues, vous pouvez ignorer les problèmes correspondants. Ils ne nécessitent pas de correction pour garantir l'accessibilité.

Erreur lors de l'exécution de la détection de texte ML Kit

La détection de texte ML Kit est requise dans de nombreuses règles d'Axe DevTools Mobile pour garantir l'exactitude des résultats. La bibliothèque ML Kit devrait être importée automatiquement lors de la référence à Axe DevTools Mobile dans vos tests automatisés Espresso ou UIAutomator. Cependant, dans certains cas, l'importation automatique ne se produit pas et vous verrez l'erreur suivante dans le logcat :

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Pour résoudre ce problème, vous devez importer manuellement la bibliothèque ML Kit dans votre projet. Dans le fichier de votre application, ajoutez ce qui suit sous dépendances : build.gradle

implementation 'com.google.mlkit:text-recognition:16.0.1'
Espacement des cibles tactiles et Jetpack Compose

La règle d'espacement des cibles tactiles ne s'exécute actuellement sur aucun composant curseur écrit en Jetpack Compose. Aucune action ne peut être entreprise pour le moment. Cependant, un correctif est à venir bientôt !

Erreur lors de l'enregistrement local des résultats sur API 30

Sur l'API Android 30, un des emplacements où nous tentons d'enregistrer les résultats localement a une erreur de permissions. Le résultat sera toujours enregistré en tant que fichier JSON malgré l'affichage de cette erreur. L'erreur peut être supprimée en commentant le code dans le bloc suivant :
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}

Veuillez noter que ce code ne doit être commenté que pour API 30 car il causera des problèmes lors de l'enregistrement local pour d'autres niveaux d'API.

Détection de défilement sur les applications hybrides et multiplateformes

Dans certaines applications hybrides et multiplateformes, nous pouvons renvoyer des résultats inattendus lorsque les éléments dans une vue de défilement sont partiellement hors écran. Pour tester un élément en accessibilité, assurez-vous qu'il est entièrement visible à l'écran avant de lancer l'analyse.

Application Analyzer : bouton d'action flottant disparaît

Introduite avec l'API 31 (Android 12), la capacité de masquer les superpositions non système. Pour utiliser l'application Axe Analyzer, assurez-vous que ce paramètre n'est pas activé. Si vous avez opté pour utiliser cette fonctionnalité pour ses améliorations de sécurité, nous recommandons de la laisser désactivée pour les versions de test en interne où vous pouvez utiliser en toute sécurité des données de test et éliminer ainsi les préoccupations de sécurité. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.

Pour utiliser l'application Axe Accessibility Analyzer, mettez à jour tous les appels à la méthode setHideOverlayWindows(true) vers setHideOverlayWindows(false) sur les fenêtres d'activité concernées.

Capture d'écran manquante (boîte noire) dans le tableau de bord

Pour débloquer toutes les fonctionnalités d'Axe DevTools pour Mobile, assurez-vous que les captures d'écran sont activées. Nous recommandons d'activer les captures d'écran sur une version de test ou de débogage de votre application utilisant des données de test pour éviter les préoccupations de sécurité. Consultez notre guide pour activer les captures d'écran dans les applications Android.

Crash lorsque `minifiedEnabled` est défini sur true

Si vous minimisez votre build, vous verrez un crash avec un journal d'erreur indiquant qu'un adaptateur n'a pas pu être trouvé lors de la tentative de connexion à la bibliothèque Axe DevTools. Désactivez la minimisation pour vos builds de débogage avec Axe DevTools implémenté. (#729)

Les builds avec r8 activé génèrent une erreur

Une build avec r8 activé peut tenter de minimiser la bibliothèque axeDevTools, ce qui entraîne une erreur semblable à :
Caused by: java.lang.NullPointerException: throw with null exception
at g.b.b.a$a.a(Unknown Source:1)
at g.b.b.a$a.a(Unknown Source:0)
at g.b.b.a.a(AccessToken.java:190)
Pour résoudre cette erreur, ajoutez la ligne suivante à votre fichier ProGuard pour conserver les classes axeDevTools :
keep class com.deque.** { *; }

Message d'erreur similaire à :
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
ou : No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

Les API Compose sont obsolètes, veuillez utiliser les API agnostiques de la mise en page pour continuer à recevoir des mises à jour. Si vous continuez à utiliser les API Compose et que vous rencontrez une erreur du type `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` ou `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, veuillez vous référer à API Compose setTestTag.

Message de log :MlKitContext has not been initialized

Si vous rencontrez ce message, certains résultats de règles peuvent ne pas être retournés comme prévu lorsque cette règle utilise l'intelligence artificielle. Les règles concernées incluent Contraste des couleurs, Texte focalisable et Nom de l'élément imbriqué. (#841)

MAUI : Règle Nom du texte à éditer

En raison des limitations de l'architecture des applications MAUI dans l'écosystème Android, la règle Nom du texte à éditer s'affichera comme Nécessite une révision dans le tableau de bord lorsqu'un échec est suspecté pour la version SDK 5.5.0 et plus. Veuillez confirmer manuellement le comportement correct pour ce cas.

Android natif : Dialogues / Modaux personnalisés

Lorsque vous mettez en œuvre des dialogues ou modaux personnalisés qui n'étendent pas les contrôles natifs, vous pouvez obtenir des résultats pour les vues derrière le modal. Dans ce cas, nous vous recommandons de ne pas exécuter notre outil contre ces modaux ou dialogues personnalisés et de les vérifier manuellement pour s'assurer qu'ils fonctionnent avec la technologie d'assistance comme souhaité.

Tableau de bord Web

Capture d'écran manquante

Si la capture d'écran est manquante dans la page des détails de l'analyse, votre application peut empêcher la prise de captures d'écran. Cela est souvent pour des raisons de sécurité dans votre application de production. Envisagez de supprimer cette exigence pour votre build de test afin de permettre une fonctionnalité complète dans le Tableau de bord mobile Axe DevTools.

Certains noms d'analyse Android sont non formatés

Certains noms d'analyse Android qui sont par défaut attribués au titre de l'écran apparaîtront comme le nom complet de la classe, y compris l'identifiant du paquet. Dans une future version, cela sera résolu pour que le titre de l'écran soit formaté sous un nom plus lisible. En guise de solution provisoire, vous pouvez définir le nom de l'analyse depuis le tableau de bord ou les frameworks. (#1643)