Ignorar Regras
Você pode optar por ignorar regras específicas ao testar a acessibilidade. Nosso suporte permite ignorar todas as instâncias de uma regra específica por nome e algumas regras por Nome do Recurso do ID da View. Embora consideremos que todas as regras são essenciais, essas personalizações permitem que você ignore views que ainda precisam ser corrigidas e foque em identificar novos problemas.
Nos exemplos abaixo, axe refere-se ao objeto AxeDevTools inicializado ao fazer login.
APIs Disponíveis
Para ignorar uma regra específica ou conjunto de regras, atualize a configuração antes de realizar o teste.
Ignorar Regra(s)
O código abaixo mostra como ignorar uma regra específica, TouchSizeWcag.
axe.ignoreRules(mutableListOf("TouchSizeWcag"))Ignorar por Nome do Recurso do ID da View
Ignore um conjunto de regras com um Nome do Recurso do ID da View atribuído, utilizando dois parâmetros - o nome do Recurso do ID da View, e uma lista de regras a serem ignoradas.
axe.ignoreByViewIdResourceName(
"axe_button",
listOf(
"ActiveViewName"
)
)Para desenvolvedores que estão escrevendo views usando Jetpack Compose, recomendamos usar Modifier.testTag("viewToIgnoreRuleOn") na view que você gostaria de referenciar em vez de usar um ID de view. Além disso, você deve adicionar a seguinte propriedade de semântica a um dos ancestrais da view:
Scaffold(
modifier = Modifier.semantics { testTagsAsResourceId = true }
)Uma vez feito isso, você deverá conseguir ignorar views usando o testTag no lugar do viewId na API ignoreByViewResourceId existente.
Exemplo em Composable:
Button(
modifier = Modifier.testTag("<tagToIgnore>"),
onClick = { /* Click action */ }
) {
Text("Click me")
}Ignorar Regras Experimentais
Regras experimentais são conjuntos de regras que ainda estão em teste e desenvolvimento. Quando ignoreExperimental é ativado, todos os resultados das regras experimentais terão o status de AxeStatus.IGNORED.
axe.ignoreExperimental()Redefinir Regras Ignoradas
Dentro do seu conjunto de testes automatizados, você pode querer iniciar um novo conjunto de testes e restaurar as regras todas. Nesse caso, você pode limpar quaisquer regras ignoradas que definiu usando os métodos acima - com a API resetIgnoredRules.
@Before
fun setup() {
axe.resetIgnoredRules()
}
@Test
fun testButtonOnly() {
axe.ignoreRules(listOf("ScreenTitle"))
...
}
@Test
fun testScreenTitle() {
...
}