Regels negeren
U kunt ervoor kiezen om bepaalde regels te negeren tijdens het testen van toegankelijkheid. Wij ondersteunen het negeren van alle gevallen van een specifieke regel bij naam en het negeren van sommige regels op basis van de View ID Resource Name. Hoewel wij van mening zijn dat alle regels essentieel zijn, stellen deze aanpassingen u in staat om weergaven die nog moeten worden gecorrigeerd over te slaan en te focussen op het identificeren van nieuwe problemen.
In de onderstaande voorbeelden verwijst axe naar het AxeDevTools-object dat wordt geïnitialiseerd bij het inloggen.
Beschikbare API's
Om een specifieke regel of set van regels te negeren, werkt u de configuratie bij voordat het testen plaatsvindt.
Regel(s) negeren
De code hieronder toont hoe een specifieke regel genegeerd kan worden, TouchSizeWcag.
axe.ignoreRules(mutableListOf("TouchSizeWcag"))Negeren op basis van View ID Resource Name
Negeren van een set regels met een toegewezen View ID Resource Name, waarbij twee parameters worden gebruikt - de naam van de View ID Resource en een lijst van regels om te negeren.
axe.ignoreByViewIdResourceName(
"axe_button",
listOf(
"ActiveViewName"
)
)Voor ontwikkelaars die views schrijven met Jetpack Compose, raden we aan Modifier.testTag("viewToIgnoreRuleOn") te gebruiken op de view waarnaar je wilt verwijzen, in plaats van een view-ID te gebruiken. Bovendien moet je de volgende eigenschap voor semantiek toevoegen aan een van de voorouders van de view:
Scaffold(
modifier = Modifier.semantics { testTagsAsResourceId = true }
)Als dat gedaan is, zou je in staat moeten zijn om views te negeren door de testTag te gebruiken in plaats van de viewId in de bestaande ignoreByViewResourceId API.
Voorbeeld op Composable:
Button(
modifier = Modifier.testTag("<tagToIgnore>"),
onClick = { /* Click action */ }
) {
Text("Click me")
}Experimentele regels negeren
Experimentele regels zijn regels die nog in testen en ontwikkeling zijn. Wanneer ignoreExperimental is ingeschakeld, zullen alle resultaten van de experimentele regels de status AxeStatus.IGNORED hebben.
axe.ignoreExperimental()Genegeerde regels resetten
Binnen je geautomatiseerde test suite wil je misschien een nieuwe reeks tests starten en alle-regels herstellen. In dit geval kun je alle genegeerde regels die je hebt ingesteld wissen met de methoden hierboven - met de resetIgnoredRules API.
@Before
fun setup() {
axe.resetIgnoredRules()
}
@Test
fun testButtonOnly() {
axe.ignoreRules(listOf("ScreenTitle"))
...
}
@Test
fun testScreenTitle() {
...
}