Notes de version Axe DevTools Mobile du 18 mai 2026

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

18 mai 2026

Not for use with personal data

Versions des composants

iOS

  • Application de bureau pour analyseur iOS (axe-devtools-mobile-desktop-app v1.2.1)

Comment mettre à jour : Analyseur iOS

Quoi de neuf ?

Nous avons ajouté une option d'installation pour un seul utilisateur sur macOS, permettant aux utilisateurs sans accès administrateur d'installer et d'utiliser Axe DevTools Mobile Analyzer sur leurs propres comptes (~/Applications). Nous continuons à prendre en charge le flux d'installation existant à l'échelle du système pour /Applications. De plus, nous avons ajouté la prise en charge du proxy système macOS et des configurations PAC, permettant à Axe DevTools Mobile Analyzer de fonctionner dans des environnements utilisant des VPN ou des proxys d'entreprise.

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 ensuite vous informer une fois qu'il sera résolu ou vous proposer une solution de contournement si aucune n'est indiquée.

important
  • Les tests automatisés d'Axe DevTools Mobile s'exécutent sur des applications iOS natives, Android natives 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 PDF rendus, nous vous recommandons vivement de tester avec Axe DevTools pour le Web ou Axe Monitor pour un test d'accessibilité web complet.

iOS

Faux positifs pour la règle de contraste des couleurs avec des arrière-plans en dégradé sur petits écrans

Lors de la vérification de l'accessibilité sur des écrans plus petits ou avec des tailles de police réduites, la règle de contraste des couleurs peut signaler des faux positifs pour les arrière-plans en dégradé. Dans de tels cas, il se peut qu'elle soit incapable de déterminer la couleur d'avant-plan et compare plutôt les couleurs de fond entre elles, entraînant un échec.

Pour contourner ce problème, essayez d'effectuer les vérifications d'accessibilité sur des appareils plus grands. Alternativement, vous pouvez choisir d'ignorer la règle dans vos tests et vérifier manuellement le contraste des couleurs pour ces vues.

Inexactitude du isVisible propriété de XCTest

Les API d'accessibilité d'Apple peuvent rapporter incorrectement le contenu web à l'intérieur de WKWebView comme "isVisible", même lorsque la vue web est couverte par des superpositions natives (comme des vues modales, des alertes ou d'autres éléments UI natifs). Cela se produit parce que le système d'accessibilité vérifie si le conteneur WKWebView lui-même est visible, plutôt que de savoir si son contenu web est effectivement non obstrué et perceptible par l'utilisateur.

Bogue d'accessibilité iOS 26 avec les sélecteurs

iOS 26 contient un bogue d'accessibilité où les boutons de sélecteurs par défaut n'annoncent pas "atténué" par la technologie d'assistance pour indiquer qu'ils ne sont pas activés. En conséquence, les règles d'iOS voient également ces boutons comme activés même s'ils ne le sont pas. Un rapport de bogue a été déposé auprès d'Apple, mais jusqu'à ce que cela soit résolu, les règles suivantes peuvent rapporter des résultats sur les boutons de sélecteurs désactivés : AssociatedText, InaccessibleAction, et ColorContrast.

Jusqu'à ce qu'Apple corrige ce bogue, la résolution sera d'[ignorer les règles](ios-ignore-rule). Les boutons de sélecteurs par défaut ont les identifiants "Decrement" et "Increment", et peuvent être ignorés par identifiant si nécessaire.

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.

Faux positifs : ÉtiquetteDansNom et ÉtiquetteÀDevant dans les apps SwiftUI & Cross Platform

Certaines écrans peuvent signaler des faux positifs avec ÉtiquetteDansNom et ÉtiquetteÀDevant en raison d'une propriété associatedText incorrecte trouvée (#1622)

La règle Supporte la police dynamique ne fonctionne pas avec le simulateur iOS 15 Pro

Il y a un problème affectant le simulateur iPhone 15 Pro qui empêche la règle Supporte la police dynamique de fonctionner. Si vous avez opté pour la règle Supporte la police dynamique, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bogue a été rapporté à Apple.

Règles contre les contrôles imbriqués

En étudiant une amélioration de nos règles, nous avons découvert que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arbre d'accessibilité. Un rapport de bug a été déposé auprès d'Apple. (#1110)

Règle du nom de l'ImageView nécessite une révision des résultats pour les apps UIKit

Dans les apps UIKit, une image sans `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 apps UIKit seront signalés comme nécessitant une révision. Un rapport de bug a été déposé auprès d'Apple. (#1633)

Faux positif : Dans Scroll View, Étiquette Dans Nom, Étiquette à Devant, et v2.11.0 Nom de l'Image View & ActiveControlName

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

In Scroll View
Le texte contenu dans des éléments se comportant comme des bannières peut être marqué d'un message "Nécessite une révision". Pour rendre ces éléments disponibles pour ceux qui ont besoin d'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, ActiveControlName peut rapporter un faux positif sur l'UIImageView. Supprimer le `accessibilityIdentifier` résout le problème. Un rapport de bug a été déposé auprès d'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é, ce qui provoque l'échec de ces règles. (#1622)

Android

Faux positif de détection de texte annoncé

Dans certains cas, la technologie d'assistance dépend de AccessibilityEvent des descriptions du système Android pour annoncer des informations à l'utilisateur lorsqu'aucune autre annonce n'est disponible. Puisque AccessibilityEvents are triggered by user actions, we are unable to access the correct description if this information is not provided.

Pour éviter ce problème, assurez-vous que toutes les vues pertinentes sont marquées comme importantes pour l'accessibilité. Cela permettra à Talkback d'accéder aux informations de la vue, que notre outil pourra alors détecter.

La règle de contraste de couleur ne s'exécute pas lorsque les couleurs du texte et de l'arrière-plan 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 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 est incapable de détecter si un texte est présent, donc la règle de contraste de couleur ne s'exécute pas sur cette vue.

EditTextName sur Android 7 (SDK 24-25)

Les applications écrites en XML qui utilisent la fonction de texte d'indice peuvent voir des faux positifs avec la EditTextName règle. Le texte d'indice 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'indice à 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 d'exécuter vos tests sur des versions plus récentes d'Android. Si l'accessibilité de l'application sur les versions antérieures d'Android est importante, vous pourriez envisager d'éviter l'utilisation de la hintText fonctionnalité, car elle n'est pas officiellement prise en charge.

Vues Android cachées renvoyant 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 accessibles à la technologie d'assistance, mais Axe DevTools Mobile les signale toujours comme des problèmes.

Nous travaillons sur une solution 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 avec ML Kit

La détection de texte ML Kit est requise dans de nombreuses règles de Axe DevTools Mobile pour garantir la précision 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. 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 devriez importer manuellement la bibliothèque ML Kit dans votre projet. Dans votre build.gradle fichier de l'application, ajoutez ce qui suit sous dependencies :

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

Find a full working example of the ML Kit library being imported in the Android Mobile SDK Getting Started section, under Implementation

Espacement des cibles tactiles et Jetpack Compose

La règle d'espacement des cibles tactiles ne s'exécute actuellement sur aucun composant de curseur écrit en Jetpack Compose. Aucune action ne peut être entreprise pour le moment. Cependant, une solution est en cours d'élaboration !

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

Sur Android API 30, l'un des emplacements où nous essayons d'enregistrer les résultats localement présente une erreur de permissions. Le résultat sera tout de même enregistré sous forme de 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 l'API 30, car cela 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 obtenir des résultats inattendus lorsque des éléments dans une vue de défilement sont partiellement hors écran. Pour tester un élément en termes d'accessibilité, assurez-vous qu'il est complètement à l'écran avant d'effectuer le scan.

Application Analyzer : le 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 vous recommandons de la laisser désactivée pour les versions de test internes où vous pouvez utiliser des données de test en toute sécurité et éliminer les préoccupations en matière de sécurité de cette manière. 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 tout appel à la méthode setHideOverlayWindows(true) vers setHideOverlayWindows(false) sur les fenêtres d'activité affecté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 fictives 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 défini sur true

Si vous minifiez 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 minification 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 minifier la bibliothèque axeDevTools, entraînant une erreur similaire à :

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.** { *; }

Messages d'erreur lors de l'utilisation des API Compose

Les API Compose sont obsolètes, veuillez utiliser les API agnostiques au 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.

MAUI : Règle sur le nom de l'édition de texte

En raison des limitations de l'architecture des applications MAUI dans l'écosystème Android, la règle sur le nom de l'édition de texte apparaîtra comme "À revoir" dans le tableau de bord lorsqu'un échec est suspecté pour les versions SDK 5.5.0 et supérieures. Merci de confirmer le comportement correct manuellement dans ce cas.

Android natif : Dialogues / Modals personnalisés

Lorsque vous implémentez des dialogues ou modals personnalisés qui n'étendent pas les contrôles natifs, vous pouvez obtenir des résultats pour des vues derrière le modal. Dans ce cas, nous recommandons de ne pas exécuter notre outil sur ces modals ou dialogues personnalisés et de vérifier manuellement qu'ils se comportent avec la technologie d'assistance comme souhaité.

Tableau de bord Web

Capture d'écran manquante

Si la capture d'écran est absente de la page des détails de l'analyse, votre application peut empêcher la prise de captures d'écran. Souvent, cela 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 la 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 le titre de l'écran apparaîtront sous la forme du nom de classe complet, y compris l'identifiant du bundle. Dans une version future, ce problème sera résolu afin que le titre de l'écran soit formaté en un nom plus lisible. En attendant, vous pouvez définir le nom de scan depuis le tableau de bord ou les frameworks. (#1643)