Android TV के लिए सुलभता से जुड़े सबसे सही तरीके

इस गाइड में, Android TV पर ऐक्सेसिबिलिटी के सबसे सही तरीके बताए गए हैं. साथ ही, इसमें नेटिव और नॉन-नेटिव, दोनों तरह के ऐप्लिकेशन के लिए सुझाव दिए गए हैं.

मेरे टीवी ऐप्लिकेशन के लिए सुलभता क्यों ज़रूरी है?

टीवी देखने वाले लोगों में, दृष्टिबाधित लोगों की संख्या काफ़ी ज़्यादा है. विश्व स्वास्थ्य संगठन (डब्ल्यूएचओ) के मुताबिक, दुनिया भर में अनुमानित तौर पर 220 करोड़ लोगों को देखने में परेशानी होती है. 2018 के नेशनल हेल्थ इंटरव्यू सर्वे के मुताबिक, अमेरिका में 18 साल और उससे ज़्यादा उम्र के 3.2 करोड़ लोगों की नज़र काफ़ी कमज़ोर हो गई है. यूरोपियन ब्लाइंड यूनियन (ईबीयू) के मुताबिक, यूरोप में अनुमानित तौर पर तीन करोड़ लोग अंधे हैं या उन्हें कम दिखता है.

सबसे अहम बात यह है कि दृष्टिबाधित लोग, मीडिया कॉन्टेंट का उतना ही आनंद लेते हैं जितना कि सामान्य दृष्टि वाले लोग. 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() का इस्तेमाल करके, उपयोगकर्ता की प्राथमिकता की जांच कर सकते हैं.

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);
}