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