सिद्धांत और Jetpack Compose में लागू करने का तरीका
अपने Android ऐप्लिकेशन को इस तरह बनाएं कि उसे सभी लोग इस्तेमाल कर सकें. वे लोग भी इस्तेमाल कर सकें जिन्हें सुलभता की ज़रूरत हो.
कम दृष्टि, कलर ब्लाइंडनेस, सुनने में दिक्कत, हाथ-पैरों को हिलाने में दिक्कत, सीखने-समझने में दिक्कत, और अन्य कई तरह की दिव्यांगताओं वाले लोग Android डिवाइसों का इस्तेमाल करते हैं. सुलभता को ध्यान में रखकर ऐप्लिकेशन डेवलप करने से, सुलभता से जुड़ी ज़रूरतों वाले लोगों को बेहतर अनुभव मिलता है.
इस पेज पर, सुलभता से जुड़े मुख्य एलिमेंट लागू करने के लिए दिशा-निर्देश दिए गए हैं. इससे सभी लोग आपके ऐप्लिकेशन को आसानी से इस्तेमाल कर पाएंगे. अपने ऐप्लिकेशन को ज़्यादा सुलभ बनाने के बारे में ज़्यादा जानकारी के लिए, ऐप्लिकेशन की सुलभता के सिद्धांत लेख पढ़ें.
बड़े और आसान कंट्रोल इस्तेमाल करें
अगर आपके ऐप्लिकेशन के कंट्रोल साफ़ तौर पर दिखते हैं और उन पर टैप करना आसान होता है, तो ऐप्लिकेशन का यूज़र इंटरफ़ेस (यूआई) इस्तेमाल करना आसान हो जाता है. हमारा सुझाव है कि हर इंटरैक्टिव यूज़र इंटरफ़ेस (यूआई) एलिमेंट का फ़ोकस करने लायक एरिया या टच टारगेट साइज़ कम से कम 48dp x 48dp होना चाहिए. बड़ा साइज़ और भी बेहतर होता है.
किसी यूज़र इंटरफ़ेस (यूआई) एलिमेंट के टच टारगेट का साइज़ बड़ा होने के लिए, ये दोनों शर्तें पूरी होनी चाहिए:
android:paddingLeft,android:minWidth, औरandroid:paddingRightकी वैल्यू का योग 48 डीपी से ज़्यादा या उसके बराबर है.android:paddingTop,android:minHeight, औरandroid:paddingBottomकी वैल्यू का योग 48 डीपी से ज़्यादा या उसके बराबर है.
पैडिंग की वैल्यू की मदद से, किसी ऑब्जेक्ट के दिखने वाले साइज़ को 48dp x 48dp से कम किया जा सकता है. हालांकि, इससे टच टारगेट के सुझाए गए साइज़ पर कोई असर नहीं पड़ता.
नीचे दिए गए कोड स्निपेट में, सुझाए गए टच टारगेट साइज़ वाला एलिमेंट दिखाया गया है:
<ImageButton ... android:paddingLeft="4dp" android:minWidth="40dp" android:paddingRight="4dp" android:paddingTop="8dp" android:minHeight="32dp" android:paddingBottom="8dp" />
हर यूज़र इंटरफ़ेस (यूआई) एलिमेंट के बारे में बताना
अपने ऐप्लिकेशन में मौजूद हर यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए, एक ऐसा ब्यौरा शामिल करें जिसमें एलिमेंट के मकसद के बारे में बताया गया हो. ज़्यादातर मामलों में, इस जानकारी को एलिमेंट के contentDescription एट्रिब्यूट में शामिल किया जाता है. जैसा कि यहां दिए गए कोड स्निपेट में दिखाया गया है:
<!-- Use string resources for easier localization. --> <!-- The en-US value for the following string is "Inspect". --> <ImageView ... android:contentDescription="@string/inspect" />
अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट में ब्यौरे जोड़ते समय, इन सबसे सही तरीकों को ध्यान में रखें:
कॉन्टेंट की जानकारी में यूज़र इंटरफ़ेस (यूआई) एलिमेंट का टाइप शामिल न करें. स्क्रीन रीडर, एलिमेंट के टाइप और ब्यौरे, दोनों के बारे में अपने-आप बताते हैं. उदाहरण के लिए, अगर किसी बटन को चुनने पर आपके ऐप्लिकेशन में "सबमिट करें" कार्रवाई होती है, तो बटन के ब्यौरे को
"Submit"के तौर पर मार्क करें, न कि"Submit button"के तौर पर.हर ब्यौरा यूनीक होना चाहिए. इस तरह, जब स्क्रीन रीडर इस्तेमाल करने वाले लोगों को किसी एलिमेंट के बारे में बार-बार जानकारी मिलती है, तो वे यह सही तरीके से पहचान पाते हैं कि फ़ोकस उस एलिमेंट पर है जिस पर पहले भी फ़ोकस किया गया था. खास तौर पर, व्यू ग्रुप में मौजूद हर आइटम, जैसे कि
RecyclerViewके लिए अलग-अलग ब्यौरा होना चाहिए. हर ब्यौरे में, किसी आइटम के लिए यूनीक कॉन्टेंट होना चाहिए. जैसे, जगहों की सूची में किसी शहर का नाम.अगर आपके ऐप्लिकेशन का
minSdkVersion16या इससे ज़्यादा है, तो सिर्फ़ सजावट के लिए इस्तेमाल किए जाने वाले ग्राफ़िकल एलिमेंट के लिए,android:importantForAccessibilityएट्रिब्यूट को"no"पर सेट किया जा सकता है.
अन्य संसाधन
अपने ऐप्लिकेशन को ज़्यादा से ज़्यादा लोगों तक पहुंचाने के बारे में ज़्यादा जानने के लिए, यहां दिए गए अतिरिक्त संसाधन देखें: