पृष्ठभूमि
वह व्यक्ति, जो TalkBack स्क्रीन रीडर का इस्तेमाल करता है, किसी ऐप्लिकेशन को दो तरीकों से नेविगेट कर सकता है:
- छूकर, उससे जुड़ी जानकारी सुनना: घटकों की वास्तविक व्यवस्था जानने के लिए स्क्रीन पर एक उंगली से खीचें और छोड़ें.
- रैखिक रूप से नेविगेट करना: एक बार में एक आइटम को आगे या पीछे ले जाने के लिए, दाएं और बाएं स्वाइप करें.
Android ऐप्लिकेशन को छूकर जानने और रैखिक रूप से नेविगेट करने, दोनों की सुविधा देनी चाहिए. रैखिक रूप से नेविगेट करने के दौरान ट्रैवर्सल क्रम को सामान्य रूप से विज़ुअल क्रम से मिलान करना चाहिए या ट्रैवर्सल क्रम को किसी दूसरे तरीके से ऑप्टिमाइज़ किया जाना चाहिए ताकि क्रम से लगाना स्क्रीन रीडर का इस्तेमाल करने वाले उपयोगकर्ताओं के लिए तर्कसंगत बना रहे.
डिफ़ॉल्ट रूप से, TalkBack ऐप्लिकेशन के देखे जाने के पदानुक्रम का इस्तेमाल रैखिक रूप से नेविगेट करने के दौरान आइटम का ट्रैवर्सल क्रम पता लगाने के लिए करता है.
क्रियान्वयन
ऐसे मामलों में जहां किसी ऐप्लिकेशन के दिखाई देने का पदानुक्रम ऐप्लिकेशन की तार्किक संरचना नहीं दिखाता है, वहां डेवलपर android:accessibilityTraversalBefore
या android:accessibilityTraversalAfter
को सेट करके सुलभता ट्रैवर्सल को प्रभावित कर सकते हैं. ये गुण दर्शाते हैं कि स्क्रीन रीडर को किसी और व्यू की सामग्री से पहले (या बाद के) व्यू की सामग्री पर जाना चाहिए. संबंधों से पहले/बाद के व्यू, स्क्रीन रीडर के निर्धारित किए हुए क्रम में ट्रैवर्स किए जाते हैं.
सुलभता ट्रैवर्सल क्रम कीबोर्ड नेविगेशन के लिए इस्तेमाल किए जाने वाले "इनपुट फ़ोकस" क्रम से अलग होता है. कीबोर्ड नेविगेशन का क्रम android:nextFocusDown
, android:nextFocusLeft
, android:nextFocusRight,
और android:nextFocusUp
से तय किया जाता है.
accessibilityTraversalBefore
और accessibilityTraversalAfter
का इस्तेमाल करते समय, ट्रैवर्सल क्रम को ज़्यादा बाधित करने से बचने के लिए आगे दी गई सलाहों पर विचार करें:
- इन विशेषताओं को इस्तेमाल सिर्फ़ उन स्थानों में करें जहां तार्किक क्रम दिखाई देने के पदानुक्रम के क्रम से अलग हो.
- उपयोगकर्ता जिस-जिस चीज़ पर छूकर एक्सप्लोर करके फ़ोकस कर सकता है, वह रैखिक रूप से नेविगेट करने के दौरान भी फ़ोकस करने लायक होना चाहिए.
- दिशा पर ध्यान न देते हुए, ट्रैवर्सल क्रम रैखिक नेविगेशन के संगत होना चाहिए. उदाहरण के लिए, "अगले" घटक पर फ़ोकस ले जाने का हाथ के जेस्चर (स्पर्श) के ठीक बाद "पिछले" घटक पर फ़ोकस ले जाने के हाथ के जेस्चर (स्पर्श) का परिणाम हमेशा मूल घटक पर लौटने वाला फ़ोकस होना चाहिए.
accessibilityTraversalBefore
औरaccessibilityTraversalAfter
को परिभाषित करते समय चक्रों से परिचय नहीं कराया जाना चाहिए वर्ना, उपयोगकर्ताओं को ऐसी परिस्थितियों का सामना करना पड़ सकता है जहां रैखिक रूप से नेविगेट करते समय कुछ घटकों तक नहीं पहुंचा जा सकता है.
डिज़ाइन
ऐप्लिकेशन डिज़ाइन करते समय, इस बारे में विचार करें कि स्क्रीन रीडर का इस्तेमाल करने वाले व्यक्ति को आप किस तरह लक्षित करेंगे जिससे कि वह इंटरफ़ेस में बताई गई जानकारी को रैखिक रूप से ट्रैवर्स करे. आदर्श रूप से, ट्रैवर्सल क्रम का मिलान जानकारी के विज़ुअल प्रस्तुतिकरण से होता है. हालांकि, जब यह मिलान संभव न हो, तो आप ऐसा ट्रैवर्सल क्रम तय कर सकते हैं जो इंटरफ़ेस की तार्किक संरचना या लक्ष्य के बारे में बता सके.
अनुसरण करने में आसान नेविगेशन बनाने के बारे में अधिक जानें.
परीक्षण करना
किसी ऐप्लिकेशन के सुलभता ट्रैवर्सल क्रम का मैन्युअल रूप से मूल्यांकन करने के लिए:
- TalkBack चालू करें.
- ऐप्लिकेशन खोलें.
- सुलभता फ़ोकस को स्क्रीन पर मौजूद हर एक घटक पर ले जाने के लिए रैखिक रूप से नेविगेट करने के हाथ के जेस्चर (स्पर्श) का इस्तेमाल करें.
- यह पुष्टि करें कि TalkBack स्क्रीन पर मौजूद घटकों पर अपना फ़ोकस तार्किक क्रम में ले जाता है और विज़िट किए जाने वाले हर एक घटक का एक अर्थपूर्ण प्रस्तुतिकरण बताता है.
- पुष्टि करें कि TalkBack नेविगेशन की दिशा पर ध्यान दिए बिना, स्क्रीन पर मौजूद घटकों पर आगे और पीछे की तरफ़ एक जैसे तरीके से फ़ोकस ले जाता है.
Android के अपने आप परीक्षण करने वाले टूल ट्रैवर्सल क्रम की कुछ समस्याओं का पता लगा सकते हैं. डिवाइस पर अपने ऐप्लिकेशन का मैन्युअल परीक्षण करने के लिए Android के सुलभता जांचने वाले ऐप्लिकेशन का इस्तेमाल करने पर विचार करें. अपने आप होने वाले परीक्षणों के लिए, Espresso और Robolectric में सुलभता परीक्षण चालू करें.