10 पॉइंट द्वारा GN⁺ 2024-03-20 | 3 टिप्पणियां | WhatsApp पर शेयर करें

SwiftUI में a11y (accessibility) जल्दी लागू करना

  • अगर SwiftUI ऐप में accessibility को नज़रअंदाज़ कर दिया गया हो, तो उसे तेज़ी से ठीक करने के तरीके बताए गए हैं.
  • accessibility एक महत्वपूर्ण फीचर है जिसकी ज़रूरत 16% उपयोगकर्ताओं को होती है, फिर भी डेवलपमेंट के दौरान इसे अक्सर अनदेखा किया जाता है.
  • accessibility पर ध्यान न देने वाला ऐप उपयोगकर्ताओं पर नकारात्मक प्रभाव छोड़ सकता है.

ऐप की accessibility जाँचना

  • वास्तविक डिवाइस पर accessibility की टेस्टिंग करना महत्वपूर्ण है.
  • Control Center को optimize करके accessibility फीचर्स को जल्दी लागू करने लायक सेट किया जा सकता है.

टेक्स्ट आकार की जाँच

  • iOS में 12 तरह के टेक्स्ट आकार मिलते हैं, और इनका टेस्ट करके यह जाँचना चाहिए कि ऐप हर आकार पर ठीक से काम करता है या नहीं.
  • सबसे बड़े टेक्स्ट आकार पर भी UI सही तरह काम कर रहा है या नहीं, इसकी जाँच ज़रूरी है.

स्क्रीन रीडर जाँच

  • स्क्रीन रीडर इस्तेमाल करने वाले उपयोगकर्ताओं के लिए VoiceOver जैसे टूल से accessibility की जाँच करनी चाहिए.
  • इमेज में accessibility label जोड़ने जैसे छोटे बदलाव भी बड़ा सुधार ला सकते हैं.

accessibility जल्दी लागू करना

  • समस्याओं की पहचान होने के बाद, उन्हें एक-एक करके तेज़ी से ठीक करें.

स्क्रॉल करने योग्य कंटेंट

  • टेक्स्ट आकार बढ़ने पर कंटेंट को scroll view में फैलाकर समस्या हल की जा सकती है.
  • a11yScrollView() नाम का custom view modifier इस्तेमाल करके कंटेंट को केवल ज़रूरत पड़ने पर ही scrollable बनाया जाता है.

जगह बनाने वाला code smell

  • Spacer() की जगह frame() modifier का उपयोग करके अधिक भरोसेमंद layout बनाया जा सकता है.

इमेज और आइकन का आकार समायोजन

  • @ScaledMetric property wrapper का उपयोग करके उपयोगकर्ता के टेक्स्ट आकार के अनुसार इमेज और आइकन को dynamic रूप से समायोजित किया जा सकता है.

कंटेंट alignment

  • उपयोगकर्ता के टेक्स्ट आकार के अनुसार कंटेंट को align करने के लिए A11yHStack का उपयोग करें.

स्क्रीन रीडर सुधार

  • accessibilityLabel, accessibilityElement(children:), accessibilityRepresentation आदि का उपयोग करके स्क्रीन रीडर के साथ compatibility बेहतर की जा सकती है.

native component का उपयोग

  • जहाँ तक संभव हो, performance और accessibility बेहतर करने के लिए native SwiftUI components का उपयोग करें.

stakeholders को समझाना

  • accessibility को महत्वपूर्ण मानने के लिए संगठन के भीतर प्रभाव डालने के तरीके.
  • कानूनी आवश्यकताओं और business benefits को रेखांकित करके accessibility के महत्व को उभारा जा सकता है.

निष्कर्ष

  • ऐप की accessibility समस्याओं की पहचान और समाधान की पूरी प्रक्रिया समझाई गई है.
  • accessibility बेहतर करने के लिए SwiftUI में उपलब्ध विभिन्न tools और techniques का परिचय दिया गया है.

GN⁺ की राय

  • यह लेख ऐप डेवलपर्स के लिए accessibility क्यों महत्वपूर्ण है और इसे वास्तव में बेहतर बनाने के ठोस तरीके क्या हैं, यह बताकर बहुत उपयोगी है.
  • accessibility पर ध्यान न देने वाला ऐप user experience को खराब कर सकता है और कानूनी समस्याएँ भी पैदा कर सकता है, इसलिए डेवलपमेंट के शुरुआती चरण से ही accessibility पर विचार करना ज़रूरी है.
  • SwiftUI जैसे आधुनिक framework का उपयोग करते समय native components के फायदों का अधिकतम उपयोग करके performance और accessibility दोनों को साथ में बेहतर किया जा सकता है.
  • accessibility सुधारने के लिए community द्वारा उपलब्ध libraries और tools का उपयोग करना भी अच्छा तरीका है, जिससे डेवलपमेंट प्रक्रिया सरल और अधिक कुशल बन सकती है.
  • ऐप की accessibility सुधारना केवल एक तकनीकी मुद्दा नहीं, बल्कि सामाजिक जिम्मेदारी और समावेशन का अभ्यास भी है, ताकि सभी उपयोगकर्ता समान रूप से सेवा का उपयोग कर सकें.

3 टिप्पणियां

 
aer0700 2024-03-21

Accessibility पर ध्यान देना शायद मेरी service के लिए loyal customers बनाने का एक तरीका हो सकता है
अगर मिलती-जुलती competing services उस feature को support नहीं करतीं, और सिर्फ हमारा app उसे support करता है, तो ग्राहक हमारा ही इस्तेमाल करेंगे

 
godrm 2024-03-20

ओहो, इसे तो Letswift में भी इंट्रोड्यूस करना चाहिए, हाहा

 
GN⁺ 2024-03-20
Hacker News राय
  • पहले कमेंट का सार:

    डेवलपर लेखक के इस दावे से सहमत नहीं है कि "जब तक हर कोई ऐप का उपयोग न कर सके, तब तक रुकना नहीं चाहिए"। उसके बनाए गए सभी ऐप्स को यथासंभव अधिक से अधिक उपयोगकर्ताओं के लिए तैयार किया गया, बिना business requirements या ऐप के महत्वपूर्ण/मुख्य पहलुओं से समझौता किए। नहीं तो वह ऐसा प्रोडक्ट बन जाएगा जिसे कोई उपयोग ही नहीं कर सकेगा।

  • दूसरे कमेंट का सार:

    डेवलपर अपने ऐप को दृष्टिबाधित लोगों के लिए भी उपयोगी बनाने की पूरी कोशिश करता है। हाल की एक ऐप में उसने ऐसा तरीका खोजा जिससे बिना दिव्यांगता वाले लोगों के लिए भी ऐप इस्तेमाल करना आसान हो, और दिव्यांग लोगों को भी लाभ मिले। उसने 'long-press help' फीचर जोड़ा, जिसमें UI के किसी भी एलिमेंट को लंबा दबाने पर उसे समझाने वाला popover दिखता है। यह फीचर accessibility labels और hints का उपयोग करके अच्छी तरह काम करता है।

  • तीसरे कमेंट का सार:

    व्यावहारिक लेख की सकारात्मक सराहना। accessibility महत्वपूर्ण है, लेकिन जो डेवलपर ऐप को शुरुआत से ही सुलभ नहीं बनाते उन्हें आलसी कहकर दोष देना समस्या है। सीखने के लिए बहुत से concepts हैं, priorities आपस में टकराती हैं, कई tools की आदत डालनी होती है, और accessibility के लिए business case बनाना भी ज़रूरी होता है। अधिकांश डेवलपर और डिज़ाइनर WCAG नियमों के बारे में अच्छी तरह नहीं जानते। color contrast requirements को पूरा करने वाले brand colors ढूँढना भी कठिन है।

  • चौथे कमेंट का सार:

    डेवलपर ने Flutter का उपयोग करके accessibility को ध्यान में रखे बिना ऐप बनाई थी, लेकिन 6 महीने से ऐप का उपयोग कर रहे एक दृष्टिबाधित उपयोगकर्ता से शिकायत मिली। Flutter accessibility का अधिकांश हिस्सा अपने आप संभाल लेता है, और custom features भी दृष्टिबाधित उपयोगकर्ताओं के लिए बड़े बदलावों के बिना अच्छी तरह काम कर गए।

  • पाँचवें कमेंट का सार:

    यह सवाल उठाया गया कि accessibility options को visual रूप से प्राथमिकता क्यों दी जाए और precision तथा high touch density वाले माध्यम पर annotations क्यों जोड़े जाएँ। शायद बेहतर यह हो कि accessibility की ज़रूरत वाले उपयोगकर्ताओं के लिए अलग से customized ऐप दी जाए, जैसे "low vision" version या "low touch accuracy" version।

  • छठे कमेंट का सार:

    सवाल यह है कि अगर कोई नई ऐप या startup उम्मीद से कहीं ज़्यादा तेज़ी से सफल हो जाए, तो कानूनी ज़िम्मेदारी या grace period का क्या होगा। जब यह भी पक्का न हो कि idea काम करेगा या नहीं, तब accessibility सबसे बड़ी चिंता नहीं हो सकती। और California के बाहर, अप्रत्याशित सफलता के बाद accessibility समस्याएँ ठीक करने के लिए resources लगाना कानूनी रूप से आम तौर पर बड़ी समस्या नहीं बनेगा, ऐसा उसका मानना है।

  • सातवें कमेंट का सार:

    डेवलपर ने अपने पिता के stroke के बाद electric wheelchair इस्तेमाल करने के अनुभव को साझा किया। इससे उसे ADA compliance का महत्व समझ में आया, और उसने ज़ोर दिया कि डेवलपर के रूप में हम दुनिया को अधिक accessible बनाने में बड़ी भूमिका निभा सकते हैं। उसने डेवलपर्स से आग्रह किया कि वे अपने काम को जितने अधिक लोगों के लिए संभव हो सके उतना सुलभ बनाने की कोशिश करें।

  • आठवें कमेंट का सार:

    iPhone में 'Larger Text' और 'Display Zoom' options चालू करने वाले एक उपयोगकर्ता का अनुभव साझा किया गया। यह सिर्फ दिव्यांग लोगों के बारे में नहीं, बल्कि सभी उपयोगकर्ताओं को अपनी उपयोग शैली के अनुसार interface को ढालने की flexibility और control देने के बारे में है। कभी-कभी उपयोगकर्ता स्क्रीन देखना नहीं चाहते, बल्कि चाहते हैं कि स्क्रीन उन्हें पढ़कर सुनाए, या सिर्फ किसी खास हिस्से को पढ़े।

  • नौवें कमेंट का सार:

    accessibility की ज़रूरत वाले समुदाय आम तौर पर पहले अनुरोध करते हैं और बाद में मुकदमा दायर करते हैं। ADA एक मज़बूत कानून है, लेकिन अगर आप प्रयास करते हैं तो आम तौर पर समस्या नहीं होती। लगभग 2000 के आसपास, उसने वकीलों की निगरानी में accessibility guide लिखी थी, और बाद में दृष्टिबाधित उपयोगकर्ताओं के साथ मिलकर ऐप में accessibility जोड़ी। अगर कोई मदद माँगे, तो उसकी मदद करें — ऐसा करने पर आपको अपने काम के लिए एक मज़बूत समर्थक मिल सकता है।

  • दसवें कमेंट का सार:

    ऐप के सफल होने का कारण यह था कि उसने accessibility (a11y) या internationalization (i18n) जैसी "गैर-ज़रूरी" चीज़ों पर समय बर्बाद नहीं किया। ऐतिहासिक रूप से, कोई भी सफल प्रोडक्ट शुरुआत से accessibility या internationalization पर केंद्रित नहीं था। अब जब ऐप सफल हो गई है, तो accessibility पर विचार करने और resources लगाने का समय है।