ChromeOS का कियॉस्क मोड, किसी ऐप्लिकेशन को फुल स्क्रीन में चलाता है और उसे लॉक कर देता है. इसके लिए, उपयोगकर्ता को लॉगिन करने की ज़रूरत नहीं होती. कीऑस्क मोड, लोगों को जानकारी और सेवाओं को नियंत्रित और फ़ोकस किए गए तरीके से ऐक्सेस करने का एक आसान और असरदार तरीका उपलब्ध कराता है. हालांकि, कीऑस्क मोड को बहुत ज़्यादा कंट्रोल किया जाता है. इसलिए, यह पक्का करना ज़रूरी है कि कीऑस्क ऐप्लिकेशन सभी के लिए उपलब्ध हों. कियोस्क में सुलभता की सुविधा को बेहतर बनाकर, ज़्यादा लोगों तक पहुंचा जा सकता है. ऐसा इसलिए, क्योंकि जानकारी को ऐक्सेस करने में आने वाली रुकावटें कम हो जाती हैं. साथ ही, बिना किसी भेदभाव के सभी को शामिल करने से, ग्राहक संतुष्ट होते हैं.
कीऑस्क मोड में चलने वाले ऐप्लिकेशन, वेब ऐप्लिकेशन होते हैं. इसलिए, वेब ऐक्सेसिबिलिटी के सबसे सही तरीके इन पर लागू होते हैं:
- वेब कॉन्टेंट ऐक्सेसबिलिटी से जुड़े दिशा-निर्देश (डब्ल्यूसीएजी 2) का पालन करें. किऑस्क ऐप्लिकेशन को इंटरनल तौर पर डिप्लॉय करते समय भी, WCAG 2 का पालन करना सबसे अच्छा तरीका है. इससे यह पक्का किया जा सकता है कि ऐप्लिकेशन को सुलभता से इस्तेमाल किया जा सके. जैसे, स्क्रीन रीडर का इस्तेमाल किया जा सकता है. कीऑस्क ऐप्लिकेशन को बेहतर बनाने के लिए, सुलभता के क्षेत्र में काम करने वाले लोगों से डिज़ाइन और डेवलपमेंट से जुड़े अन्य बेहतरीन संसाधनों का इस्तेमाल किया जा सकता है:
- यूनाइटेड किंगडम की सरकार, सुलभता से जुड़ी ज़रूरतों वाले लोगों के लिए डिज़ाइन करते समय, क्या करें और क्या न करें के बारे में सामान्य जानकारी देती है. इसमें कम दृष्टि और सुनने में परेशानी वाले लोग शामिल हैं.
- Web.dev पर, वेब डेवलपमेंट में ऐक्सेसिबिलिटी का क्या मतलब है और यह क्यों ज़रूरी है, इसके बारे में जानकारी दी गई है.
- मटीरियल डिज़ाइन, डिज़ाइन में सुलभता के लिए सुझाव शेयर करता है.
- इनपुट के कई तरीके उपलब्ध कराएं. हाथ के जेस्चर (स्पर्श) वाले नेविगेशन पर भरोसा न करें. ऐप्लिकेशन से इंटरैक्ट करने के लिए, उपयोगकर्ताओं को कीबोर्ड, माउस या स्विच की ज़रूरत पड़ सकती है.
- आउटपुट को कई फ़ॉर्मैट में उपलब्ध कराएं. सिर्फ़ एक तरह के आउटपुट, जैसे कि ऑडियो पर भरोसा न करें. ऐसा हो सकता है कि उपयोगकर्ताओं को बिना आवाज़ या बिना विज़ुअल संकेतों के किसी ऐप्लिकेशन का इस्तेमाल करना पड़े.
- ऐप्लिकेशन और उसके हार्डवेयर को अलग-अलग तरह के लोगों के साथ टेस्ट करें. सिर्फ़ सबसे सही तरीकों को अपनाने पर भरोसा न करें, बल्कि उन्हें टेस्ट करें. उपयोगकर्ताओं को किओस्क ऐप्लिकेशन के साथ, फ़िज़िकल और डिजिटल, दोनों तरह से इंटरैक्ट करना होगा. अनुभव की जांच करने से, सुधार के क्षेत्रों की पहचान की जा सकेगी.
- पक्का करें कि आपने अलग-अलग तरह के टेस्ट यूज़र शामिल किए हों, ताकि सुलभता से जुड़ी संभावित समस्याओं का पता चल सके.
- कीऑस्क ऐप्लिकेशन को उसी जगह पर टेस्ट करें जहाँ इसका इस्तेमाल किया जाएगा. साथ ही, उसी एनवायरमेंट और हार्डवेयर पर टेस्ट करें जिस पर इसका इस्तेमाल किया जाएगा.
कीऑस्क ऐप्लिकेशन, कंट्रोल किए गए एनवायरमेंट में काम करते हैं. इसलिए, हो सकता है कि उपयोगकर्ता, ChromeOS की सुलभता सुविधाओं या हार्डवेयर के उन विकल्पों को ऐक्सेस न कर पाएं जिनका वे आम तौर पर इस्तेमाल करते हैं. ChromeOS कीऑस्क की सुलभता के लिए, कंट्रोल के तीन लेवल होते हैं:
- नीतियां: एडमिन, मैनेज किए जा रहे डिवाइसों के लिए नीतियां तय करते हैं. इनमें, कियोस्क मोड की सुलभता सेटिंग को ऐक्सेस करने की नीति भी शामिल है.
- एपीआई: डेवलपर, कंपैनियन एक्सटेंशन की मदद से यह कंट्रोल कर सकते हैं कि उपयोगकर्ता, उनके कियॉस्क ऐप्लिकेशन के साथ कैसे इंटरैक्ट करे. यह एक्सटेंशन, chrome.accessibilityFeatures API को कॉल करता है.
- हार्डवेयर डिवाइस: डिवाइस का टाइप और अटैच किए गए पेरिफ़ेरल (जैसे, कीबोर्ड, माउस) से यह कंट्रोल होता है कि उपयोगकर्ता, कियॉस्क के साथ किस तरह से इंटरैक्ट करता है. इसमें इनपुट डिवाइस, स्क्रीन साइज़, और प्लैटफ़ॉर्म शामिल हैं.
ये लेवल एक-दूसरे पर काफ़ी हद तक निर्भर होते हैं. इसलिए, किओस्क ऐप्लिकेशन का बेहतर अनुभव देने के लिए, इन सभी लेवल को एक साथ काम करना चाहिए. एडमिन को कियॉस्क ऐप्लिकेशन को डिप्लॉय करते समय, ऐक्सेसिबिलिटी का ध्यान रखना चाहिए. साथ ही, डेवलपर को यह पता होना चाहिए कि डिप्लॉय होने के बाद, एडमिन सेटिंग का उनके ऐप्लिकेशन पर क्या असर पड़ सकता है.
किओस्क एडमिन के लिए नीति कंट्रोल
सामान्य उपयोगकर्ता सेशन में, ChromeOS डिवाइस पर उपयोगकर्ता, सेटिंग ऐप्लिकेशन में जाकर, सुलभता सेक्शन में अपनी सुलभता सेटिंग मैनेज कर सकते हैं. कीऑस्क मोड में, उपयोगकर्ताओं के पास डिफ़ॉल्ट रूप से सेटिंग ऐप्लिकेशन का ऐक्सेस नहीं होता. इसके बजाय, एडमिन को ऐक्सेसिबिलिटी सेटिंग चालू करनी होंगी, ताकि कीऑस्क मोड में उपयोगकर्ताओं को इनका ऐक्सेस मिल सके.
एडमिन, Google Admin Console में जाकर “कियोस्क ऐक्सेसिबिलिटी” सेटिंग ढूंढ सकते हैं. इसके लिए, उन्हें डिवाइस > Chrome > सेटिंग > डिवाइस की सेटिंग टैब पर जाना होगा.
इन दो मुख्य सेटिंग पर ध्यान दें:
- कीऑस्क में फ़्लोटिंग सुलभता मेन्यू: कीऑस्क मोड में Settings ऐप्लिकेशन आसानी से उपलब्ध नहीं होता है. इसलिए, इसे चालू करने पर उपयोगकर्ता, फ़्लोटिंग सुलभता मेन्यू के ज़रिए सुलभता सेटिंग को टॉगल कर पाएंगे. इस सेटिंग को कॉन्फ़िगर न करने पर, डिफ़ॉल्ट रूप से फ़्लोटिंग सुलभता मेन्यू नहीं दिखता है.
- Kiosk में सुलभता शॉर्टकट की सुविधा: इसे चालू करने पर, लोग कीबोर्ड शॉर्टकट का इस्तेमाल करके सुलभता सुविधाएं चालू कर पाएंगे. हालांकि, ध्यान रखें कि सभी सुविधाओं के लिए शॉर्टकट उपलब्ध नहीं होते. इस सेटिंग को कॉन्फ़िगर न करने पर, शॉर्टकट चालू रहते हैं.
सुलभता सुविधाओं को अलग-अलग भी कॉन्फ़िगर किया जा सकता है. डिफ़ॉल्ट रूप से, इन्हें “उपयोगकर्ता को तय करने दें” पर कॉन्फ़िगर किया जाता है. इससे उपयोगकर्ता अपनी ज़रूरत के हिसाब से, सुलभता सुविधाओं को चालू या बंद कर सकते हैं.
ध्यान दें: हर सेटिंग के बारे में ज़्यादा जानने के लिए, ChromeOS की सुलभता सुविधाओं की पूरी सूची देखें.
Chrome एक्सटेंशन chrome.accessibilityFeatures API
कीऑस्क मोड में, लोग कीऑस्क में फ़्लोटिंग सुलभता मेन्यू या उससे जुड़े कीबोर्ड शॉर्टकट का इस्तेमाल करके, सुलभता सुविधाओं को टॉगल कर सकते हैं. हालांकि, इसके लिए ज़रूरी है कि एडमिन ने मेन्यू चालू किया हो. साथ ही, सभी सुविधाओं के लिए शॉर्टकट उपलब्ध नहीं होते. इसलिए, डेवलपर को सुलभता सेटिंग को सीधे तौर पर अपने कीऑस्क ऐप्लिकेशन में इंटिग्रेट करना चाहिए. उदाहरण के लिए, टेक्स्ट इनपुट दिखाने पर उपयोगकर्ताओं को बोले गए शब्दों के अपने-आप टाइप होने की सुविधा इस्तेमाल करने का विकल्प देना.
ChromeOS की सुलभता सुविधाओं की स्थिति को chrome.accessibilityFeatures API के ज़रिए ऐक्सेस किया जा सकता है. अगर Admin console में “उपयोगकर्ता को फ़ैसला लेने की अनुमति दें” विकल्प चुना गया है, तो इस एपीआई की मदद से भी सुलभता सुविधाओं को कंट्रोल किया जा सकता है. यह Chrome एक्सटेंशन एपीआई है. इसलिए, इसे कीऑस्क ऐप्लिकेशन के साथ चलने वाले कंपैनियन एक्सटेंशन से कॉल किया जाना चाहिए. डेवलपर इस एपीआई का इस्तेमाल करके यह देख सकते हैं कि हर सेटिंग को कंट्रोल किया जा सकता है या नहीं. साथ ही, वे ChromeOS में पहले से मौजूद सुलभता फ़ंक्शन के साथ इंटरैक्ट कर सकते हैं.
chrome.accessibilityFeatures API में, सुलभता से जुड़ी हर सुविधा के लिए एक प्रॉपर्टी होती है. हर प्रॉपर्टी, एक type.ChromeSetting प्रोटोटाइप होती है. इसमें ये तरीके होते हैं:
get(): सेटिंग की वैल्यू पाने के लिए.set(): सेटिंग की वैल्यू सेट करने के लिए.onChange(): सेटिंग में बदलाव होने पर, लिसनर जोड़ने के लिए.clear(): इस सेटिंग को हटाने और डिफ़ॉल्ट वैल्यू को वापस लाने के लिए.
किसी प्रॉपर्टी की स्थिति पाने के लिए, onChange() या get() को कॉल करें. इससे आपको कॉलबैक के ज़रिए, details ऑब्जेक्ट मिलता है. इसमें ये काम के फ़ील्ड होते हैं:
levelOfControl: सेटिंग के कंट्रोल का लेवल. किसी सेटिंग की वैल्यू बदलने के लिएset()को कॉल करने से पहले, देखें कि क्या उस सेटिंग को आपका एक्सटेंशन कंट्रोल कर सकता है. ध्यान रखें कि अगर एडमिन के पास किसी सेटिंग को बंद या चालू करने के लिए कोई नीति है, तोlevelOfControlnot_controllableहोगा. साथ ही, आपके पास इसे एपीआई के साथ कॉन्फ़िगर करने का विकल्प नहीं होगा.value: सेटिंग की वैल्यू. सुलभता से जुड़ी सभी सुविधाओं की प्रॉपर्टी, बूलियन टाइप की होती हैं. हालांकि,animationPolicyएक इनम है, जिसमेंallowed,onceयाnoneशामिल हैं.
उदाहरण के लिए, वर्चुअल कीबोर्ड की सुविधा को टॉगल करते हैं. इसके लिए, सबसे पहले यह देखते हैं कि इस एक्सटेंशन से प्रॉपर्टी को कॉन्फ़िगर किया जा सकता है या नहीं.
const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard; virtualKeyboard.get({}, (details) => { // check the level of control for virtual keyboard if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') { // disable if virtualKeyboard is currently on if (details.value) { virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled'); } else { // enable if virtualKeyboard is currently off virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled'); } } else { // the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence console.log('Virtual keyboard setting cannot be changed.'); }
get() प्रॉपर्टी पर पहला कॉल get(), यह देखने के लिए कि कौनसे कंट्रोल उपलब्ध हैं और प्रॉपर्टी की मौजूदा वैल्यू क्या है.virtualKeyboard अगर इसे इस एक्सटेंशन से कंट्रोल किया जा सकता है या इसे पहले से ही इस एक्सटेंशन से कंट्रोल किया जा रहा है, तो set() को कॉल करना और virtualKeyboard प्रॉपर्टी की वैल्यू को टॉगल करना सुरक्षित है. अगर प्रॉपर्टी को कंट्रोल नहीं किया जा सकता, तो उपयोगकर्ता को बताएं कि इस सेटिंग को टॉगल नहीं किया जा सकता. साथ ही, अगर ज़रूरी हो, तो उसे अपने सिस्टम एडमिन से संपर्क करने का सुझाव दें.
chrome.accessibilityFeatures एपीआई के साथ कॉन्फ़िगर की जा सकने वाली उपलब्ध प्रॉपर्टी को इन कैटगरी में बांटा गया है: लिखे गए शब्दों को सुनने की सुविधा, डिसप्ले और ज़ूम करने की सुविधा, कीबोर्ड और टेक्स्ट इनपुट, कर्सर और टचपैड.
लिखे गए शब्दों को सुनने की सुविधा
लिखे गए शब्दों को सुनने की सुविधा की मदद से, स्क्रीन पर मौजूद टेक्स्ट को ChromeOS में पहले से मौजूद स्क्रीन रीडर की मदद से तेज़ आवाज़ में सुना जा सकता है. चाहे किसी उपयोगकर्ता को देखने में परेशानी हो, वह पढ़ न पाए या उसे टेक्स्ट पढ़ने के बजाय सुनना पसंद हो, ये सुविधाएं ऐसे उपयोगकर्ताओं को डिवाइस से इंटरैक्ट करने की अनुमति देती हैं.
selectToSpeak: यह 'चुनें और सुनें' सुविधा को कंट्रोल करता है. इस सुविधा की मदद से, उपयोगकर्ता स्क्रीन पर मौजूद टेक्स्ट को चुनकर उसे तेज़ आवाज़ में सुन सकते हैं.spokenFeedback: यह ChromeVox सुविधा को कंट्रोल करता है. यह एक स्क्रीन रीडर है, जो स्क्रीन पर मौजूद टेक्स्ट के साथ-साथ बटन, लिंक, और अन्य एलिमेंट के नाम को तेज़ आवाज़ में पढ़ता है.
डिसप्ले और ज़ूम करने की सुविधा
डिसप्ले और ज़ूम करने की सुविधाओं की मदद से, डिसप्ले के रंगों को बदला जा सकता है. साथ ही, ज़ूम करने के विकल्प मिलते हैं. इससे स्क्रीन पर मौजूद टेक्स्ट को आसानी से पढ़ा जा सकता है और ऑब्जेक्ट को आसानी से ढूंढा जा सकता है.
highContrast: इससे रंग बदलने की सुविधा को कंट्रोल किया जाता है. यह सुविधा, कलर स्कीम को ज़्यादा कंट्रास्ट वाली स्कीम में बदल देती है.screenMagnifier: यह कुकी, पूरी स्क्रीन को बड़ा करके दिखाने की सुविधा को कंट्रोल करती है. इस सुविधा की मदद से, स्क्रीन पर मौजूद आइटम को बड़ा करके देखा जा सकता है.dockedMagnifier: यह स्क्रीन पर कर्सर वाले हिस्से को बड़ा करके दिखाने की सुविधा को कंट्रोल करता है. इस सुविधा की मदद से, स्प्लिट स्क्रीन व्यू में स्क्रीन के फ़ोकस किए गए हिस्सों को बड़ा करके दिखाया जाता है.
कीबोर्ड और टेक्स्ट इनपुट
कीबोर्ड और टेक्स्ट डालने की सुविधाओं की मदद से, लोगों को स्क्रीन पर मौजूद कॉन्टेंट और आइटम से इंटरैक्ट करने के अलग-अलग विकल्प मिलते हैं.
virtualKeyboard: यह प्रॉपर्टी, ऑन-स्क्रीन कीबोर्ड की सुविधा को कंट्रोल करती है. इसकी मदद से, उपयोगकर्ता फ़िज़िकल कीबोर्ड का इस्तेमाल किए बिना टाइप कर सकते हैं.dictation: यह प्रॉपर्टी, बोलकर टाइप या एडिट करवाने की सुविधा को कंट्रोल करती है. इस सुविधा की मदद से, उपयोगकर्ता माइक्रोफ़ोन में बोलकर टेक्स्ट टाइप कर सकते हैं. साथ ही, अपनी आवाज़ से इनपुट को कंट्रोल कर सकते हैं.switchAccess: यह प्रॉपर्टी, ऐक्सेस करने का तरीका बदलने की सुविधा को कंट्रोल करती है. इस सुविधा की मदद से, उपयोगकर्ता स्विच (कीबोर्ड की कुंजियां, गेमपैड बटन, और अन्य स्विच डिवाइस) का इस्तेमाल करके अपने डिवाइस को कंट्रोल कर सकते हैं.stickyKeys: यह प्रॉपर्टी, स्टिकी बटन की सुविधा को कंट्रोल करती है. इसकी मदद से लोग, कीबोर्ड शॉर्टकट के लिए एक बार में एक बटन दबा सकते हैं. उन्हें एक साथ कई बटन दबाकर रखने की ज़रूरत नहीं पड़ती.focusHighlight: यह प्रॉपर्टी, कीबोर्ड फ़ोकस को हाइलाइट करने की सुविधा को कंट्रोल करती है. इस सुविधा की मदद से, कीबोर्ड फ़ोकस वाले ऑब्जेक्ट को हाइलाइट किया जाता है. उपयोगकर्ता, टैब बटन का इस्तेमाल करके या माउस कर्सर से चुनकर ऑब्जेक्ट के बीच नेविगेट करते हैं.caretHighlight: यह प्रॉपर्टी, टेक्स्ट कर्सर (कैरेट) को हाइलाइट करने की सुविधा को कंट्रोल करती है. इससे, टेक्स्ट कर्सर के दिखने या इधर-उधर मूव करने पर, उसके चारों ओर फ़ोकस रिंग दिखती है.
कर्सर
कर्सर की सुविधाओं की मदद से, कर्सर को पसंद के मुताबिक बनाया जा सकता है. इससे कर्सर को स्क्रीन पर आसानी से ढूंढा जा सकता है और इसे आसानी से इस्तेमाल किया जा सकता है.
autoclick: यह प्रॉपर्टी, अपने-आप क्लिक होने की सुविधा को कंट्रोल करती है. इस सुविधा की मदद से, माउस का कर्सर रुकने पर अपने-आप क्लिक हो जाता है.largeCursor: यह प्रॉपर्टी, बड़े कर्सर की सुविधा को कंट्रोल करती है. इससे माउस कर्सर का साइज़ बढ़ जाता है, ताकि वह ज़्यादा बेहतर तरीके से दिखे.cursorColor: यह प्रॉपर्टी, कर्सर के रंग को कंट्रोल करने वाली सुविधा को कंट्रोल करती है.cursorColorप्रॉपर्टी की वैल्यू से सिर्फ़ यह पता चलता है कि सुविधा चालू है या नहीं. इससे कर्सर के रंग के बारे में पता नहीं चलता.cursorHighlight: यह प्रॉपर्टी, कर्सर को हाइलाइट करने की सुविधा को कंट्रोल करती है. इस सुविधा के तहत, माउस कर्सर को हिलाने पर उसके चारों ओर फ़ोकस रिंग दिखती है.
हार्डवेयर लेवल पर कीऑस्क मोड में सुलभता की सुविधाएं
अन्य ऐप्लिकेशन की तरह, कियॉस्क ऐप्लिकेशन की सुलभता पर भी उस डिवाइस का असर पड़ता है जिस पर उसे डिप्लॉय किया गया है. डेवलपर को अपनी हार्डवेयर टीम के साथ मिलकर काम करना चाहिए. इससे यह पक्का किया जा सकेगा कि उनका कियॉस्क ऐप्लिकेशन, हार्डवेयर-लेवल पर ऐक्सेस किया जा सकता है.
कीऑस्क ऐप्लिकेशन को किसी भी ChromeOS सिस्टम पर इंस्टॉल किया जा सकता है. जैसे, इंटरैक्टिव प्लैटफ़ॉर्म से लेकर नॉन-इंटरैक्टिव डिसप्ले तक. जब भी किसी उपयोगकर्ता को कीऑस्क ऐप्लिकेशन से इंटरैक्ट करना होता है, तब हार्डवेयर लेवल पर सुलभता से जुड़े कुछ स्टैंडर्ड का पालन करने का सुझाव दिया जाता है:
- कीऑस्क ऐप्लिकेशन, उन लोगों के लिए उपलब्ध होने चाहिए जो व्हीलचेयर या चलने-फिरने में मदद करने वाले किसी अन्य डिवाइस का इस्तेमाल करते हैं.
- किओस्क के हार्डवेयर में, फ़िज़िकल कीबोर्ड और माउस का विकल्प शामिल होना चाहिए.
- कियोस्क ऐप्लिकेशन में हेडफ़ोन जैक और माइक्रोफ़ोन की सुविधा होनी चाहिए.
- कियोस्क के हार्डवेयर में, टेक्स्ट और इमेज साफ़ तौर पर दिखने के लिए, स्क्रीन का साइज़ और रिज़ॉल्यूशन सही होना चाहिए.
किओस्क मोड की सुलभता कई चीज़ों पर निर्भर करती है: नीति कंट्रोल, एपीआई, और हार्डवेयर. हालांकि, कीऑस्क ऐप्लिकेशन में सुलभता की सुविधा, वेब ऐक्सेसिबिलिटी की सुविधा ही होती है. अपने कियॉस्क ऐप्लिकेशन में सुलभता को बेहतर बनाने के लिए, ऊपर दिए गए सुझावों और सबसे सही तरीकों को अपनाएं. साथ ही, उपयोगकर्ताओं से ऐप्लिकेशन की टेस्टिंग कराएं और WCAG 2 के दिशा-निर्देशों को पढ़ें.