Notes de version Axe DevTools Mobile du 28 février 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

28 février 2024

Not for use with personal data

Versions des composants

  • axeDevToolsXCUI v2.9.1
  • axe-devtools-android v5.2.0

Quoi de neuf ?

Solution Appium améliorée

  • Une solution améliorée pour utiliser Appium a été publiée le 14 février. Voir les notes de version.

Android

  • La méthode connect() pour l'authentification au serveur Axe DevTools Mobile est en cours de dépréciation au profit de loginWithUsername() ou loginWithApiKey(). Référence API
  • Une nouvelle API est maintenant disponible et vous permet d'utiliser des balises de test pour localiser et analyser un composable particulier dans les mises en page Jetpack Compose. Cela peut être utile lorsqu'un écran combine des mises en page Jetpack Compose et XML. Exemple

Corrections de bugs

iOS

  • Correction d'un faux négatif avec la règle du nom de contrôle actif où un searchBarTextField sans étiquette accessible passait incorrectement la règle.
  • Correction d'un faux positif avec la règle du contraste des couleurs sur les champs de texte lorsque le curseur est présent. Lorsqu'un champ de texte semble être modifié, nous mettrons son statut sur « À réviser » au lieu de « Échoué ».

Android

  • Correction d'un problème où le Mobile Analyzer plantait parfois lors de l'analyse d'applications multiplateformes.
  • Correction de faux positifs avec les règles du Texte focalisable et du Nom des éléments imbriqués s'appliquant à des vues qui n'étaient pas visibles pour l'utilisateur. La règle ne sera plus exécutée sauf si la vue est visible à l'écran.

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 que ce sera résolu ou d'une solution de contournement identifiée si aucune n'est listée.

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

Axe DevTools Mobile pour iOS

Erreur dans le projet Analyzer & test par identifiant de bundle dans la version 2.8.1

La fonctionnalité de test d'une application par identifiant de bundle a été 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 la version 2.8.2 ou la dernière version pour résoudre l'erreur. Mise à jour vers la dernière version au sein du projet iOS Analyzer.

Les vues hors écran peuvent afficher des résultats pour les applications SwiftUI testées sur iOS 17

Avec la version 2.8.0 (Voir les notes de version), les résultats ne sont plus signalés pour les vues qui ne sont pas visibles, y compris hors écran ou cachées par une autre vue. Nous avons découvert que dans les applications SwiftUI testées sur iOS 17, certains résultats s'affichent toujours. (#1383)

La règle de prise en charge de l'écriture 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 de prise en charge de l'écriture dynamique de fonctionner. Si vous êtes inscrit à la règle de prise en charge de l'écriture 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 pour nos règles, nous avons découvert que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arborescence d'accessibilité. Un bug a été signalé à Apple. (#1110)

Faux positif : Dans la vue de défilement, ActiveControlName

Nous travaillons activement sur des correctifs pour les faux positifs suivants et nous mettrons à jour cette liste au fur et à mesure de la sortie des correctifs.

In Scroll View
Peut signaler des problèmes pour le texte à l'intérieur d'é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) ActiveControlName
Si une UIImageView dispose d'un `accessibilityIdentifier` défini mais n'est pas focalisable avec VoiceOver, et a des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur la UIImageView. Retirer l'`accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226)

Faux négatif : Nom de la vue d'image, Texte focalisable dans iOS 13 à iOS 14.8.1

Nous travaillons activement sur des correctifs pour les faux négatifs suivants et nous mettrons à jour cette liste au fur et à mesure de la sortie des correctifs.

Image View Name
Si une UIImageView dispose d'un `accessibilityIdentifier` défini mais n'est pas focalisable avec VoiceOver, ImageViewName peut signaler un faux négatif sur la UIImageView. Retirer l'`accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226) Focusable Text
Les éléments marqués comme non accessibles peuvent signaler des résultats incorrects en raison d'un bug dans le framework d'Apple.

Axe DevTools Mobile pour Android

Crash lors de l'utilisation de Proguard

Si votre build de débogage ou de test utilise Proguard, suivez les étapes pour ignorez Deque dans vos paramètres Proguard.

Crash lorsque `minifiedEnabled` est défini sur true

Si vous minimisez votre build, vous verrez un crash avec un journal d'erreurs 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 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()?

Si 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 à l'API Compose setTestTag.

Tableau de Bord Mobile Axe DevTools

Capture d'écran manquante

Si la capture d'écran est absente de la page des détails de l'analyse, votre application empêche peut-être la prise de captures d'écran. Souvent, cela est dû à 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.

Certaines noms de scans Android sont mal formatés

Certains noms de scans Android, par défaut égaux au titre de l'écran, apparaîtront comme le nom complet de la classe incluant l'identifiant du bundle. Dans une future version, cela 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 du scan depuis le tableau de bord ou les frameworks. (#1643)

Axe DevTools Mobile pour Appium

Faux positif : Nom de la vue active

En raison de limitations des informations disponibles via la plateforme Appium, nous avons identifié un faux positif pour le Nom de la Vue Active lors de l'utilisation de la labeledBy propriété pour fournir une étiquette pour un élément de bouton. Nous explorons des solutions et prévoyons un correctif dans une future version.

React Native : Libellé dans le nom et libellé en tête

En raison de limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Libellé dans le nom & Libellé en tête ne peuvent pas s'exécuter pour les applications construites avec React Native. Nous explorons des solutions et prévoyons un correctif dans une future version.

React Native : Inspection de la hiérarchie des vues montrant l'écran précédent

Parfois, la propriété de la source de page Appium nécessite un temps supplémentaire pour être mise à jour entre les analyses. Si cela se produit, vous verrez la hiérarchie des vues de l'écran précédent lorsque vous utilisez la fonction d'inspection sur le tableau de bord. Pour résoudre ce problème, ajoutez un petit délai avant d'appeler l'API de la source de page pour déclencher l'analyse d'accessibilité. Exemple:

			await driver.pause(1000);
    		const result = await driver.getPageSource();