Erişilebilirliği test etmek, uygulamanızı kullanıcıların bakış açısıyla değerlendirmenize 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 esnek 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 yapma: Uygulamanızın erişilebilirliğini iyileştirme fırsatlarını keşfetmek için araçları kullanın.
- Otomatik test: Espresso ve Robolectric'te erişilebilirlik testini etkinleştirin.
- Kullanıcı testi: Uygulamanızla etkileşimde bulunan kişilerden geri bildirim alın.
Manuel test
Manuel testler sizi kullanıcının yerine koymanızı sağlar. Android
AccessibilityService nesneleri, uygulama içeriğinizin kullanıcıya sunulma şeklini ve kullanıcının içerikle etkileşimde bulunma şeklini değiştirir. Erişilebilirlik hizmetlerini kullanarak uygulamanızla etkileşimde bulunarak uygulamanızı kullanıcılarınız gibi deneyimleyebilirsiniz.
TalkBack
TalkBack, Android'in yerleşik ekran okuyucusudur. TalkBack açık olduğunda, 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üvenebilirler.
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 kısmındaki Açık/Kapalı tuşlarına 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 yaygın olarak kullanılan iki yol 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.
- Öğeleri 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 ayrıntılara mı yer veriyor?
- Ana iş akışlarını kolayca tamamlayabiliyor musunuz?
- Kaydırarak her öğeye ulaşabiliyor musunuz?
- Uyarılar veya diğer geçici mesajlar sesli okunur mu?
Daha fazla bilgi ve ipucu için TalkBack kullanıcı belgelerine 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şimde bulunması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 tanımlanır ve odağı ekran etrafında hareket ettirir. İkinci "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 gidin ve 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 azaltma 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 ifadesi görünür.
- 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 gösterilir.
- 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ındaki Açık/Kapalı öğesine 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.
- "İleri" anahtarınıza (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 içeriği kolayca ekleyip düzenleyebiliyor musunuz?
- Öğeler yalnızca üzerinde işlem yapabildiğinizde mi 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 edebilmenizi sağlar.
Grup seçimini etkinleştirmek için aşağıdaki adımları uygulayın:
- Cihazınızın Ayarlar uygulamasını açın.
- Erişilebilirlik'e gidin ve 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 metnin, her birine bir anahtar atandığını gösterdiğinden emin olun. Bu dokümandaki Anahtar Erişimi'ni açma adımlarını uygularsanız ses düğmeleri zaten atanmıştır.
Uygulamanızı grup seçimini kullanarak Anahtar Erişimi ile keşfetmek için aşağıdaki 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. Şu 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 edebilmesini 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 etme
Analiz araçları, manuel testlerde kaçırabileceğiniz erişilebilirliği iyileştirme fırsatlarını ortaya çıkarabilir.
Kullanıcı Arayüzü Denetimi Oluştur
Android Studio'nun, oluşturma kullanıcı arayüzünüzü erişilebilirlik sorunları için otomatik olarak denetlemesini sağlamak üzere Oluşturma Önizlemesi'nde E-posta Oluşturma Kullanıcı Arayüzü Kontrol modunu etkinleştirin. Android Studio, büyük ekranlarda uzatılmış metin veya sorunlar panelinde düşük renk kontrastı gibi sorunları vurgulayarak kullanıcı arayüzünüzün farklı ekran boyutlarında çalışıp çalışmadığını kontrol eder.
Erişilebilirlik Tarayıcısı
Erişilebilirlik Tarayıcısı uygulaması, ekranınızı tarayıp uygulamanızın erişilebilirliğini iyileştirmenin yollarını önerir. Erişilebilirlik Tarayıcısı, Erişilebilirlik Testi Çerçevesini kullanır ve içerik etiketlerine, tıklanabilir öğelere, kontrasta ve diğer öğelere baktıktan sonra belirli öneriler sunar.
Android Accessibility Test Framework, düzenlerinizde erişilebilirlik sorunlarını bulmanıza yardımcı olmak için 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 kaynakları inceleyin:
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 sürüm kanalına bir 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örüntüler.
Google Play özellikle Erişilebilirlik Testi Ç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örünür.
Tabloda, iyileştirme fırsatları aşağıdaki kategorilere ayrılır:
- Dokunma hedefi boyutu
- Uygulamanızda, önerilenden daha küçük bir odaklanılabilir alana veya dokunma hedefi boyutuna sahip olan 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 bir renk kontrastı oranına sahip olduğu örneklerdir.
- İçerik etiketleme
- Öğelerin amacını açıklayan bir etiketin bulunmadığı 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.
Örnek olarak, düzenlenebilir
Viewetiketi için bir açıklama tanımlama ve öğelerin mantıksal düzenlemesiyle eşleşmeyen bir öğe geçiş sırası kullanma verilebilir.
Tabloya göre, 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 kategoride erişilebilirliğini iyileştirmek için en iyi 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 ö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ü Otomatik Görüntüleyici 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 sunar. 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. Araç, Android SDK'nın
tools dizininde bulunur.
Erişilebilirlik testinde bu araç, başka test yöntemleri kullanılarak bulunan sorunları ayıklamak için kullanışlıdır. Örneğin, manuel test sonucunda bir görünümde söylenebilir metin olmadığı veya gerekli olduğu halde bir görünüme odaklanılmadığı ortaya çıkarsa sorunun kaynağını bulmanıza yardımcı olması için bu aracı kullanabilirsiniz.
Kullanıcı Arayüzü Otomatikleştirici Görüntüleyicisi hakkında daha fazla bilgi edinmek için Kullanıcı Arayüzü Automator ile otomatik testler yazma bölümüne bakın.
Hav
Android Studio, çeşitli erişilebilirlik sorunları için lint uyarıları gösterir ve kaynak kodunuzdaki alakalı yerlere bağlantılar sağlar. Aşağıdaki örnekte, bir resmin
contentDescription özelliği eksiktir. Eksik içerik açıklaması şu mesajla sonuçlanır:
[Accessibility] Missing 'contentDescription' attribute on image
Şekil 3'te bu mesajın Android Studio'da nasıl göründüğüne ilişkin bir örnek gösterilmektedir:
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 testinin 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, Espresso kullanarak erişilebilirlik kontrollerini 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ştirdiğinizde ç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 de içerir. Aşağıdaki kod snippet'inde gösterildiği gibi,
true öğesini
setRunChecksFromRootView() öğesine geçirerek her kontrol sırasında bir ekranın tüm görünüm hiyerarşisini değerlendirebilirsiniz:
Kotlin
AccessibilityChecks.enable().setRunChecksFromRootView(true)
Java
AccessibilityChecks.enable().setRunChecksFromRootView(true);
Sonuçların alt kümelerini gizle
Espresso, uygulamanızda erişilebilirlik kontrollerini ç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 yüzünden sürekli olarak başarısız olmasını önlemek için
testleri geçici olarak göz ardı edebilirsiniz. Erişilebilirlik Testi Çerçevesi (ATF), bu işlevi
setSuppressingResultMatcher() yöntemini kullanarak sağlar. Bu yöntem, Espresso'ya belirtilen eşleştirici ifadesini karşılayan tüm sonuçları engellemesi talimatını verir.
Uygulamanızda erişilebilirliğin belirli bir yönünü ele alan değişiklikler yaptığınızda Espresso'nun, erişilebilirliği mümkün olduğunca farklı yönleriyle ilgili sonuçlar göstermesi faydalı olur. Bu nedenle, bilinen iyileştirme fırsatlarını saklamak 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, kapsamı dar olan eşleyiciler kullanın. Bunun için bir eşleştirici seçin. Böylece Espresso yalnızca aşağıdaki erişilebilirlik kontrollerinin her birini karşılıyorsa belirli bir sonucu gizler:
- Dokunma hedefi boyutunu kontrol edenler gibi belirli bir türdeki erişilebilirlik kontrolleri.
- Erişilebilirlik kontrolleri, düğme gibi belirli bir kullanıcı arayüzü öğesini değerlendirir.
ATF, Espresso testlerinizde hangi sonuçların gösterileceğini tanımlamanıza yardımcı olmak için birkaç eşleyici tanımlar. Aşağıdaki örnek, tek bir
TextView öğesinin renk kontrastıyla ilgili kontrollerin sonuçlarını gizler. Öğ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))));
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 yöntemleri kullanın:
- Engelli bireyler için eğitim sağlayan yerel kuruluşlara, kolejlere veya üniversitelere ulaşın.
- Sosyal çevrenize sorun. Yardımcı olmak isteyen engelli insanlar olabilir.
- usertesting.com gibi bir test hizmeti sunan bir kullanıcıdan uygulamanızı test edip edemeyeceğini ve engelli kullanıcıları dahil edip edemeyeceğini sorun.
- Accessible 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'de erişilebilirlik ile ilgili yenilikler - Google I/O 2016.