इस गाइड में, Android TV पर सुलभता सुविधाओं के इस्तेमाल के सबसे सही तरीके बताए गए हैं. नेटिव और नॉन-नेटिव, दोनों तरह के ऐप्लिकेशन के लिए सुझाव.
मेरे टीवी ऐप्लिकेशन के लिए सुलभता की सुविधा क्यों ज़रूरी है?
टीवी देखने वाले लोगों में, दृष्टिबाधित होना कोई बड़ी बात नहीं है. दुनिया भर में 220 करोड़ लोग के मुताबिक, कम दृष्टि वाले व्यक्ति होते हैं डब्ल्यूएचओ की शर्तों को पूरा करते हैं. 2018 के नेशनल हेल्थ इंटरव्यू सर्वे के मुताबिक, अमेरिका में 18 साल और उससे ज़्यादा उम्र के 3.2 करोड़ लोगों की आंखों की रोशनी काफ़ी कम हो गई है. यूरोप में, यह अनुमान पॉइंट 3 करोड़ है यूरोपियन ब्लाइंड यूनियन (ईबीयू) के मुताबिक, दृष्टिहीन और कम दृष्टि वाले व्यक्ति.
सबसे ज़रूरी बात यह है कि जिन लोगों की आंखों की रोशनी कम है वे भी मीडिया कॉन्टेंट का आनंद उतना ही लेते हैं जितना कि पूरी रोशनी वाले लोग. Comcast के ज़रिए किए गए 2017 के सर्वे से पता चला है कि 96% दृष्टिहीन या कम दृष्टि वाले लोग नियमित तौर पर टीवी देखते हैं. इनमें से 81% लोग हर दिन एक घंटे से ज़्यादा टीवी देखते हैं. हालांकि, 65% लोगों ने यह टीवी पर मौजूद कॉन्टेंट को खोजने में समस्या का सामना करना पड़ रहा हो. 2020 में यूनाइटेड किंगडम में किए गए एक सर्वे में, 80% लोगों ने बताया कि उन्हें मांग पर वीडियो देखने की सुविधा देने वाली स्ट्रीमिंग सेवाओं को इस्तेमाल करने में समस्याएं आती हैं.
सहायक टेक्नोलॉजी कम दृष्टि वाले लोगों की मदद कर सकती है और कर सकती है. हालांकि, यह ज़रूरी है कि अहम है, ताकि टीवी ऐप्लिकेशन पर कॉन्टेंट खोजने की प्रक्रिया में आसानी से मदद मिल सके. उदाहरण के लिए, नेविगेशन के लिए दिशा-निर्देश देने और एलिमेंट को सही तरीके से लेबल करने पर ज़्यादा ध्यान दें. साथ ही, पक्का करें कि टीवी ऐप्लिकेशन, TalkBack जैसी सुलभता सुविधाओं के साथ अच्छी तरह से काम करते हों. इन चरणों को पूरा करने से, दृष्टि बाधित उपयोगकर्ताओं के लिए.
सुलभता को बेहतर बनाने के लिए, सबसे पहले इस बारे में जागरूकता बढ़ाना ज़रूरी है. यह गाइड ये काम कर सकती है: इससे आपको और आपकी टीम को, टीवी ऐप्लिकेशन में सुलभता से जुड़ी समस्याओं का पता लगाने में मदद मिलती है.
Android की सुलभता सुविधाओं के बारे में जानकारी देने वाले संसाधन
Android पर सुलभता के बारे में ज़्यादा जानने के लिए, सुलभता सुविधाओं को बेहतर बनाने से जुड़े संसाधन देखें.
टेक्स्ट स्केलिंग
Android TV के ऐप्लिकेशन को टेक्स्ट स्केलिंग के लिए, उपयोगकर्ता की पसंद को ध्यान में रखना चाहिए. ऐसा करने के लिए, वे अलग-अलग पिक्सल डेंसिटी के साथ काम करते हैं.
इन बातों का खास ध्यान रखें:
- यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट में डाइमेंशन के लिए,
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 (एपीआई लेवल 33) और उसके बाद वाले वर्शन में,
getKeyCodeForKeyLocation()
से
इसके लिए कीकोड देखें
उम्मीद के मुताबिक मुख्य जगहें.
अगर उपयोगकर्ता ने कुछ मुख्य जगहों को फिर से मैप किया है या वह ऐसे कीबोर्ड का इस्तेमाल कर रहा है जिसमें सामान्य लेआउट नहीं है, तो ऐसा करना ज़रूरी हो सकता है.
ऑडियो फ़ॉर्मैट में जानकारी
Android 13 (एपीआई लेवल 33) और उसके बाद के वर्शन में, सिस्टम-वाइड सुलभता से जुड़ी एक नई सेटिंग की मदद से, उपयोगकर्ता सभी ऐप्लिकेशन में ऑडियो डिस्क्रिप्शन की सुविधा चालू कर सकते हैं. Android TV के ऐप्लिकेशन ये काम कर सकते हैं
उपयोगकर्ता की पसंद के बारे में जानने के लिए
isAudioDescriptionRequested()
.
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
:
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) }
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); }