Notes de version d'Axe DevTools Mobile du 8 octobre 2024

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

8 octobre 2024

Not for use with personal data

Versions des composants

  • Android SDK (axe-devtools-android v5.6.0)
  • Analyseur Android (Axe Accessibility Analyzer v1.9.0)
  • Pilote Appium Android (axe-appium-uiautomator2-driver v1.1.0)

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

Quoi de neuf ?

Règle d'action inaccessible

Nous avons renommé Vue Accessible Inactive en Action Inaccessible pour correspondre à la dénomination de la règle pour iOS. Nous avons également décidé de marquer cette règle comme expérimentale, afin d'améliorer l'exactitude des résultats pour les deux plateformes.

Corrections

  • Mises à jour pour améliorer la performance et la précision des règles suivantes : Contraste des couleurs, Taille de la cible tactile, Étiquette dans le nom, Étiquette au début, Nom de texte modifiable, et Contrôle actif imbriqué
  • Ajout du nom de classe de la vue superposée aux valeurs analysées pour la règle de l'Espacement de la cible tactile afin d'aider au débogage
  • Descriptions des résultats révisées pour être plus descriptives et offrir des conseils améliorés sur la façon de corriger les problèmes pour les règles Action Inaccessible et Étiquette au début
  • Amélioration de la stabilité et de la fiabilité du service d'accessibilité. L'application ne redemandera plus les autorisations à chaque utilisation
  • Optimisation des requêtes réseau pour l'envoi des résultats au tableau de bord
  • Amélioration de la gestion des erreurs d'authentification dans le pilote Appium

Dépréciations

Après mûre réflexion, nous nous dirigeons vers une implémentation rationalisée d'Axe DevTools pour Android qui entraînera la dépréciation des APIs XML et Compose à une date ultérieure. Bien que cette transition ne se fasse pas du jour au lendemain, nous encourageons les clients à passer progressivement aux APIs indépendantes de la mise en page pour continuer à bénéficier du support et accéder aux dernières mises à jour.

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 ainsi vous avertir une fois le problème résolu ou d'une solution de contournement identifiée si aucune n'est listée.

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é adaptées à votre pile technologique.
  • Bien que vous puissiez obtenir certains résultats à partir de vues web ou de PDFs rendus, nous recommandons fortement d'utiliser Axe DevTools pour Web ou Axe Monitor pour des tests d'accessibilité web plus complets.

iOS

Erreur dans Project Analyzer et Test par Bundle ID dans la version 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 entraînait une erreur intitulée « Chemin d'application cible non spécifié via la configuration du test : ... ». 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 au sein du projet iOS Analyzer.

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)

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 s'exécuter. Si vous avez opté pour la règle Supports Dynamic Type, vous ne pourrez pas la tester à l'aide d'un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.

Règles contre les contrôles imbriqués

Tout en cherchant à améliorer nos règles, nous avons constaté que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arborescence d'accessibilité. Un bug a été signalé chez Apple. (#1110)

La règle Nom d'ImageView nécessite une révision des résultats dans les applications UIKit

Dans les applications UIKit, une image sans `accessibilityLabel` n'est pas focalisable avec les technologies 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 des problèmes de la règle Nom d'ImageView dans les applications UIKit seront signalés comme nécessitant une révision. Un rapport de bug a été déposé chez Apple. (#1633)

Faux positif : Dans Scroll View, Label In Name, Label at Front, et v2.11.0 Image View Name & ActiveControlName

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

In Scroll View
Peut signaler des problèmes pour le texte au sein d'éléments se comportant comme des bannières. Pour rendre ces éléments accessibles à 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. La suppression de `accessibilityIdentifier` résout le problème. Un bug a été signalé chez Apple. (#1633)

Label In Name and Label At Front
Ces deux règles cherchent 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 vue, le texte voisin incorrect peut être détecté, causant l'échec de ces règles. (#1622)

Android

Application Analyzer : le bouton d'action flottant disparaît

Introduite avec l’API 31 (Android 12) est 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 choisi d’utiliser cette fonctionnalité pour ses améliorations de sécurité, nous vous recommandons de la désactiver pour les versions de test internes où vous pouvez utiliser des données de test en toute sécurité et ainsi éliminer 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) sur les fenêtres d'activité concernées. setHideOverlayWindows(false) dans les fenêtres d'activité affectées.

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

Pour débloquer la pleine fonctionnalité 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 débogage ou de test de votre application qui utilise des données fictives pour éviter les problèmes de sécurité. Consulter 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

Une build avec r8 activé peut tenter de minifier la bibliothèque axeDevTools, ce qui entraîne 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.** { *; }

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 mise en page pour continuer à recevoir des mises à jour. Si vous continuez d’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 à Compose setTestTag API.

Message du journal :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 affectées comprennent le contraste des couleurs, le texte focalisable et le nom d'élément imbriqué. (#841)

MAUI : règle du nom de l’élément éditable

En raison des limitations de l'architecture de l'application MAUI en matière de rendu dans l'écosystème Android, la règle du nom de l’élément éditable sera affichée comme nécessitant un examen dans le tableau de bord lorsqu'une défaillance est suspectée pour la version SDK 5.5.0 et supérieure. Veuillez confirmer le comportement correct manuellement dans ce cas.

Android natif : Dialogues/Modales personnalisés

Lorsque vous implémentez des dialogues ou des modales 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 recommandons de ne pas exécuter notre outil contre ces modales ou dialogues personnalisés et de les vérifier manuellement pour garantir qu'ils se comportent avec la technologie d'assistance comme souhaité.

Tableau de bord Web

Capture d’écran manquante

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

Certains noms de scan Android sont non formatés

Certains noms de scan Android qui sont par défaut basés sur le titre de l'écran apparaîtront comme le nom de la classe complète, y compris l'identifiant du bundle. Dans une future version, cela sera résolu pour que le titre de l'écran soit formaté dans un nom plus lisible. Comme solution temporaire, vous pouvez définir le nom du scan depuis le tableau de bord ou les frameworks. (#1643)