Présentation de Axe DevTools C#
Présentation de Axe DevTools pour le Web pour C#, y compris les prérequis et les limitations connues
Axe DevTools C# inclut :
- axe-core version 4
- Support pour Microsoft Visual Studio 2019 IDE
- Support pour Microsoft .NET Core 2.2.0 CLI
Les analyses sont effectuées par défaut selon WCAG 2.1 Niveau AA, avec les règles de bonnes pratiques et expérimentales désactivées. Voir Personnalisation des règles pour modifier l'ensemble de règles ou activer les bonnes pratiques.
Prérequis
Axe DevTools nécessite un binding Selenium WebDriver pour le navigateur de votre choix. Pour utiliser Axe DevTools, vous devez d'abord installer et configurer Selenium WebDriver.
Hypothèses et limitations connues
-
L'utilisation de cette intégration suppose :
- Vous avez défini l'état souhaité de la page avant d'exécuter les tests.
- Vous n'avez pas modifié l'objet Selenium sauf pour exécuter axe et appliquer votre configuration.
- Vous fermez la page web testée à la fin du test.
-
Bonne pratique : Ne poursuivez pas avec des tests supplémentaires sans rafraîchir la page. Modifier l'état d'une page web pendant une exécution de test Selenium et exécuter les tests sans restaurer l'état original prévu de la page entraînera des résultats de test imprévisibles. Axe DevTools C# peut injecter du contenu dans une page web pendant les tests. Les tentatives de réexécuter Axe DevTools sur une page qui a déjà été testée entraîneront des résultats de test imprévisibles.
Éléments personnalisés et ElementInternals
À partir de Axe DevTools C# 4.13.0, les analyses lisent les sémantiques ARIA que les composants web déclarent en JavaScript via ElementInternals, plutôt que seulement les attributs role et aria-* présents dans le code source. Aucune configuration n'est requise. Les sémantiques dans le DOM conservent toujours la priorité : un attribut explicite role ou aria-* sur l'élément remplace la valeur de ElementInternals.
Vos composants doivent publier leurs internes pour que cela prenne effet, et un composant qui les stocke dans un champ de classe privé ne peut pas être lu. Voir Tester des éléments personnalisés qui utilisent ElementInternals.
