Dieser Leitfaden enthält Best Practices zur Barrierefreiheit bei Android TV 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). In den USA haben 32 Millionen Amerikaner im Alter von 18 Jahren und älter erheblicher Sehverlust, laut der 2018 National Health Interview Survey. In Europa stehen die Schätzungen auf 30 Millionen blinde und sehbehinderte Personen laut der Europäischen Blinden Union (EBU).
Am wichtigsten ist, dass Nutzer mit Sehbehinderung Medieninhalte genauso genießen können wie Personen mit normalem Sehvermögen. Eine Umfrage von 2017, die von Comcast in Auftrag gegeben wurde, ergab, dass 96 % der Nutzer, die blind oder sehbehindert sind, regelmäßig fernsehen, wobei 81 % mehr als eine Stunde pro Tag fernsehen. 65 % gaben jedoch an, Probleme beim Suchen nach dem Fernsehprogramm zu haben. In einer Umfrage von 2020 in der Vereinigtes Königreich, 80% der Menschen mit Behinderung gaben an, dass sie Probleme mit der Barrierefreiheit von Videos hatten. On-Demand-Streaming-Dienste.
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 darauf, eine Navigationshilfe bereitzustellen und Elemente korrekt zu beschriften. Außerdem sollten TV-Apps gut mit Bedienungshilfen wie TalkBack funktionieren. Mit diesen Schritten können Sie Nutzenden mit Sehbeeinträchtigung.
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 Einstellungen der Nutzer für die Textskalierung berücksichtigen, indem verschiedene Pixeldichten unterstützt werden.
Achten Sie dabei besonders auf Folgendes:
- Verwenden Sie
wrap_content
für Dimensionen in UI-Komponenten. - Achten Sie darauf, dass sich die Layouts neu anordnen, wenn sich die Abmessungen je nach Textskala ändern.
- Achten Sie darauf, dass die Komponenten auch bei einer größeren Textgröße auf dem Bildschirm Platz finden.
- Verwenden Sie keine sp-Textgrößeneinheiten für Komponenten, die nicht flexibel sind.
Überprüfen Sie den Wert von
FONT_SCALE
für eine Anpassung in benutzerdefinierten Ansichten:// 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 in den Geräteeinstellungen ändern.
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
überprüfen Sie die Einstellungen des Nutzers, indem Sie
isAudioDescriptionRequested()
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 }
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 überwachen, wenn sich die Einstellungen eines Nutzers ändern, indem ein Listener zu AccessibilityManager
hinzugefügt wird:
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) }
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); }