Best Practices für Bedienungshilfen bei Android TV

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?

Sehbeeinträchtigungen sind bei der Bevölkerung des Fernsehens nicht ungewöhnlich. 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 liegen die Schätzungen auf 30 Millionen blinde und sehbehinderte Personen laut der Europäischen Blinden Union (EBU).

Vor allem Nutzer mit Sehbehinderung mögen Medieninhalte. genauso viel sehen wie ihre sehenden Kollegen. 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 am Tag an. 65% der Befragten Probleme mit der Suche nach TV-Sendungen 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 zwar Menschen mit eingeschränktem Sehvermögen helfen, ist wichtig, um 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. 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 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 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 Textskalierung 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.

Audiobeschreibung

Ab Android 13 (API-Level 33) eine neue systemweite Einstellung für Bedienungshilfen können Nutzer Audiobeschreibungen in allen Apps aktivieren. Android TV-Apps können überprüfen Sie die Einstellungen des Nutzers, indem Sie isAudioDescriptionRequested()

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);
}