Notes de version d'Axe DevTools Mobile du 2 juillet 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

2 juillet 2025

Not for use with personal data

Versions des composants

iOS

  • iOS SDK (axeDevToolsXCUI v2.16.0)
  • Analyseur iOS (axe-devtools-mobile-analyzer v1.4.12)
  • Pilote iOS Appium (axe-appium-xcuitest-driver v1.5.0)
    • (Dérivé de XCUITest v9.2.3)

Comment mettre à jour : SDK iOS, Analyseur iOS, Pilote iOS Appium

Android

  • SDK Android (axe-devtools-android v7.0.0)
  • Analyseur Android (Axe Accessibility Analyzer v2.0.0)
  • Pilote Android Appium (axe-appium-uiautomator2-driver v1.4.2)
    • (Dérivé de UiAutomator2 v4.2.4)

Comment mettre à jour : SDK Android, Analyseur Android, Pilote Android Appium

Quoi de neuf ?

URLs de groupe d'analyse

Vous pouvez maintenant créer une URL pour un groupe de jusqu'à 20 résultats d'analyse, avec nos SDK Android et iOS. Créez une URL pour une analyse unique ou un groupe d'analyses avec nos pilotes Appium.
Visitez les pages suivantes pour des détails sur la mise en œuvre de cette fonctionnalité :

Corrections

iOS

  • Simplification des requêtes réseau pour envoyer des analyses avec un nom d'analyse et/ou des tags
  • Améliorations de la précision des règles suivantes : Texte associé, Contraste des couleurs, Étiquette dans le nom, Étiquette en premier

Changements majeurs

API XML et Compose Android supprimées

Nous avons évolué vers une mise en œuvre simplifiée d'Axe DevTools pour Android, ce qui a entraîné la dépréciation des API XML et Compose. Nous avons indiqué que ce changement se produirait dans les notes de version d'octobre 2024. Si ce n'est pas déjà fait, votre équipe devrait passer aux API indépendantes de la disposition pour continuer à bénéficier du support et des dernières mises à jour.

Support du niveau API Android

Nous avons ajouté le support pour le niveau API Android 36 pour le SDK. Le niveau API Android minimal pris en charge est maintenant 26 pour le SDK et l'application Mobile Analyzer.

Pour toute question ou préoccupation concernant ces changements majeurs, contactez support.deque.com.

Problèmes connus

Si vous rencontrez l'un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous pourrons alors vous informer une fois qu'il sera résolu ou vous fournir une solution de contournement identifiée s'il n'y en a pas.

important
  • Les tests automatisés d'Axe DevTools Mobile fonctionnent sur les applications natives iOS, Android et React Native. Veuillez contacter votre représentant Deque pour des solutions de test d'accessibilité sur votre pile technologique.
  • Bien que vous puissiez obtenir certains résultats à partir de vues web ou de PDFs rendus, nous recommandons fortement de tester avec Axe DevTools pour le Web ou Axe Monitor pour un test d'accessibilité web plus complet.

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 l'Analyseur iOS 1.4.7

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

Erreur dans le projet Analyzer & Test par ID de bundle dans 2.8.1

La fonctionnalité de test d'une application par identifiant de bundle était cassée dans la version 2.8.1, ce qui a entraîné une erreur intitulée « Aucun chemin d'application cible spécifié via la configuration de test : ... ». Mettez à jour vers 2.8.2 ou la dernière version pour résoudre l'erreur. Mettez à jour vers la dernière version dans le projet Analyzer iOS.

Erreur « Impossible de sérialiser AxeResult » dans le projet Analyzer v1.2.0 & SDK v2.12.3

Analyser certaines applications avec cette version de l'analyzer et du SDK entraînerait une erreur « Impossible de sérialiser AxeResult ». Mettez à jour vers la dernière version pour résoudre l'erreur. Mettez à jour vers le dernier projet Analyzer iOS.Mettez à jour vers le dernier SDK iOS.

Faux positif : LabelInName et LabelAtFront dans SwiftUI & Applications 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 Supporte la taille de la police dynamique ne fonctionne pas avec le simulateur iOS 15 Pro

Un problème affectant le simulateur iPhone 15 Pro empêche la règle Supporte la taille de la police dynamique de s'exécuter. Si vous avez choisi la règle Supporte la taille de la police dynamique, 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 de nos règles, nous avons trouvé que dans XCTest, les contrôles imbriqués ne sont pas restitués dans l'arborescence d'accessibilité. Un bug a été signalé à Apple. (#1110)

La règle de nom de ImageView nécessite un examen des résultats pour les applications UIKit

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

Faux positif : dans la vue de défilement, Label dans le nom, Label devant, et Nom de l'image v2.11.0 & ActiveControlName

Nous travaillons activement sur des correctifs pour les faux positifs suivants et nous mettrons à jour cette liste au fur et à mesure que des 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 pour ceux qui nécessitent un texte plus grand, utilisez UILargeContentViewer. (#622)

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

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

Android

La règle de contraste de couleur ne s'exécute pas lorsque les couleurs du texte et du fond sont identiques

Notre règle de contraste de couleur dépend de l'apprentissage automatique pour détecter le texte, ce qui garantit que le texte numérique 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 le fond, notre algorithme d'apprentissage automatique ne parvient pas à détecter si un texte est présent, donc la règle de contraste de couleur ne s'applique pas à cette vue.

EditTextName sur Android 7 (SDK 24-25)

Les applications écrites avec XML qui utilisent la fonctionnalité de texte indicatif peuvent voir des faux positifs avec la EditTextName règle. Le texte indicatif n'a pas été introduit avant Android 8 (SDK 26). Utiliser cet élément dans votre application XML assignera le texte indicatif à la valeur du champ de saisie. 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 d'exécuter vos tests sur des versions plus récentes d'Android. S'il est important que l'application soit accessible sur des versions antérieures d'Android, vous pourriez envisager d'éviter l'utilisation de la hintText fonctionnalité, car elle n'est pas officiellement prise en charge.

Vues cachées Android retournant des résultats

Vous pouvez voir des résultats pour des vues qui sont cachées derrière d'autres vues à l'écran. Ces vues cachées ne sont pas disponibles pour la technologie d'assistance, mais Axe DevTools Mobile les rapporte encore comme des 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 nécessaire dans de nombreuses règles d'Axe DevTools Mobile pour garantir la précision des résultats. La bibliothèque ML Kit doit être automatiquement importée lorsque vous référencez Axe DevTools Mobile dans vos tests UIAutomator ou Espresso automatisés. Dans certains cas cependant, 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 surmonter ce problème, vous devez importer manuellement la bibliothèque ML Kit dans votre projet. Dans le build.gradle fichier de votre application, ajoutez ce qui suit sous les dépendances :

implementation 'com.google.mlkit:text-recognition:16.0.1'

Espacement de la cible tactile et Jetpack Compose

La règle d'espacement de la cible tactile ne s'exécute actuellement pas sur les composants de curseurs écrits en Jetpack Compose. Aucune action n'est possible pour le moment. Cependant, un correctif arrive bientôt !

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

Sur Android API 30, l'un des emplacements où nous tentons de sauvegarder les résultats localement présente 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
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

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

Dans certaines applications hybrides et multiplateformes, nous pouvons renvoyer des résultats inattendus lorsque des éléments dans une vue de défilement sont partiellement hors écran. Pour tester un élément pour l'accessibilité, assurez-vous qu'il soit entièrement à l'écran avant de procéder à 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èmes. Pour utiliser l'application Axe Analyzer, assurez-vous que ce paramètre n'est pas activé. Si vous avez choisi d'utiliser cette fonctionnalité pour ses améliorations de sécurité, nous recommandons de la désactiver pour les constructions de test internes 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) à 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 de 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 débogage ou de test de votre application qui utilise des données factices pour éviter les problèmes de sécurité. Consultez notre guide pour activer les captures d'écran dans les applications Android.

Crash lorsque `minifiedEnabled` est réglé sur true

Si vous minimisez votre build, vous verrez un plantage 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

Un 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)
    
To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
keep class com.deque.** { *; }

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

Les API Compose sont dépréciées, veuillez utiliser les API indépendantes du layout pour continuer à recevoir des mises à jour. Si vous continuez à utiliser les API Compose et 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 à l'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 se retourner comme prévu lorsque cette règle utilise l'intelligence artificielle. Les règles affectées incluent Contraste de couleur, Texte focalisable et Nom d'élément imbriqué. (#841)

MAUI : Règle du nom de texte à éditer

En raison des limitations de l'architecture de l'application MAUI dans l'écosystème Android, la règle du nom de texte à éditer s'affichera comme à réviser dans le tableau de bord lorsqu'une défaillance est suspectée pour la version SDK 5.5.0 et supérieure. Veuillez confirmer manuellement le comportement correct pour ce cas.

Android natif : Dialogues/Modaux personnalisés

Lorsque vous implémentez des dialogues ou modaux personnalisés qui n'étendent pas les contrôles natifs, il se peut que vous obteniez des résultats pour les vues derrière le modal. Dans ce cas, nous 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 se comportent comme souhaité avec les technologies d'assistance.

Tableau de bord Web

Capture d'écran manquante

Si la capture d'écran manque dans la page des détails de l'analyse, votre application peut empêcher les captures d'écran d'être prises. Souvent, ceci est pour des raisons de sécurité dans votre application de production. Envisagez de supprimer cette exigence pour votre version de test afin de permettre une pleine fonctionnalité dans le tableau de bord Axe DevTools Mobile.

Certains noms de scan Android ne sont pas formatés

Certains noms de scan Android qui sont par défaut au titre de l'écran apparaîtront comme le nom complet de la classe incluant l'identifiant de bundle. Lors d'une future version, ceci sera résolu de façon à ce que le titre de l'écran soit formaté en un nom plus lisible. Comme solution de contournement, vous pouvez définir le nom du scan à partir du tableau de bord ou des frameworks. (#1643)