Sprawdzone metody ułatwień dostępu na Androidzie TV

W tym przewodniku znajdziesz sprawdzone metody ułatwiania dostępu na Androidzie TV oraz rekomendacje dotyczące aplikacji natywnych i nienatywnych.

Dlaczego ułatwienia dostępu są ważne w mojej aplikacji na telewizory?

Wady wzroku nierzadko zdarzają się wśród osób oglądających telewizję. Szacuje się, że 2,2 miliarda ludzi na świecie masz wadę wzroku, Światowej Organizacji Zdrowia (WHO). W USA 32 miliony Amerykanów, którzy ukończyli 18 lat, doświadczyło znaczną utratę wzroku, jak wynika z badania National Health Interview Survey. W Europie dane szacunkowe wskazuje na 30 milionów dla osób niewidomych i częściowo widzących – według Europejskiej Unii Europejskiej dla Niewidomych (EBU).

Najważniejsze jest to, że osoby z wadą wzroku lubią korzystać z treści multimedialnych. tak jak ich w pełni widzący podobni. Ankieta z 2017 roku zlecona przez Comcast pokazało, że 96% użytkowników niewidomych lub niedowidzących regularnie ogląda filmy. TV, gdzie 81% widzów ogląda ponad godzinę dziennie. 65% stwierdziło jednak, mają problemy ze znalezieniem tego, co jest emitowane w telewizji. W ankiecie z 2020 r. UK, 80% osób z niepełnosprawnościami stwierdziło, że miało problemy z ułatwieniami dostępu w filmach. usługi strumieniowania na żądanie.

Chociaż technologie wspomagające mogą pomagać użytkownikom niedowidzącym, jest ważne w obsłudze ułatwień dostępu w ścieżkach odkrywania treści w aplikacjach telewizyjnych. Na przykład zadbaj szczególnie o wskazówki nawigacyjne poprawne oznaczanie elementów etykietami i zapewnienie, że aplikacje na telewizory dobrze współpracują z ułatwieniami dostępu. takich jak TalkBack. Te kroki mogą znacznie poprawić wrażenia użytkowników dla użytkowników z wadą wzroku.

Pierwszym krokiem na drodze do poprawy ułatwień dostępu jest świadomość. Z tego przewodnika dowiesz się, pomogą Tobie i Twojemu zespołowi wykrywać problemy z ułatwieniami dostępu w aplikacji TV.

Materiały dotyczące ułatwień dostępu w Androidzie

Więcej informacji o ułatwieniach dostępu na Androidzie znajdziesz w materiałach dla programistów na temat ułatwień dostępu.

Skalowanie tekstu

Aplikacje na Androida TV powinny uwzględniać preferencje użytkownika dotyczące skalowania tekstu, obsługując różne gęstości pikseli.

Zwróć szczególną uwagę na:

  • Wymiary w komponentach interfejsu użytkownika to wrap_content.
  • Upewnij się, że układy zmieniają kolejność komponentów, ponieważ ich wymiary zmieniają się w zależności od skali tekstu.
  • Zadbaj o to, aby komponenty nadal pasowały do ekranu przy większych skalach tekstu.
  • Nie używaj jednostek rozmiaru tekstu sp w przypadku komponentów, które nie są elastyczne.
  • Sprawdź wartość FONT_SCALE pod kątem dostosowania w widokach niestandardowych:

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

Skalę tekstu można zmienić za pomocą tego polecenia:

adb shell settings put system font_scale 1.2f

Na urządzeniach z Androidem 12 i nowszym użytkownicy mogą zmieniać skalowanie tekstu na urządzeniu ustawieniach.

Układy klawiatury

W Androidzie 13 (poziom API 33) i nowszym możesz używać tych funkcji: getKeyCodeForKeyLocation() do wyszukaj kody klawiszy kluczowych lokalizacji. Może to być konieczne, jeśli użytkownik ponownie mapował kluczowe lokalizacje lub używają klawiatury o nietypowym układzie.

Audiodeskrypcja

W Androidzie 13 (poziom API 33) i nowszych: nowe systemowe preferencje ułatwień dostępu umożliwia użytkownikom włączenie audiodeskrypcji we wszystkich aplikacjach. Aplikacje na Androida TV mogą możesz sprawdzić preferencje użytkownika, wysyłając do niego zapytanie 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
}

Aplikacje na Androida TV mogą monitorować zmiany preferencji użytkownika przez dodaję detektora do 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);
}