Erişilebilirlik için test etmek, uygulamanızı kullanıcıların bakış açısından incelemenize ve gözden kaçırabileceğiniz kullanılabilirlik sorunlarını bulmanıza olanak tanır. Erişilebilirlik testi, uygulamanızı engelliler de dahil olmak üzere tüm kullanıcılar için daha güçlü ve çok yönlü hale getirme fırsatlarını ortaya çıkarabilir.
En iyi sonuçlar için bu belgede açıklanan tüm yaklaşımları kullanın:
- Manuel test: Android erişilebilirlik hizmetlerini kullanarak uygulamanızla etkileşimde bulunun.
- Analiz araçlarını kullanarak test etme: Uygulamanızın erişilebilirliğini iyileştirme fırsatlarını keşfetmek için araçları kullanın.
- Otomatik test: Espresso ve Roboecric'te erişilebilirlik testini açın.
- Kullanıcı testi: Uygulamanızla etkileşimde bulunan kişilerden geri bildirim alın.
Manuel test
Manuel test sayesinde kullanıcılarınızın yerine koyabilirsiniz. Android AccessibilityService
nesneleri, uygulama içeriğinizin kullanıcıya sunulma şeklini ve kullanıcının içerikle etkileşim şeklini değiştirir. Erişilebilirlik hizmetlerini kullanarak uygulamanızla etkileşimde bulunarak uygulamanızda kullanıcılarınız gibi bir deneyim yaşayabilirsiniz.
TalkBack
TalkBack, Android'in yerleşik ekran okuyucusudur. TalkBack açıkken kullanıcılar ekranı görmeden Android destekli cihazlarıyla etkileşimde bulunabilirler. Görme bozukluğu olan kullanıcılar, uygulamanızı kullanmak için TalkBack'e güvenebilir.
TalkBack'i açma
- Cihazınızın Ayarlar uygulamasını açın.
- Erişilebilirlik'e gidin ve TalkBack'i seçin.
- TalkBack'i açmak için TalkBack ekranının üst tarafında Açık/Kapalı düğmesine basın.
- Onay iletişim kutusunda izinleri onaylamak için Tamam'ı seçin.
Uygulamanızı TalkBack ile keşfetme
TalkBack açıldıktan sonra gezinmek için iki yaygın yöntem vardır:
- Doğrusal gezinme: Ekran öğeleri arasında sırayla gezinmek için hızlıca sağa veya sola kaydırın. Geçerli ekran öğesini seçmek için herhangi bir yere iki kez dokunun.
- Dokunarak keşfetme: Parmağınızın altında ne olduğunu duymak için parmağınızı ekran üzerinde sürükleyin. Geçerli öğeyi seçmek için herhangi bir yere iki kez dokunun.
Uygulamanızı TalkBack ile keşfetmek için aşağıdaki adımları tamamlayın:
- Uygulamanızı açın.
- Parmağınızı kaydırarak her bir öğeyi sırayla kaydırın.
Gezinirken aşağıdaki sorunlara bakın:
- Her öğe için sesli geri bildirim, içeriğini veya amacını uygun şekilde aktarıyor mu? Anlamlı etiketler yazmayı öğrenin. * Duyurular kısa ve öz mü yoksa gereksiz derecede ayrıntılı mı?
- Ana iş akışlarını kolayca tamamlayabiliyor musunuz?
- Kaydırarak her öğeye erişebiliyor musunuz?
- Uyarılar veya diğer geçici mesajlar sesli okunur mu?
Daha fazla bilgi ve ipucu için TalkBack kullanıcı dokümanlarına bakın .
İsteğe bağlı: TalkBack geliştirici ayarları
TalkBack geliştirici ayarları, uygulamanızı TalkBack ile test etmenizi kolaylaştırır.
Geliştirici ayarlarını görüntülemek veya değiştirmek için şu adımları tamamlayın:
- Cihazınızın Ayarlar uygulamasını açın.
- Erişilebilirlik'e gidin ve TalkBack'i seçin.
Ayarlar > Gelişmiş ayarlar > Geliştirici ayarları'nı seçin:
- Günlük çıkış düzeyi: AYRINTILI'yı seçin.
- Konuşma çıkışını görüntüle: Ekranda TalkBack konuşma çıkışını görüntülemek için bu ayarı açın.
Anahtar Erişimi
Anahtar Erişimi, kullanıcıların dokunmatik ekran yerine bir anahtar kullanarak Android destekli cihazlarla etkileşim kurmasına olanak tanır. Birkaç anahtar türü vardır: AbleNet, Etkinleştirme Cihazları, RJ Cooper veya Tecla* tarafından satılanlar gibi yardımcı teknoloji cihazları; harici klavye tuşları veya düğmeler. Bu hizmet motor bozuklukları olan kullanıcılar için yararlı olabilir.
* Google, bu şirketleri veya ürünlerini desteklemez.
Anahtar erişimini etkinleştirin
Anahtar Erişimi'ni yapılandırmanın bir yolu iki anahtar kullanmaktır. Bir anahtar "Sonraki" anahtarı olarak atanır ve odağı ekran etrafında hareket ettirir, ikinci "Seç" anahtarı ise odaklanılan öğeyi seçer. Bu iki anahtarlı yöntemi kullanmak için herhangi bir donanım anahtarı çiftini kullanabilirsiniz.
"Sonraki" anahtarı olarak sesi azaltma tuşunu ve "Seç" anahtarı olarak sesi artırma tuşunu kullanarak Anahtar Erişimi'ni ayarlamak için aşağıdaki adımları tamamlayın:
- TalkBack'in kapalı olduğundan emin olun.
- Cihazınızın Ayarlar uygulamasını açın.
- Erişilebilirlik'e gidip Anahtar Erişimi'ni ve ardından Ayarlar'ı seçin.
- Anahtar Erişimi Tercihleri ekranında, Otomatik tarama'nın kapalı olduğundan emin olun.
Sesi kısma tuşunu "Sonraki" anahtarınız olarak kullanın:
- Tarama İçin Anahtarları Ata > Sonraki'ye dokunun.
- İletişim kutusu açıldığında sesi azaltma tuşuna basın. İletişim kutusunda KEYCODE_VOLUME_DOWN gösterilir.
- Onaylamak ve iletişim kutusundan çıkmak için Tamam'a dokunun.
"Seç" anahtarınız olarak sesi artırma tuşunu kullanın:
- Seç'e dokunun.
- İletişim kutusu açıldığında sesi artırma tuşuna basın. İletişim kutusunda KEYCODE_VOLUME_UP ifadesi görünür.
- Onaylamak ve iletişim kutusundan çıkmak için Tamam'a dokunun.
Geri düğmesine dokunarak Anahtar Erişimi Tercihleri'ne geri dönün.
İsteğe bağlı: TalkBack 5.1 veya sonraki bir sürümünü kullanıyorsanız sözlü geri bildirimi açmak için Sözlü geri bildirim'i seçebilirsiniz.
Geri düğmesine dokunarak ana anahtar erişimi ekranına dönün.
Anahtar Erişimi'ni açmak için Anahtar Erişimi ekranının üst kısmında Açık/Kapalı düğmesine basın.
Onay iletişim kutusunda izinleri onaylamak için Tamam'ı seçin.
Anahtar Erişimi'ni kullanarak uygulamanızı keşfetme
Uygulamanızı Anahtar Erişimi ile keşfetmek için aşağıdaki adımları tamamlayın:
- Uygulamanızı açın.
- "Sonraki" tuşuna (sesi azaltma düğmesi) basarak taramayı başlatın.
- Seçmek istediğiniz öğeye ulaşıncaya kadar "Sonraki" anahtarına basmaya devam edin.
- "Seç" tuşuna (sesi artırma düğmesi) basarak vurgulanan öğeyi seçin.
Gezinirken aşağıdaki sorunlara bakın:
- Ana iş akışlarını kolayca tamamlayabiliyor musunuz?
- Metin veya başka girişleriniz varsa kolayca içerik ekleyip düzenleyebiliyor musunuz?
- Öğeler yalnızca üzerinde işlem yapabildiğiniz durumlarda mı vurgulanıyor?
- Her öğe yalnızca bir kez mi vurgulanıyor?
- Dokunmatik ekran hareketleriyle kullanılabilen tüm işlevler, Anahtar Erişimi'nde seçilebilir kontroller veya özel işlemler olarak da kullanılabilir mi?
- TalkBack 5.1 veya sonraki bir sürümü kullanıyorsanız ve sözlü geri bildirimi etkinleştirdiyseniz her bir öğe için sözlü geri bildirim, içeriğini veya amacını uygun şekilde aktarıyor mu? Anlamlı etiketler yazmayı öğrenin.
İsteğe bağlı: Taranabilir tüm öğeleri görmek için grup seçimini kullanın
Grup seçimi, taranabilir tüm öğeleri aynı anda görmenize olanak tanıyan bir Anahtar Erişimi gezinme yöntemidir. Bu seçenek, ekranda doğru öğelerin vurgulanıp vurgulanmadığını hızlı bir şekilde kontrol etmenizi sağlar.
Grup seçimini etkinleştirmek için şu adımları uygulayın:
- Cihazınızın Ayarlar uygulamasını açın.
- Erişilebilirlik'e gidip Anahtar Erişimi'ni ve ardından Ayarlar'ı seçin.
- Anahtar Erişimi Tercihleri ekranında, Otomatik tarama'nın kapalı olduğundan emin olun.
- Tarama yöntemi > Grup seçimi'ni seçin.
- Tarama için anahtarları atama'ya dokunun.
- Grup seçimi anahtarı 1 ve Grup seçimi anahtarı 2'nin altındaki metinlerin her birine bir anahtarın atandığını gösterdiğinden emin olun. Bu dokümandaki Anahtar Erişimi'ni etkinleştirme adımlarını uygularsanız ses düğmeleri zaten atanmış demektir.
Uygulamanızı grup seçimini kullanarak Anahtar Erişimi ile keşfetmek için şu adımları tamamlayın:
Geçerli ekrandaki işlem yapılabilir tüm öğeleri vurgulamak için "Seç" tuşuna (sesi artırma düğmesi) basın. Aşağıdaki sorunlara bakın:
- Yalnızca işlem yapılabilir öğeler mi vurgulanıyor?
- İşlem yapılabilir tüm öğeler vurgulanıyor mu?
- Vurgulanan öğelerin yoğunluğu mantıklı mı?
Vurguyu silmek için farklı bir ekrana gidin.
Kullanıcıların grup seçimiyle nasıl gezinebileceği hakkında daha fazla bilgi edinmek için Anahtar Erişimi'ni kullanmayla ilgili ipuçları bölümüne bakın.
Sesli Erişim
Sesli Erişim, kullanıcıların Android destekli bir cihazı sesli komutlarla kontrol edebilmelerini sağlar. Sesli Erişim, Android 5.0 (API düzeyi 21) ve sonraki sürümleri çalıştıran cihazlarda kullanılabilir. Uygulamanızı Sesli Erişim ile test etmek için Sesli Erişim'i kullanmaya nasıl başlayacağınızı öğrenin.
Analiz araçlarını kullanarak test yapma
Analiz araçları, manuel testlerle kaçırabileceğiniz erişilebilirliği iyileştirme fırsatlarını ortaya çıkarabilir.
Erişilebilirlik Tarayıcısı
Erişilebilirlik Tarayıcısı uygulaması, ekranınızı tarar ve uygulamanızın erişilebilirliğini iyileştirme yolları önerir. Erişilebilirlik Tarayıcısı, Erişilebilirlik Testi Çerçevesi'ni kullanır ve içerik etiketlerine, tıklanabilir öğelere, kontrasta ve daha fazlasına baktıktan sonra özel öneriler sunar.
Android Erişilebilirlik Testi Çerçevesi, düzenlerinizde erişilebilirlik sorunlarını bulmanıza yardımcı olmak amacıyla Android Studio'ya entegre edilmiştir. Paneli başlatmak için hata raporu düğmesini tıklayın! tıklayın.
Şekil 1. Erişilebilirlik Tarayıcısı'nın demosu.
Daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın:
Google Play'de lansman öncesi rapor
Uygulamanızı Google Play'de dağıtıyorsanız uygulamanız için bir lansman öncesi rapora erişiminiz olur. Google Play, bu raporu Google Play Console'u kullanarak bir sürüm kanalına uygulama yüklemenizden kısa bir süre sonra oluşturur. Google Play Console'da da bulunan lansman öncesi rapor, Google Play'in uygulamanızda gerçekleştirdiği testlerin sonuçlarını gösterir.
Google Play özellikle Erişilebilirlik Test Çerçevesi'ni kullanarak erişilebilirlik testleri yürütür. Bu testlerin sonuçları, uygulamanızın lansman öncesi raporunun Erişilebilirlik sekmesindeki bir tabloda gösterilir.
Tablo, iyileştirme fırsatlarını aşağıdaki kategorilerde düzenler:
- Dokunma hedefi boyutu
- Uygulamanızda önerilenden daha küçük bir odaklanılabilir alana veya dokunma hedefi boyutuna sahip etkileşimli öğeler.
- Düşük kontrast
- Bir metin öğesi için kullanılan renk çiftinin ve bu öğenin arkasındaki arka planın, önerilenden daha düşük renk kontrastı oranına sahip olduğu örneklerdir.
- İçerik etiketleme
- Öğelerin amacını açıklayan bir etikete sahip olmayan kullanıcı arayüzü öğeleri.
- Uygulama
- Sistemin erişilebilirlik hizmetlerinin öğeleri doğru şekilde yorumlamasını zorlaştıran kullanıcı arayüzü öğelerine atanan özellikler.
Örnekler arasında düzenlenebilir
View
etiketi için bir açıklama tanımlama ve öğelerin mantıksal düzenlemesiyle eşleşmeyen bir öğe geçiş sırası kullanma yer alır.
Tablonun ardından, lansman öncesi raporda uygulamanızın anlık görüntüleri gösterilir. Bu anlık görüntüler, uygulamanızın her bir kategoride erişilebilirliğini iyileştirmek için en önemli fırsatları temsil eder. Önerilen iyileştirme ve uygulamanızda aynı iyileştirmeyi uygulayabileceğiniz yerlerin daha kapsamlı bir listesi de dahil olmak üzere daha fazla ayrıntı görmek için bir ekran görüntüsü seçin.
Şekil 2'de, Google Play'deki lansman öncesi raporun Erişilebilirlik sekmesinde görünen tablonun bir örneği gösterilmektedir. Bu şekilde, uygulamanın anlık görüntülerinden biri de yer alır. Bu durum, İleri düğmesinin önerilenden daha küçük bir dokunma hedefi boyutuna sahip olduğunu gösterir.
Kullanıcı Arayüzü Otomatikleştirici Görüntüleyici
uiautomatorviewer
aracı, Android destekli cihazlarda görüntülenmekte olan kullanıcı arayüzü bileşenlerini taramak ve analiz etmek için kullanışlı bir GUI sağlar. Düzen hiyerarşisini incelemek ve cihazın ön planında görünen kullanıcı arayüzü bileşenlerinin özelliklerini görüntülemek için Kullanıcı Arayüzü Otomatikleştirici'yi kullanabilirsiniz. Bu bilgiler, daha ayrıntılı testler oluşturmanıza olanak tanır. Örneğin, belirli bir görünür özellikle eşleşen kullanıcı arayüzü seçici oluşturabilirsiniz. Bu araç, Android SDK'sının tools
dizininde bulunur.
Erişilebilirlik testinde bu araç, diğer test yöntemleri kullanılarak bulunan sorunları ayıklamak için yararlıdır. Örneğin, manuel test, bir görünümde söylenebilir metnin olmadığı veya bir görüntülemenin zorunlu olduğu halde odak aldığı ortaya çıkarsa, sorunun kaynağını bulmanıza yardımcı olması için bu aracı kullanabilirsiniz.
Kullanıcı Arayüzü Otomatikleştirici Görüntüleyici hakkında daha fazla bilgi edinmek için Kullanıcı Arayüzü Otomatikleştirici ile otomatik testler yazma bölümüne bakın.
Hav
Android Studio, çeşitli erişilebilirlik sorunları için hata analizi uyarıları gösterir ve kaynak kodunuzdaki alakalı yerlerin bağlantılarını sağlar. Aşağıdaki örnekte, bir resimde contentDescription
özelliği eksik. Eksik içerik açıklaması aşağıdaki mesajla sonuçlanır:
[Accessibility] Missing 'contentDescription' attribute on image
Şekil 3'te, bu iletinin Android Studio'da nasıl göründüğüne dair bir örnek gösterilmektedir:
contentDescription
özelliğinin eksik olduğunu gösteren mesaj.Otomatik test
Android platformu, uygulamanızın erişilebilirliğini değerlendiren otomatik testler oluşturup çalıştırmanızı sağlayan Espresso gibi çeşitli test çerçevelerini destekler.
Espresso
Espresso, kullanıcı arayüzü testini hızlı ve kolay hale getirmek için tasarlanmış bir Android test kitaplığıdır. Uygulamanızda test edilen kullanıcı arayüzü bileşenleriyle etkileşimde bulunmanızı ve belirli davranışların gerçekleştiğini veya belirli koşulların karşılandığını iddia etmenizi sağlar.
Espresso ile erişilebilirlik testiyle ilgili genel bakış videosunu görmek için 31:54 ile 34:19 arasındaki şu videoyu izleyin: Kapsayıcı tasarım ve test: Uygulamanızı daha erişilebilir hale getirme - Google I/O 2016.
Bu bölümde, erişilebilirlik kontrollerini Espresso kullanarak nasıl çalıştıracağınız açıklanmaktadır.
Kontrolleri etkinleştir
AccessibilityChecks
sınıfını kullanarak erişilebilirlik testini etkinleştirebilir ve yapılandırabilirsiniz:
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(); } }
Kontroller varsayılan olarak, ViewActions
içinde tanımlanan herhangi bir görüntüleme işlemi gerçekleştirildiğinde çalıştırılır. Her kontrol, işlemin gerçekleştirildiği görünümün yanı sıra tüm alt görünümleri içerir. Aşağıdaki kod snippet'inde gösterildiği gibi, true
öğesini setRunChecksFromRootView()
öğesine geçirerek her kontrol sırasında ekranın tüm görünüm hiyerarşisini değerlendirebilirsiniz:
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ştirmek için hemen ele yapamayacağınız çeşitli fırsatlar bulabilirsiniz. Espresso testlerinin bu sonuçlar nedeniyle sürekli başarısız olmasını engellemek için testleri geçici olarak göz ardı edebilirsiniz. Erişilebilirlik Testi Çerçevesi (ATF), bu işlevi Espresso'ya belirtilen eşleştirici ifadesini karşılayan tüm sonuçları engellemesi talimatını veren setSuppressingResultMatcher()
yöntemini kullanarak sağlar.
Uygulamanızda erişilebilirliğin belirli bir yönünü ele alan değişiklikler yaptığınızda, Espresso'nun erişilebilirlikle ilgili mümkün olduğunca fazla farklı açıdan sonuç göstermesi faydalı olur. Bu nedenle, yalnızca bilinen iyileştirme fırsatlarını elemek en iyisidir.
Daha sonra ele almayı planladığınız erişilebilirlik testi bulgularını geçici olarak gizlediğinizde, benzer bulguları yanlışlıkla gizlememeniz önemlidir. Bu nedenle, dar kapsamlı olan eşleştiriciler kullanın. Espresso'nun belirli bir sonucu yalnızca aşağıdaki erişilebilirlik kontrollerinin her birini karşıladığında engellemesi için bir eşleştirici seçin:
- Dokunma hedefi boyutunu kontrol edenler gibi belirli bir türdeki erişilebilirlik kontrolleri.
- Düğme gibi belirli bir kullanıcı arayüzü öğesini değerlendiren erişilebilirlik kontrolleri.
ATF, Espresso testlerinizde hangi sonuçların gösterileceğini tanımlamanıza yardımcı olmak için çeşitli eşleştiriciler tanımlar. Aşağıdaki örnekte, tek bir TextView
öğesinin renk kontrastıyla ilgili kontrollerin sonuçları sınırlandırılmıştır. Öğenin kimliği: countTV
.
Kotlin
AccessibilityChecks.enable().apply { setSuppressingResultMatcher( allOf( matchesCheckNames(`is`("TextContrastViewCheck")), matchesViews(withId(R.id.countTV)) ) ) }
Java
AccessibilityValidator myChecksValidator = AccessibilityChecks.enable(); Matcher<? super AccessibilityViewCheckResult> myChecksMatcher = Matchers.allOf(matchesCheckNames(is("TextContrastViewCheck")), matchesViews(withId(R.id.countTV))); myChecksValidator.setSuppressingResultMatcher(myChecksMatcher);
Kullanıcı testi
Bu kılavuzdaki diğer test yöntemlerinin yanı sıra kullanıcı testleri, uygulamanızın kullanılabilirliği hakkında belirli ve değerli bilgiler sağlayabilir.
Uygulamanızı test edebilecek kullanıcıları bulmak için aşağıdaki gibi yöntemleri kullanın:
- Engelli bireylere yönelik eğitim sağlayan yerel kuruluşlar, kolejler veya üniversitelerle iletişime geçin.
- Sosyal çevrenize sorun. Size yardımcı olmak isteyen engelli insanlar olabilir.
- usertesting.com gibi bir test hizmetine, uygulamanızı test edip edemeyeceğini ve engelli kullanıcıları dahil edip edemeyeceklerini sorun.
- Erişilebilir gibi bir erişilebilirlik forumuna katılarak gönüllülerden uygulamanızı denemelerini isteyin.
Daha fazla ipucu için şu videonun 31:10 ile 44:51 dakika arasındaki kullanıcı testi bölümünü izleyin: Kamera arkası: Android erişilebilirliğindeki yenilikler - Google I/O 2016.