Regole da ignorare
È possibile scegliere di ignorare le regole specificate durante il test di accessibilità. Supportiamo l'ignorare tutte le istanze di una regola specifica in base al nome e l'ignorare alcune regole in base al nome risorsa ID vista. Sebbene riteniamo che tutte le regole siano essenziali, queste personalizzazioni ti permetteranno di ignorare le viste non ancora corrette e di concentrarti sull'identificazione di nuovi problemi.
Negli esempi seguenti, axe si riferisce all'oggetto AxeDevTools inizializzato durante l'accesso.
API disponibili
Per ignorare una regola specifica o un insieme di regole, aggiornate la configurazione prima che venga eseguito il test.
Ignore Rule(s)
Il codice seguente mostra come ignorare una regola specifica, TouchSizeWcag.
axe.ignoreRules(mutableListOf("TouchSizeWcag"))Ignora per ID vista Nome risorsa
Ignora un set di regole a cui è assegnato un nome risorsa ID vista, utilizzando due parametri: il nome risorsa ID vista e un elenco di regole da ignorare.
axe.ignoreByViewIdResourceName(
"axe_button",
listOf(
"ActiveViewName"
)
)Per gli sviluppatori che scrivono viste utilizzando Jetpack Compose, Le consigliamo di utilizzare Modifier.testTag("viewToIgnoreRuleOn") sulla vista di riferimento anziché utilizzare un ID vista. Inoltre, Lei deve aggiungere la seguente proprietà semantica a uno degli antenati della vista:
Scaffold(
modifier = Modifier.semantics { testTagsAsResourceId = true }
)Una volta fatto questo, Lei dovrebbe poter ignorare le visualizzazioni utilizzando testTag al posto di viewId nell’API ignoreByViewResourceId esistente.
Esempio di Composable:
Button(
modifier = Modifier.testTag("<tagToIgnore>"),
onClick = { /* Click action */ }
) {
Text("Click me")
}Ignora le regole sperimentali
Le regole sperimentali sono set di regole ancora in fase di test e sviluppo. Se ignoreExperimental è abilitato, tutti i risultati delle regole sperimentali avranno lo stato di AxeStatus.IGNORED.
axe.ignoreExperimental()Reimposta le regole ignorate
All'interno della suite di test automatizzati, potresti voler avviare una nuova serie di test e ripristinare tutte le regole. In questo caso puoi cancellare tutte le regole ignorate che hai impostato utilizzando i metodi sopra indicati, tramite l'API resetIgnoredRules.
@Before
fun setup() {
axe.resetIgnoredRules()
}
@Test
fun testButtonOnly() {
axe.ignoreRules(listOf("ScreenTitle"))
...
}
@Test
fun testScreenTitle() {
...
}