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

Ten przewodnik zawiera sprawdzone metody dotyczące dostępności na Androidzie TV oraz rekomendacje dotyczące aplikacji natywnych i nienatywnych.

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

Wśród osób oglądających telewizję nierzadko występują problemy ze wzrokiem. Według Światowej Organizacji Zdrowia (WHO) 2,2 miliarda ludzi na świecie ma problemy ze wzrokiem. 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 szacunki wskazuje na 30 milionów dla osób niewidomych i częściowo widzących – według Europejskiej Unii Europejskiej dla Niewidomych (EBU).

Co najważniejsze, użytkownicy z wadą wzroku mogą korzystać z treści multimedialnych w takim samym stopniu jak ich pełnosprawni rówieśnicy. Badanie przeprowadzone w 2017 r. na zlecenie Comcast wykazało, że 96% niewidomych i niedowidzących użytkowników regularnie ogląda telewizję, a 81% z nich spędza przed telewizorem ponad godzinę dziennie. 65% stwierdziło jednak, mają problemy ze znalezieniem tego, co jest emitowane w telewizji. W ankiecie z 2020 r. na stronie 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. Dzięki temu użytkownicy z niepełnosprawnością wzroku będą mogli znacznie lepiej korzystać z usługi.

Pierwszym krokiem na drodze do poprawy ułatwień dostępu jest uświadomienie. Ten przewodnik może pomóc Ci i Twojemu zespołowi w odkrywaniu problemów z dostępem w aplikacji na telewizor.

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 dotyczących 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 te kwestie:

  • Wymiary w komponentach interfejsu użytkownika to wrap_content.
  • Upewnij się, że układy przestawiają komponenty, gdy ich wymiary zmieniają się w zależności od skali tekstu.
  • Zadbaj o to, aby komponenty nadal mieściły się na ekranie 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 korekty 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

W Androidzie 12 i nowszych użytkownicy mogą zmieniać skalowanie tekstu w ustawieniach urządzenia.

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 (API na poziomie 33) i nowszych nowe ustawienie dostępności w całym systemie umożliwia użytkownikom włączanie audiodeskrypcji we wszystkich aplikacjach. Aplikacje na Androida TV mogą możesz sprawdzić preferencje użytkownika, wysyłając do niego zapytanie isAudioDescriptionRequested()

KotlinJava
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
}

Aplikacje na Androida TV mogą monitorować zmiany preferencji użytkownika przez dodaję detektora do AccessibilityManager:

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