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