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 mojej aplikacji na telewizory?

Wady wzroku nierzadko zdarzają się wśród osób oglądających telewizję. Według Światowej Organizacji Zdrowia (WHO) 2,2 miliarda ludzi na świecie ma problemy ze wzrokiem. Według Narodowego Ankietowego Badania Zdrowia z 2018 r. w Stanach Zjednoczonych 32 miliony Amerykanów w wieku co najmniej 18 lat doświadczyło znacznego pogorszenia wzroku. Według Europejskiego Związku Niewidomych (EBU) w Europie 30 milionów osób niewidzących i słabowidzących.

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% respondentów zgłasza jednak, że ma problemy z wyszukiwaniem informacji o programach telewizyjnych. W badaniu przeprowadzonym w 2020 r. w Wielkiej Brytanii 80% osób niepełnosprawnych stwierdziło, że w przypadku usług strumieniowania wideo na żądanie napotykają problemy z dostępnością.

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 w kierunku poprawy ułatwień dostępu jest zwiększanie świadomości. 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 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:

  • 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 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

Na Androidzie 12 i nowszych 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 być to konieczne, jeśli użytkownik zmienił mapowanie niektórych klawiszy lub używa 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);
}