Android TV için erişilebilirlikle ilgili en iyi uygulamalar

Bu rehberde, Android TV'de erişilebilirlikle ilgili en iyi uygulamalar sunulmakta ve hem yerel hem yerel olmayan uygulamalar için öneriler sunulmaktadır.

Erişilebilirlik, TV uygulamam için neden önemli?

Televizyon izleyen kişiler arasında görme bozuklukları yaygın görülen bir durumdur. Dünya Sağlık Örgütüne (DSÖ) göre dünya genelinde tahminen 2, 2 milyar kişi görme bozukluğu yaşıyor. 2018 Ulusal Sağlık Görüşme Anketi'ne göre, ABD'de 18 yaş ve üstü 32 milyon Amerikalı önemli ölçüde görme kaybı yaşamıştır. Avrupa Görme Engelliler Birliği'ne (EBU) göre Avrupa'da tahminler, görme engelli ve kısmen gören 30 milyon kişi olduğu anlamına geliyor.

En önemlisi, görme bozukluğu olan kullanıcılar, medya içeriklerini tam gören meslektaşları kadar keyif alır. Comcast tarafından 2017'de yapılan bir anket, görme engelli olan veya az gören kullanıcıların% 96'sının düzenli olarak TV izlediğini ve% 81'inin günde bir saatten fazla izlediğini gösterdi. Ancak, %65'i TV'de bir şeyler ararken sorunlar yaşadıklarını da bildirdi. Birleşik Krallık'ta 2020 yılında yapılan bir ankete göre, engelli kişilerin% 80'i seç-izle video akış hizmetleriyle erişilebilirlik sorunları yaşadığını belirtti.

Yardımcı teknolojiler az gören kullanıcılara yardımcı olabilir ve yardımcı olabilir, ancak TV uygulamalarının içerik keşfetme yolculuklarında erişilebilirliği desteklemek önemlidir. Örneğin, gezinme rehberliği ve doğru etiketleme öğeleri sağlamaya daha fazla dikkat edin ve TV uygulamalarının TalkBack gibi erişilebilirlik özellikleriyle düzgün çalıştığından emin olun. Bu adımlar, görme bozukluğu olan kullanıcıların deneyimini önemli ölçüde iyileştirebilir.

Erişilebilirliği iyileştirmenin ilk adımı farkındalıktır. Bu rehber, sizin ve ekibinizin TV uygulamanızla ilgili erişilebilirlik sorunlarını ortaya çıkarmasına yardımcı olabilir.

Android erişilebilirlik kaynakları

Android'de erişilebilirlik hakkında daha fazla bilgi edinmek için erişilebilirlik geliştirme kaynaklarımıza bakın.

Metin ölçeklendirme

Android TV uygulamaları farklı piksel yoğunluklarını destekleyerek kullanıcının metin ölçeklendirme tercihine uymalıdır.

Aşağıdakilere özellikle dikkat edin:

  • Kullanıcı arayüzü bileşenlerindeki boyutlar için wrap_content kullanın.
  • Boyutları metin ölçeğine göre değiştikçe düzenlerin bileşenleri yeniden düzenlediğinden emin olun.
  • Bileşenlerin daha büyük metin ölçeklerinde ekrana sığdığından emin olun.
  • Esnek olmayan bileşenler için sp metin boyutu birimleri kullanmayın.
  • Özel görünümlerde düzenleme için FONT_SCALE değerini kontrol edin:

    // Checking font scale with Context
    val scale = resources.configuration.fontScale
    Log.d(TAG, "Text scale is: " + scale)
    

Metin ölçeği aşağıdaki komutla değiştirilebilir:

adb shell settings put system font_scale 1.2f

Android 12 ve sonraki sürümlerde kullanıcılar metin ölçeklemeyi cihaz ayarlarından değiştirebilir.

Klavye düzenleri

Android 13 (API düzeyi 33) ve sonraki sürümlerde, beklenen anahtar konumları için anahtar kodlarını aramak üzere getKeyCodeForKeyLocation() aracını kullanabilirsiniz. Kullanıcı bazı tuş konumlarını yeniden eşlemişse veya tipik bir düzene sahip olmayan bir klavye kullanıyorsa bu gerekli olabilir.

Sesli açıklama

Android 13 (API düzeyi 33) ve sonraki sürümlerde, sistem genelindeki yeni erişilebilirlik tercihi, kullanıcıların tüm uygulamalarda sesli açıklamaları etkinleştirmesine olanak tanır. Android TV uygulamaları, isAudioDescriptionRequested() ile sorgulayarak kullanıcının tercihini kontrol edebilir.

Kotlin


private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (am.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}

Java


private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

Android TV uygulamaları, AccessibilityManager'e işleyici ekleyerek bir kullanıcının tercihinin ne zaman değiştiğini izleyebilir:

Kotlin


private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}

Java


private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}