Règles à ignorer
Vous pouvez choisir d'ignorer des règles spécifiques lors du test d'accessibilité. Nous prenons en charge l'ignorance de toutes les instances d'une règle spécifique par son nom et de certaines règles par ID de vue, nom de ressource. Bien que nous estimions que toutes les règles sont essentielles, ces personnalisations vous permettront d'ignorer les vues non corrigées et de vous concentrer sur l'identification des nouveaux problèmes.
Dans les exemples suivants, axe fait référence à l' AxeDevTools objet initialisé lors de la connexion.
APIs disponibles
Pour ignorer une règle ou un ensemble de règles spécifique, mettez à jour la configuration avant le test.
Ignorer Règles
Le code ci-dessous montre comment ignorer une règle spécifique, TouchSizeWcag.
axe.ignoreRules(mutableListOf("TouchSizeWcag"))Ignorer par ID de vue Nom de la ressource
Ignorez un ensemble de règles avec un nom de ressource d'ID de vue attribué, en utilisant deux paramètres : le nom de la ressource d'ID de vue et une liste de règles à ignorer.
axe.ignoreByViewIdResourceName(
"axe_button",
listOf(
"ActiveViewName"
)
)Pour les développeurs qui créent des vues à l’aide de Jetpack Compose, nous recommandons d’utiliser Modifier.testTag("viewToIgnoreRuleOn") sur la vue que vous souhaitez référencer plutôt que d’utiliser un identifiant de vue. Ajoutez également la propriété sémantique suivante à l’un des ancêtres de la vue :
Scaffold(
modifier = Modifier.semantics { testTagsAsResourceId = true }
)Une fois cela fait, vous devriez pouvoir ignorer des vues en utilisant le testTag à la place du viewId dans l’API ignoreByViewResourceId existante.
Exemple sur Composable :
Button(
modifier = Modifier.testTag("<tagToIgnore>"),
onClick = { /* Click action */ }
) {
Text("Click me")
}Ignorer les règles expérimentales
Les règles expérimentales sont des ensembles de règles qui sont encore en phase de test et de développement. Lorsque ignoreExperimental est activé, tous les résultats des règles expérimentales auront le statut de AxeStatus.IGNORED.
axe.ignoreExperimental()Réinitialiser les règles ignorées
Dans votre suite de tests automatisés, vous souhaiterez peut-être démarrer un nouvel ensemble de tests et restaurer toutes les règles. Dans ce cas, vous pouvez effacer toutes les règles ignorées que vous avez définies à l'aide des méthodes ci-dessus - avec l'API resetIgnoredRules .
@Before
fun setup() {
axe.resetIgnoredRules()
}
@Test
fun testButtonOnly() {
axe.ignoreRules(listOf("ScreenTitle"))
...
}
@Test
fun testScreenTitle() {
...
}