Controllo accessibilità

I test di accessibilità ti consentono di provare la tua app dal punto di vista l'intera base utenti, inclusi quelli con esigenze di accessibilità. Questa forma di i test possono rivelare opportunità per rendere la tua app più potente e versatile.

Questa pagina descrive come aggiungere controlli di accessibilità al tuo Espresso esistente test. Per ulteriori informazioni sull'accessibilità, consulta la sezione Accessibilità. di Google Cloud.

Abilita controlli

Puoi attivare e configurare i test di accessibilità utilizzando il metodo AccessibilityChecks classe:

Kotlin

import androidx.test.espresso.accessibility.AccessibilityChecks

@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
    init {
        AccessibilityChecks.enable()
    }
}

Java

import androidx.test.espresso.accessibility.AccessibilityChecks;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
    @BeforeClass
    public void enableAccessibilityChecks() {
        AccessibilityChecks.enable();
    }
}

Per impostazione predefinita, i controlli vengono eseguiti quando esegui un'azione di visualizzazione definita in ViewActions Ciascuna che include la visualizzazione su cui viene eseguita l'azione, nonché tutte viste discendenti. Puoi valutare l'intera gerarchia di visualizzazione di una schermata durante ogni controllo passando true in setRunChecksFromRootView(), come mostrato nello snippet di codice riportato di seguito:

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Elimina sottoinsiemi di risultati

Dopo che Espresso ha eseguito i controlli di accessibilità sulla tua app, potresti trovare opportunità per migliorare l'accessibilità della tua app che non riesci a gestire immediatamente. Per evitare che i test di Espresso non vadano a buon fine perché di questi risultati, puoi ignorarli temporaneamente. Test di accessibilità Framework (ATF) fornisce questa funzionalità utilizzando setSuppressingResultMatcher() che indica a Espresso di eliminare tutti i risultati che soddisfano dell'espressione di abbinamento.

Quando apporti modifiche alla tua app che riguardano un aspetto dell'accessibilità, utile per Espresso per mostrare risultati per tanti altri aspetti della accessibilità il più possibile. Per questo motivo, è meglio eliminare solo le opportunità di miglioramento note.

Quando elimini temporaneamente i risultati dei test di accessibilità che prevedi di usare da risolvere in un secondo momento, è importante non eliminare accidentalmente risultati simili. Per Per questo motivo, è consigliabile usare matcher con ambito ristretto. Per farlo, scegli corrispondente in modo che Espresso sopprime un determinato risultato solo se soddisfa ciascuno dei seguenti controlli di accessibilità:

  1. Controlli di accessibilità di un determinato tipo, come quelli che controllano il tocco dimensione target.
  2. Controlli di accessibilità che valutano un particolare elemento dell'interfaccia utente, ad esempio un pulsante.

L'ATF definisce diversi matcher per stabilire quali risultati mostrare nei test del caffè espresso. Le seguenti esempio elimina i risultati dei controlli relativi a un singolo TextView contrasto di colore dell'elemento. L'ID dell'elemento è countTV.

Kotlin

AccessibilityChecks.enable().apply {
        setSuppressingResultMatcher(
                allOf(
                    matchesCheck(TextContrastCheck::class.java),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

Java

AccessibilityValidator myChecksValidator =
    AccessibilityChecks.enable()
        .setSuppressingResultMatcher(
            allOf(
                matchesCheck(TextContrastCheck.class),
                matchesViews(withId(R.id.countTV))));