Erişilebilirlik kontrolü

Erişilebilirliği test etmek, uygulamanızı farklı bir bakış açısından Erişilebilirlik ihtiyacı olan kullanıcılar da dahil olmak üzere kullanıcı tabanınızın tamamı. Bu biçim uygulamanızı daha güçlü ve çok yönlü hale getirme fırsatlarını ortaya çıkarabilir.

Bu sayfada, mevcut Espresso'nuza erişilebilirlik kontrollerini nasıl ekleyeceğiniz açıklanmaktadır. testler. Erişilebilirlik hakkında daha fazla bilgi için Erişilebilirlik kılavuzlar.

Kontrolleri etkinleştir

Erişilebilirlik testini şurada etkinleştirebilir ve yapılandırabilirsiniz: AccessibilityChecks sınıf:

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();
    }
}

Varsayılan olarak kontroller, aşağıda tanımlanan herhangi bir görüntüleme işlemi gerçekleştirdiğinizde çalıştırılır: ViewActions. Her biri kontrol seçeneği, işlemin gerçekleştirildiği görünümün yanı sıra alt öğe görünümleri. Bir ekranın görünüm hiyerarşisinin tamamını değerlendirebilirsiniz. her kontrol için true setRunChecksFromRootView(), aşağıdaki kod snippet'inde gösterildiği gibidir:

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Sonuç alt kümelerini gizle

Espresso, uygulamanızda erişilebilirlik kontrolleri çalıştırdıktan sonra, Uygulamanızın erişilebilirliğini iyileştirme ve ele almanın mümkün olmadığı fırsatlar hemen teslim edebilirsiniz. Espresso testlerinin sürekli başarısız olmasını engellemek için yoksa geçici olarak yoksayabilirsiniz. Erişilebilirlik Testi Çerçeve (ATF), bu işlevi setSuppressingResultMatcher() yöntemini kullanın. Bu yöntem, Espresso'ya belirtilen öğeyi karşılayan tüm sonuçları matcher ifadesindeki gibi.

Uygulamanızda erişilebilirliğin tek bir yönüne değinen değişiklikler yaptığınızda Espresso'nun birçok farklı alanda sonuç vermesi için faydalıdır. erişilebilir hale getirmeyi amaçlıyoruz. Bu nedenle, en iyi seçenek sadece belirli bilinen iyileştirme fırsatlarına değineceğiz.

Kullanmayı planladığınız erişilebilirlik testi bulgularını geçici olarak engellediğinizde benzer bulguları yanlışlıkla gizlememek önemlidir. Örneğin, Bu nedenle, dar kapsamlı eşleştiriciler kullanın. Bunu yapmak için, eşleştirici Böylece Espresso, belirli bir sonucu yalnızca aşağıdaki ölçütlerin her birini karşılıyorsa baskılar şu erişilebilirlik kontrollerini gerçekleştirebilirsiniz:

  1. Belirli bir türdeki erişilebilirlik kontrolleri (ör. dokunma kontrolü yapılanlar) hedef boyutu.
  2. Erişilebilirlik, düğme gibi belirli bir kullanıcı arayüzü öğesini değerlendiren kontrolleri kontrol eder.

ATF, çeşitli eşleştiricileri tanımlar kullanabilirsiniz. Aşağıdakiler örnek, tek bir TextView ile ilgili kontrollerin sonuçlarını gizler öğenin renk kontrastı. Öğenin kimliği: 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))));