このガイドでは、Android TV のユーザー補助に関するおすすめの方法と、 ネイティブ アプリと非ネイティブ アプリの両方に関する推奨事項をご確認ください。
テレビアプリでユーザー補助が重要なのはなぜですか?
テレビを見る人にとって視覚障がいは珍しいことではありません。 世界で 22 億人が推定している 視覚障がいがある人、 世界保健機関(WHO)に提出しました。米国では 18 歳以上の米国人が 3, 200 万人にのぼる 重度の視力喪失、 2018 National Health Interview Survey より ヨーロッパでは 3,000 万ポイント 欧州視覚障害連合(EBU)によると、視覚障害者と
最も重要なことは、視覚障がいのあるユーザーはメディア コンテンツを楽しんでいることです。 同じくらい重要ですComcast の委託により 2017 年にアンケートを実施 目の不自由なユーザーやロービジョンのユーザーの 96% が、 81% が 1 日あたり 1 時間以上視聴しているテレビ。しかし、65% のユーザーが テレビで放送されているコンテンツの検索がうまくいきません。また、2020 年の調査で、 英国、 障がい者の 80% が、動画でユーザー補助の問題が発生した経験があると回答 ストリーミングサービスも提供しています
支援技術はロービジョンのユーザーを助けることができ、実際に役立ちますが、 TV アプリのコンテンツを見つける過程でアクセシビリティをサポートすることが重要です。 たとえば、経路案内や案内の提供に特に注意を払い、 要素を適切にラベル付けし、TV アプリがユーザー補助機能で適切に動作できるようにする TalkBack などの便利な機能です。これらの手順を実施すると、ユーザー エクスペリエンスが大幅に向上します。 サポートしています。
アクセシビリティを改善するための第一歩は、認知度を高めることです。このガイドの内容 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 }
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 }
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); }