Analyse Automatique

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

Identifiez automatiquement les problèmes d'accessibilité pendant que vos tests d'interface existants interagissent avec votre application

Not for use with personal data

Aperçu

L'Analyse Automatique identifie automatiquement les problèmes d'accessibilité pendant que vos tests Espresso ou UIAutomator existants interagissent avec votre application, sans avoir besoin d'ajouter des appels de scan individuels ou de modifications à vos tests. L'Analyse Automatique surveille les changements d'écran et analyse chaque écran unique automatiquement.

tip

Si vous avez besoin d'un contrôle plus granulaire dans vos tests, consultez Tests Ciblés.

Comment ça fonctionne

Notre plugin Gradle remplacera votre runner d'instrumentation JUnit par notre runner personnalisé. Cela nous permet d'observer votre suite de tests et de traiter vos résultats au moment approprié. Obtenez le plugin Gradle AxeDevToolsMobile. Lorsque le test est terminé, l'Analyse Automatique traite vos résultats et enregistre un résultat JSON pour chaque écran ainsi qu'un rapport HTML autonome dans AxeDevToolsMobileResults, et télécharge éventuellement les résultats sur Developer Hub.

Commencer

  1. Quelques valeurs doivent être définies pour configurer et authentifier les utilisateurs. Nous recommandons d'ajouter celles-ci comme variables d'environnement sur votre ordinateur et sur vos pipelines CI/CD pour garder vos clés sécurisées.

    Groovy (build.gradle):

    axeDevTools {
        axeMobileApiKey = ''
        axeAutoScanMode = true
        axeProjectId = ''
    }

    Kotlin DSL (build.gradle.kts):

    axeDevTools {
        axeMobileApiKey = ""
        axeAutoScanMode = true
        axeProjectId = ""
    }
  2. Si vous utilisez nos outils et préférez obtenir les résultats en mode hors ligne, vous devez définir une valeur pour le axeOfflineLicenseKey au lieu de axeMobileApiKey et axeProjectId.

    Groovy (build.gradle):

    axeDevTools {
        axeOfflineLicenseKey = ''
        axeAutoScanMode = true
    }

    Kotlin DSL (build.gradle.kts):

    axeDevTools {
        axeOfflineLicenseKey = ""
        axeAutoScanMode = true
    }

Interprétation des Résultats

Résumé de la Console

Une fois la suite de tests terminée, vous pouvez voir un post-traitement dans vos journaux Gradle, suivi d'un résumé.

HTML rule report written to: /Users/user/Documents/workspace/android/project-name/app/build/reports/AxeDevToolsMobileResults/AxeDevToolsMobile_1773882427726.html
---- Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: Home Page
  Issues: 6
  Issues by rule:
    - TouchSizeWcag: 3
    - LabelAtFront: 1
    - LabelInName: 1
    - FocusableText: 1
    
Scan 35:
  Screen: Wikipedia Alpha
  Issues: 5
  Issues by rule:
    - LabelAtFront: 1
    - LabelInName: 1
    - TouchTargetSpacing: 1
    - TouchSizeWcag: 1
    - ColorContrast: 1
    
Total Scans: 35
❌ Total Issues: 123
---------------------------------------------------

Fichiers de Sortie

L'Analyse Automatique génère un rapport HTML autonome avec des captures d'écran, des données de hiérarchie de vue et des informations détaillées sur les problèmes. Les résultats JSON individuels sont enregistrés dans le répertoire axe-test-data . Tous les fichiers sont enregistrés dans le répertoire app/build/reports/AxeDevToolsMobileResults .

Fichier Format
AxeDevToolsReport.html Rapport HTML interactif avec problèmes par écran, détails des éléments, niveaux d'impact
<timestamp>-axe-node-hierarchy.json Résultat JSON individuel - 1 pour chaque analyse effectuée
note

Si vous préférez enregistrer vos résultats dans un répertoire spécifique, vous pouvez l'indiquer dans le bloc de configuration du plugin de votre fichier build.gradle .

axeDevTools {
    axeMobileApiKey = "AXE_API_KEY"
    axeProjectId = "DEVHUB_PROJECT_ID"
    axeAutoScanMode = true
    axeHtmlReportPath = 
        "User/Desktop/reports/AxeDevToolsMobileResults"
    axeAccountUrl = "https://axe.deque.com"

Support d'Analyse Automatique

Règles

L'Analyse Automatique exécute l'ensemble complet des règles Axe à l'exception de ScreenOrientation et de toutes les règles expérimentales (par ex. NestedActiveControl, NestedElementName, InaccessibleAction). Trouvez des informations détaillées sur ce que nous vérifions dans le Vue d'ensemble des règles pour Android.

Centre de développement

Auto Scan télécharge automatiquement vos résultats sur Axe Developer Hub. Si vous souhaitez uniquement enregistrer les résultats localement, configurez axeUploadResults sur false.

Référence de configuration

Propriétés

Propriété Type Requis Détails
axeAutoScanMode Booléen Requis Par défaut à false. Doit être configuré sur true pour activer l'analyse automatique.
axeMobileApiKey Chaîne Requis* Une clé API Axe DevTools Mobile de axe.deque.com est requis si axeUploadResults=true
axeOfflineLicenseKey Chaîne Requis* Uniquement requis pour le mode hors ligne, lorsque axeUploadResults=false
axeUploadResults Booléen Optionnel Par défaut à true. Configurez sur false pour des résultats locaux uniquement
axeProjectId Chaîne Optionnel Un ID de projet du centre de développement est requis si axeUploadResults=true
axeServerUrl (Obsolète) Chaîne Optionnel URL de backend personnalisé (par ex. axe.company.com), pour sur site/nuage privé uniquement
axeAccountUrl Chaîne Optionnel URL de backend personnalisé (par ex. axe.company.com), pour sur site/nuage privé uniquement
axeHtmlReportPath Chaîne Optionnel Répertoire de sortie configurable par l'utilisateur pour le rapport HTML et le résumé. Par défaut : build/reports/AxeDevToolsMobileResults
axeOfflineLicenseKey Chaîne Optionnel Uniquement requis pour le mode hors ligne, lorsque axeUploadResults=false

* Remarque: Vous devez définir soit le axeMobileApiKey soit le axeOfflineLicenseKey dans votre configuration. La clé API est requise sauf en mode hors ligne. La clé de licence hors ligne n'est requise que pour le mode hors ligne.

Meilleures Pratiques

Désactiver les Animations

Obtenez les résultats les plus précis et complets avec Auto Scan en désactivant l'animation. Cela garantira que les écrans sont entièrement rendus lorsqu'ils sont capturés. Si les animations ne sont pas désactivées, vous pouvez remarquer :

  • Des numérisations en double que vous pensez avoir dû être éliminées
  • Des numérisations avec des captures d'écran montrant un état transitoire
  • Un taux de capture d'écran significativement inférieur à ce que vous pourriez attendre

Dépannage

Si vous ne voyez pas apparaître de numérisations dans Developer Hub, vous devriez vérifier vos journaux pour trouver des indices de ce qui pourrait mal fonctionner ou passer en revue cette liste de vérification.

  • Vérifiez que axeAutoScanMode=true dans votre axeDevTools bloc de configuration
  • Vérifiez que vous avez pu obtenir notre dépendance depuis Maven Central
  • Assurez-vous d'utiliser la bonne variable pour votre clé API/licence et ID de projet
  • Vérifiez la taille de vos fichiers de sortie. Le téléversement vers Developer Hub échoue si la taille d'un fichier de résultat dépasse 20 Mo, bien que tous les résultats soient toujours enregistrés localement et affichés dans le rapport HTML local.

Et ensuite ?

Vous pouvez voir vos résultats dans Axe Developer Hub. Apprenez à intégrer Axe DevTools Mobile dans votre pipeline CI/CD. Utilisez-vous une plateforme de tests basée sur le cloud ? Vous pouvez toujours utiliser Axe DevTools Mobile pour rechercher des problèmes d'accessibilité : Intégrer avec des plateformes cloud.