अगर स्क्रीन पर ऐसा एलिमेंट है जिस पर कोई व्यक्ति क्लिक कर सकता है, छू सकता है या उसके साथ इंटरैक्ट कर सकता है, तो उसका साइज़ इतना बड़ा होना चाहिए जिससे सही तरीके से इंटरैक्शन किया जा सके. यह पक्का करना न भूलें कि इन एलिमेंट की चौड़ाई और ऊंचाई कम से कम 48dp हो, जैसा कि मटीरियल डिज़ाइन की सुलभता के लिए दिशा-निर्देशों में बताया गया है.
लागू करना
View
अगर आपने किसी लेआउट में क्लिक या टच किए जा सकने वाले एलिमेंट लागू किए हैं, तो ऐसे डाइमेंशन इस्तेमाल करें जो टच टारगेट (स्क्रीन के वे हिस्से जहां टच करने पर कोई कार्रवाई होती है) के लिए सुझाए गए साइज़ के बराबर या उससे ज़्यादा हों.
अगर इन कंट्रोल का साइज़, डाइनैमिक तौर पर तय किया गया है या कॉन्टेंट के साइज़ के आधार पर उनका साइज़ बदला गया है, तो उनके डाइमेंशन की सीमा कम पर सेट करने के लिए, android:minWidth
और android:minHeight
का इस्तेमाल करें.
किसी View
के टच किए जा सकने वाले हिस्से का साइज़ बड़ा करते समय, उसके ओरिजनल साइज़ को बनाए रखने के लिए, TouchDelegate
का इस्तेमाल करें. इससे पैरंट लेआउट, डिसेंडेंट View
के लिए टच इवेंट को मैनेज कर सकता है.
ध्यान दें: Accessibility Scanner, TouchDelegate
का पता लगा सकता है और उसे इस्तेमाल करने में मदद कर सकता है. ऐसा सिर्फ़ तब हो सकता है, जब इसे Android 10 या उसके बाद के वर्शन पर चलाया जाए. Android के पुराने वर्शन में, टच टारगेट के साइज़ को ज़रूरत के मुताबिक बड़ा करने के लिए इस एपीआई का इस्तेमाल करने पर भी, टच टारगेट के साइज़ के लिए नतीजे दिख सकते हैं.
Compose
अगर आपने किसी कंपोज़ेबल में क्लिक या टच किए जा सकने वाले एलिमेंट लागू किए हैं, तो ऐसे डाइमेंशन इस्तेमाल करें जो टच टारगेट के लिए सुझाए गए साइज़ के बराबर या उससे ज़्यादा हों.
अगर इन कंट्रोल का साइज़, डाइनैमिक तौर पर तय किया गया है या उनके कॉन्टेंट के साइज़ के आधार पर बदला गया है, तो उनके डाइमेंशन की सीमा कम पर सेट करने के लिए, Modifier.sizeIn
का इस्तेमाल करें.
clickable
बनाएं या Modifier.mergeDescendants
का इस्तेमाल करें. इससे सुलभता सेवाओं को सिर्फ़ बड़े एंसेस्टर कंपोज़ेबल पर फ़ोकस करने और उसे क्लिक इवेंट भेजने की सुविधा मिलती है.डिज़ाइन
टच टारगेट में वह क्षेत्र भी शामिल होता है जो उपयोगकर्ता के इनपुट देने पर दिखता है. टच टारगेट किसी एलिमेंट की विज़ुअल सीमाओं से ज़्यादा बड़े होते हैं: आइकॉन जैसा कोई एलिमेंट 24x24 डीपी में दिख सकता है, लेकिन उसके आस-पास की पैडिंग में, टच टारगेट पूरा 48x48 डीपी का होता है. Jetpack Compose में, Checkbox
या Switch
जैसे मटीरियल कॉम्पोनेंट अपने-आप पैडिंग जोड़ते हैं, ताकि उनका साइज़ कम-से-कम 48x48 डीपी का हो जाए. बहुत छोटे और एक-दूसरे से सटे हुए बटन जैसे कुछ मामलों में, टच किए जा सकने वाले हिस्सों को आपस में ओवरलैप किए बिना एलिमेंट का साइज़ नहीं बढ़ाया जा सकता.
कम से कम 48x48 डीपी के टच टारगेट बनाएं. इनके बीच 8 डीपी या उससे ज़्यादा का स्पेस दें. ऐसा करने से, सही जानकारी देना और टच टारगेट का आसानी से इस्तेमाल करना पक्का किया जा सकता है. 48x48 डीपी वाले टच टारगेट का साइज़, स्क्रीन पर करीब 9 मिलीमीटर होता है, चाहे स्क्रीन का साइज़ कुछ भी हो. टचस्क्रीन ऑब्जेक्ट के लिए सुझाया गया टारगेट साइज़ 7 से 10 मिलीमीटर है.
उदाहरण के लिए, मटीरियल डिज़ाइन की सुलभता के लिए दिशा-निर्देश देखें.
टेस्ट करना
किसी ऐप्लिकेशन के यूज़र इंटरफ़ेस में, छूने वाले टारगेट छोटे साइज़ के नहीं है, इसकी पुष्टि मैन्युअल तौर पर करने के लिए:
- ऐप्लिकेशन खोलें.
- इंटरफ़ेस में क्लिक किए जा सकने और छुए जा सकने वाले एलिमेंट पहचानें. ऐसे एलिमेंट भी पहचानें जिनके साथ इंटरैक्शन किया जा सकता है.
- पक्का करें कि उनमें से हर एलिमेंट का साइज़ 48x48dp हो या हर डाइमेंशन में यह करीब 9 मि.मी. हो.
Android के ऑटोमेटेड टेस्टिंग टूल, छोटे साइज़ के टच टारगेट का पता लगा सकते हैं. डिवाइस पर, ऐप्लिकेशन को मैन्युअल तौर पर टेस्ट करने के लिए, Android के लिए Accessibility Scanner का इस्तेमाल करें. ऑटोमेटेड टेस्ट के लिए, Espresso और Robolectric में सुलभता चेक इन चालू करें.