In diesem Leitfaden finden Sie Best Practices für die Barrierefreiheit auf Android TV sowie Empfehlungen für native und nicht native Apps.
Warum ist Barrierefreiheit für meine TV-App wichtig?
Sehbehinderungen sind bei Fernsehzuschauern keine Seltenheit. Geschätzte 2,2 Milliarden Menschen weltweit eine Sehbeeinträchtigung haben, an die Weltgesundheitsorganisation (WHO). Laut der National Health Interview Survey 2018 leiden in den USA 32 Millionen Menschen ab 18 Jahren an einem erheblichen Sehverlust. In Europa gibt es nach Schätzungen der European Blind Union (EBU) 30 Millionen blinde und sehbehinderte Menschen.
Am wichtigsten ist, dass Nutzer mit Sehbehinderung Medieninhalte genauso genießen können wie Personen mit normalem Sehvermögen. Eine von Comcast in Auftrag gegebene Umfrage von 2017 zeigten, dass 96% der Nutzer mit Sehbehinderung oder eingeschränktem Sehvermögen sich regelmäßig Videos ansehen, Fernsehen: 81% sehen sich mehr als eine Stunde täglich an. 65% der Befragten Probleme mit der Suche nach TV-Sendungen haben. Und in einer Umfrage von 2020 im Vereinigten Königreich gaben 80 % der Menschen mit Behinderung an, dass sie Probleme mit der Barrierefreiheit bei Video-on-Demand-Streamingdiensten hatten.
Hilfstechnologien können und helfen Nutzern mit eingeschränktem Sehvermögen. Es ist jedoch wichtig, die Barrierefreiheit bei der Suche nach Inhalten in TV-Apps zu unterstützen. Achten Sie beispielsweise besonders auf Navigationshinweise und Elemente richtig beschriften und dafür sorgen, dass TV-Apps gut mit Bedienungshilfen funktionieren Funktionen wie TalkBack. Diese Schritte können die Nutzung für Nutzer mit Sehbehinderung erheblich verbessern.
Der erste Schritt zur Verbesserung der Barrierefreiheit ist das Bewusstsein. Dieser Leitfaden kann können Sie und Ihr Team Probleme mit der Barrierefreiheit Ihrer TV-App ermitteln.
Bedienungshilfen für Android
Weitere Informationen zu Bedienungshilfen unter Android finden Sie in unseren Ressourcen zur Entwicklung von Bedienungshilfen.
Text-Skalierung
Android TV-Apps sollten die vom Nutzer bevorzugte Textskalierung berücksichtigen, indem unterschiedliche Pixeldichten unterstützt werden.
Achten Sie besonders auf Folgendes:
- Verwenden Sie
wrap_content
für Dimensionen in UI-Komponenten. - Stellen Sie sicher, dass Layouts Komponenten neu anordnen, wenn sich ihre Abmessungen je nach Textskala ändern.
- Achten Sie darauf, dass die Komponenten auch bei größerem Text auf den Bildschirm passen.
- Verwenden Sie keine Textgrößeneinheiten in sp für Komponenten, die nicht flexibel sind.
Prüfen Sie den Wert von
FONT_SCALE
in benutzerdefinierten Datenansichten:// Checking font scale with Context val scale = resources.configuration.fontScale Log.d(TAG, "Text scale is: " + scale)
Die Textskala kann mit dem folgenden Befehl geändert werden:
adb shell settings put system font_scale 1.2f
Unter Android 12 und höher können Nutzer die Textskalierung vom Gerät aus ändern Einstellungen.
Tastaturlayouts
Unter Android 13 (API-Level 33) und höher können Sie
getKeyCodeForKeyLocation()
bis
nach den Keycodes suchen
die erwarteten wichtigen Standorte.
Das kann notwendig sein, wenn Nutzende wichtige Standorte neu zugeordnet haben
verwenden eine Tastatur, die kein typisches Layout hat.
Audiodeskription
Unter Android 13 (API-Level 33) und höher können Nutzer über eine neue systemweite Einstellung für die Barrierefreiheit Audiobeschreibungen für alle Apps aktivieren. Android TV-Apps können die Einstellung des Nutzers prüfen, indem sie ihn mit isAudioDescriptionRequested()
abfragen.
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-Apps können anhand
Hinzufügen eines Listeners zu
AccessibilityManager
:
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); }