Panduan ini memberikan praktik terbaik untuk aksesibilitas di Android TV dan memberikan rekomendasi untuk aplikasi native dan non-native.
Mengapa aksesibilitas penting untuk aplikasi TV saya?
Gangguan penglihatan tidak jarang terjadi di kalangan penonton TV. Menurut Organisasi Kesehatan Dunia (WHO), diperkirakan 2,2 miliar orang di seluruh dunia memiliki gangguan penglihatan. Di Amerika Serikat, 32 juta orang Amerika berusia 18 tahun ke atas telah mengalami kehilangan penglihatan yang signifikan, menurut Survei Wawancara Kesehatan Nasional 2018. Di Eropa, estimasi menunjukkan 30 juta orang buta dan sebagian buta, menurut European Blind Union (EBU).
Yang paling penting, pengguna dengan gangguan penglihatan menikmati konten media sebanyak pengguna yang memiliki penglihatan normal. Survei tahun 2017 yang dipesan oleh Comcast menunjukkan bahwa 96% pengguna yang buta atau memiliki gangguan penglihatan rutin menonton TV, dengan 81% menonton lebih dari satu jam per hari. Namun, 65% juga melaporkan mengalami masalah saat mencari acara TV. Selain itu, dalam survei tahun 2020 di Inggris Raya, 80% penyandang disabilitas mengatakan bahwa mereka mengalami masalah aksesibilitas dengan layanan streaming video on demand.
Meskipun teknologi pendukung dapat dan memang membantu pengguna dengan gangguan penglihatan, penting untuk mendukung aksesibilitas dalam perjalanan penemuan konten untuk aplikasi TV. Misalnya, perhatikan dengan cermat untuk memberikan panduan navigasi dan memberi label pada elemen dengan benar, serta pastikan aplikasi TV berfungsi dengan baik dengan fitur aksesibilitas seperti TalkBack. Langkah-langkah ini dapat secara signifikan meningkatkan pengalaman bagi pengguna yang mengalami gangguan penglihatan.
Langkah pertama untuk meningkatkan aksesibilitas adalah kesadaran. Panduan ini dapat membantu Anda dan tim Anda menemukan masalah aksesibilitas pada aplikasi TV.
Referensi aksesibilitas Android
Untuk mempelajari aksesibilitas di Android lebih lanjut, lihat referensi pengembangan aksesibilitas kami.
Penskalaan Teks
Aplikasi Android TV harus mengikuti preferensi pengguna untuk penskalaan teks dengan mendukung kepadatan piksel yang berbeda.
Perhatikan dengan cermat:
- Gunakan
wrap_content
untuk dimensi dalam komponen UI. - Pastikan tata letak menyusun ulang komponen saat dimensinya berubah bergantung pada skala teks.
- Pastikan komponen masih muat di layar dengan skala teks yang lebih besar.
- Jangan gunakan satuan ukuran teks sp untuk komponen yang tidak fleksibel.
Periksa nilai
FONT_SCALE
untuk penyesuaian di tampilan kustom:// Checking font scale with Context val scale = resources.configuration.fontScale Log.d(TAG, "Text scale is: " + scale)
Skala teks dapat diubah dengan perintah berikut:
adb shell settings put system font_scale 1.2f
Di Android 12 dan yang lebih baru, pengguna dapat mengubah penskalaan teks dari setelan perangkat.
Tata letak keyboard
Di Android 13 (API level 33) dan yang lebih tinggi, Anda dapat menggunakan
getKeyCodeForKeyLocation()
untuk
mencari kode kunci untuk
lokasi kunci yang diharapkan.
Hal ini mungkin diperlukan jika pengguna telah memetakan ulang beberapa lokasi tombol atau jika mereka
menggunakan keyboard yang tidak memiliki tata letak standar.
Deskripsi audio
Di Android 13 (API level 33) dan yang lebih baru, preferensi aksesibilitas baru di seluruh sistem
memungkinkan pengguna mengaktifkan deskripsi audio di semua aplikasi. Aplikasi Android TV dapat
memeriksa preferensi pengguna dengan membuat kueri dengan
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 }
Aplikasi Android TV dapat memantau kapan preferensi pengguna berubah dengan
menambahkan pemroses ke
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); }