Android TV 접근성 권장사항

이 가이드에서는 Android TV의 접근성에 관한 권장사항을 제공하며 다음 내용을 설명합니다. 네이티브 및 비 네이티브 앱 모두에 대한 권장사항을 제공합니다.

TV 앱에서 접근성이 중요한 이유는 무엇인가요?

TV 시청 인구는 시각 장애를 갖고 있는 경우가 많습니다. 약 22억 명의 전 세계 인구 시각장애가 있다고 합니다 세계보건기구 (WHO)에 제출했습니다. 미국에서는 18세 이상의 미국인 중 3, 200만 명이 심각한 시력 상실, 2018년 국민보건 인터뷰 설문조사 결과. 유럽의 경우 3천만 유럽맹인연맹 (EBU)에 따르면 시각장애인 및 부분 시력의 사용자를 대상으로 합니다.

무엇보다도 시각장애가 있는 사용자는 미디어 콘텐츠를 좋아하고 완전히 시력이 정상인 동료들만큼이나 말이죠 Comcast에서 의뢰한 2017년 설문조사 시각장애인 또는 저시력 사용자 중 96% 가 81%의 TV 시청자 중 81%가 하루 1시간 이상을 시청하고 있습니다. 그러나 65% 는 TV에 나오는 콘텐츠를 찾는 데 문제가 발생한 경우를 말합니다. Google에서 진행한 2020년 설문조사에서 영국 장애인의 80% 가 동영상 시청 중에 접근성 문제를 겪었다고 응답했습니다. 주문형 스트리밍 서비스입니다

보조 기술은 저시력 사용자에게도 도움이 될 수 있지만 이는 TV 앱의 콘텐츠 탐색 여정에서 접근성을 지원하는 데 중요합니다. 예를 들어 내비게이션 안내를 제공하는 데 특히 주의를 기울이고 요소에 라벨을 적절히 지정하고 TV 앱이 접근성 기능과 호환되도록 해야 합니다. 기능을 사용할 수 있습니다. 이러한 단계를 따르면 사이트의 사용자 환경을 크게 개선할 수 있습니다. 사용할 수 있습니다

접근성 개선을 위한 첫 번째 단계는 인식입니다. 이 가이드에서는 은 귀하와 귀하의 팀이 TV 앱의 접근성 문제를 찾는 데 도움이 됩니다.

Android 접근성 리소스

Android의 접근성에 관해 자세히 알아보려면 접근성 개발 리소스를 참고하세요.

텍스트 크기 조정

Android TV 앱은 다양한 픽셀 밀도를 지원하여 텍스트 크기 조정에 관한 사용자의 환경설정을 존중해야 합니다.

다음과 같은 사항에 특히 주의하세요.

  • UI 구성요소의 크기에 wrap_content를 사용합니다.
  • 텍스트 크기에 따라 크기가 변경될 때 레이아웃에서 구성요소를 다시 정렬해야 합니다.
  • 더 큰 텍스트 크기에서도 구성요소가 화면에 맞아야 합니다.
  • 유연하지 않은 구성요소에는 sp 텍스트 크기 단위를 사용하지 마세요.
  • 맞춤 보기의 조정을 위해 FONT_SCALE의 값을 확인합니다.

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

텍스트 배율은 다음 명령어를 사용하여 변경할 수 있습니다.

adb shell settings put system font_scale 1.2f

Android 12 이상에서는 사용자가 기기에서 텍스트 크기 조정을 변경할 수 있습니다. 설정을 변경할 수 있습니다.

키보드 레이아웃

Android 13 (API 수준 33) 이상에서는 다음을 사용할 수 있습니다. getKeyCodeForKeyLocation() 드림 ~ 필요한 경우의 키 코드를 찾아 알 수 있습니다. 이는 사용자가 일부 주요 위치를 다시 매핑했거나 일반적인 레이아웃이 아닌 키보드를 사용하는 경우

오디오 설명

Android 13 (API 수준 33) 이상에서 새로운 시스템 전체 접근성 환경설정 사용자는 모든 앱에서 오디오 설명을 사용 설정할 수 있습니다. Android TV 앱에서 할 수 있는 작업 사용자의 환경설정을 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
}

자바


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
}

Android TV 앱은 사용자의 환경설정이 다음과 같이 변경될 때 이를 모니터링할 수 있습니다. 리스너 추가 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);
}