एक्सेसिबिलिटी — मूल बातें, नेत्रहीन उपयोगकर्ताओं के लिए VoiceOver और TalkBack

लेखक: IT Sectr प्रकाशित: 2026-02-26 पढ़ने का समय: 9 मिनट

Accessibility (a11y) — विकलांग लोगों के लिए मोबाइल एप्लिकेशन को उपयोग योग्य बनाना। इसमें स्क्रीन रीडर (iOS पर VoiceOver, Android पर TalkBack), टेक्स्ट स्केलिंग (Dynamic Type), पर्याप्त रंग कंट्रास्ट (WCAG 2.1 स्तर AA), बिना दृष्टि के नेविगेशन और जेस्चर विकल्प शामिल हैं। WHO (2023) के अनुसार, 1.3 बिलियन से अधिक लोग (16% आबादी) किसी न किसी रूप में विकलांगता के साथ जीते हैं — एक्सेसिबिलिटी कोई विकल्प नहीं, बल्कि एक आवश्यकता है। अधिक जानकारी के लिए Apple का आधिकारिक एक्सेसिबिलिटी दस्तावेज़ीकरण देखें।

मुख्य बातें

  • Accessibility — विकलांग लोगों (दृष्टि, श्रवण, मोटर) के लिए ऐप की उपयोगिता
  • VoiceOver — Apple का स्क्रीन रीडर जो iOS और macOS पर इंटरफ़ेस तत्वों को ज़ोर से पढ़ता है
  • TalkBack — Android के लिए Google का स्क्रीन रीडर बिना दृष्टि के जेस्चर नियंत्रण के साथ
  • WCAG 2.1 — अंतर्राष्ट्रीय एक्सेसिबिलिटी मानक: कंट्रास्ट 4.5:1, टच क्षेत्र का आकार 44×44pt
  • contentDescription — TalkBack द्वारा पढ़े जाने वाले तत्वों के वर्णन के लिए Android विशेषता

मोबाइल ऐप्स में एक्सेसिबिलिटी (a11y) क्या है?

Accessibility (संक्षिप्त a11y — «a» और «y» के बीच 11 अक्षर) — दृष्टि, श्रवण, मोटर और संज्ञानात्मक अक्षमताओं वाले लोगों द्वारा उपयोग योग्य एप्लिकेशन विकसित करने की प्रथा। मोबाइल डेवलपमेंट में, एक्सेसिबिलिटी चार मुख्य परिदृश्यों को कवर करती है: नेत्रहीन उपयोगकर्ता (स्क्रीन रीडर), कम दृष्टि वाले उपयोगकर्ता (स्केलिंग, कंट्रास्ट), बधिर और कम सुनने वाले उपयोगकर्ता (उपशीर्षक, ध्वनि के दृश्य विकल्प), और सीमित मोटर नियंत्रण वाले उपयोगकर्ता (वॉइस कंट्रोल, Switch Control, बड़े टच क्षेत्र)।

कानूनी आवश्यकताएँ — कई देशों में, एक्सेसिबिलिटी कानूनी रूप से अनिवार्य है। अमेरिका: Section 508 और ADA। EU: European Accessibility Act (2025)। यूके: Equality Act 2010। एक्सेसिबिलिटी समर्थन के बिना, ऐप मुकदमों का निशाना बन सकता है — 2023 में अमेरिका में दुर्गम डिजिटल उत्पादों से संबंधित 4,000 से अधिक मुकदमे दायर किए गए। Apple और Google ऐप मॉडरेशन के दौरान एक्सेसिबिलिटी की जाँच करते हैं: App Store Review Guidelines (4.2) और Google Play Store न्यूनतम एक्सेसिबिलिटी समर्थन की आवश्यकता रखते हैं।

व्यावसायिक तर्क — एक्सेसिबिलिटी आपकी ऑडियंस का विस्तार करती है। Return on Disability (2021) के अनुसार, विकलांग लोग सालाना 13 ट्रिलियन डॉलर की डिस्पोजेबल आय को नियंत्रित करते हैं। सुलभ ऐप्स खोज में बेहतर रैंक करते हैं (सिमैंटिक HTML, alt टेक्स्ट), उनकी उपयोगकर्ता रेटिंग अधिक होती है और UX समस्याओं के बारे में कम समीक्षाएँ होती हैं। IT Sectr में, हम सभी प्रोजेक्ट्स की परिभाषा में एक्सेसिबिलिटी को शामिल करते हैं — यह एक गुणवत्ता मानक है, कोई वैकल्पिक सुधार नहीं।

iOS में एक्सेसिबिलिटी: VoiceOver और UIAccessibility

VoiceOver — iOS, iPadOS और macOS में निर्मित Apple का स्क्रीन रीडर। उपयोगकर्ता स्क्रीन पर अपनी उंगली खींचता है, VoiceOver उंगली के नीचे तत्व का नाम पढ़ता है। डबल-टैप तत्व को सक्रिय करता है। VoiceOver 40 से अधिक जेस्चर का समर्थन करता है: तीन-उंगली स्वाइप (स्क्रॉलिंग), दो-उंगली डबल-टैप (रुकना), Z-जेस्चर (वापस जाना)। डेवलपर्स UIAccessibility प्रोटोकॉल और accessibilityLabel, accessibilityTraits, accessibilityHint गुणों के माध्यम से नियंत्रित करते हैं कि VoiceOver क्या और कैसे पढ़ता है।

swift
class CustomButton: UIButton {

    override var isAccessibilityElement: Bool {
        get { return true }
        set {}
    }

    // ओवरराइड accessibilityLabel
    override var accessibilityLabel: String? {
        get { return "फ़ॉर्म सबमिट बटन" }
        set {}
    }

    // ओवरराइड accessibilityHint
    override var accessibilityHint: String? {
        get { return "डेटा सबमिट करने के लिए डबल-टैप करें" }
        set {}
    }

    // ओवरराइड accessibilityTraits
    override var accessibilityTraits: UIAccessibilityTraits {
        get { return .button }
        set {}
    }
}

// Dynamic Type — टेक्स्ट स्केलिंग
titleLabel.font = UIFontMetrics.default.scaledFont(
    for: UIFont.systemFont(ofSize: 16)
)
titleLabel.adjustsFontForContentSizeCategory = true

डायनामिक टाइपोग्राफी — iOS में Dynamic Type उपयोगकर्ता को टेक्स्ट का आकार चुनने देता है (XS से XXXL तक)। डेवलपर्स स्वचालित स्केलिंग के लिए UIFontMetrics.scaledFont का उपयोग करते हैं। टेक्स्ट सभी आकारों पर सही ढंग से प्रदर्शित होना चाहिए: पंक्तियाँ कटी नहीं होनी चाहिए, बटन टेक्स्ट के अनुपात में बढ़ने चाहिए। टेक्स्ट आकार बदलने पर UITableView स्वचालित रूप से सेल की ऊँचाई अपडेट करता है। Dynamic Type को अनदेखा करने का मतलब है अपने ऐप को कम दृष्टि वाले उपयोगकर्ताओं के लिए दुर्गम बनाना।

SwiftUI में एक्सेसिबिलिटी

SwiftUI एक्सेसिबिलिटी मॉडिफायर प्रदान करता है: .accessibilityLabel(), .accessibilityHint(), .accessibilityAddTraits(), .accessibilitySortPriority()। डिफ़ॉल्ट रूप से, सभी मानक SwiftUI तत्व (Text, Button, Image) पहले से ही स्वचालित लेबल के साथ एक्सेसिबिलिटी तत्व हैं। कस्टम View के लिए, .accessibilityElement(children: .combine) का उपयोग करके चाइल्ड तत्वों को एक में संयोजित करें। SwiftUI स्वचालित रूप से Dynamic Type और VoiceOver का समर्थन करता है।

swift
VStack {
    Image(systemName: "trash")
        .accessibilityLabel(Text("आइटम हटाएँ"))
    Text("कूड़ेदान")
        .font(.body)
}
.accessibilityElement(children: .combine)
.accessibilityAddTraits(.isButton)
.accessibilityHint(Text("चयनित आइटम को स्थायी रूप से हटाता है"))

Android में एक्सेसिबिलिटी: TalkBack और contentDescription

TalkBack — Google का स्क्रीन रीडर, अधिकांश Android उपकरणों पर पहले से इंस्टॉल (सभी Android 5+ संस्करणों के लिए Google Play पर उपलब्ध)। TalkBack VoiceOver के समान जेस्चर का उपयोग करता है: नेविगेशन के लिए स्वाइप, सक्रिय करने के लिए डबल-टैप। डेवलपर्स XML में android:contentDescription विशेषता के माध्यम से या कोड में setContentDescription() के माध्यम से तत्व विवरण सेट करते हैं। ImageView के लिए, contentDescription अनिवार्य है — इसके बिना, TalkBack «अलेबल्ड» कहेगा या फ़ाइल का नाम पढ़ेगा।

kotlin
// ImageView के लिए XML: contentDescription
<ImageView
    android:id="@+id/iconDelete"
    android:src="@drawable/ic_delete"
    android:contentDescription="@string/delete_button_desc"
    android:focusable="true"
    android:clickable="true" />

// Kotlin: प्रोग्रामेटिक असाइनमेंट
iconDelete.contentDescription = getString(R.string.delete_button_desc)

// Accessibility Delegate (कस्टम)
iconDelete.accessibilityDelegate = object : View.AccessibilityDelegate() {
    override fun onInitializeAccessibilityNodeInfo(
        host: View, info: AccessibilityNodeInfo
    ) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        info.text = "हटाएँ बटन"
        info.contentDescription = "चयनित आइटम हटाएँ"
        info.className = Button::class.java.name
    }
}

// डायनामिक अपडेट के लिए Live Regions
textView.accessibilityLiveRegion = View.ACCESSIBILITY_LIVE_REGION_POLITE

Live Regions — फोकस के बिना सामग्री परिवर्तनों के बारे में TalkBack को सूचित करने के लिए Android का तंत्र। android:accessibilityLiveRegion विशेषता तीन मान स्वीकार करती है: none (कोई सूचना नहीं), polite (वर्तमान के बाद घोषणा), assertive (तुरंत घोषणा)। लोडिंग स्थिति अपडेट के लिए polite का उपयोग करें, गंभीर त्रुटियों के लिए assertive का। assertive का अत्यधिक उपयोग उपयोगकर्ता के लिए अराजकता पैदा करेगा — TalkBack लगातार वर्तमान कार्य को बाधित करेगा।

Accessibility Scanner

Accessibility Scanner — स्रोत कोड तक पहुँच के बिना Android ऐप एक्सेसिबिलिटी के परीक्षण के लिए Google का एक मुफ्त ऐप। स्कैनर जाँच करता है: टेक्स्ट कंट्रास्ट, टच क्षेत्र का आकार (Android एक्सेसिबिलिटी दिशानिर्देशों के अनुसार न्यूनतम 48×48dp), ImageView के लिए contentDescription, और सही तत्व पदानुक्रम। स्वचालित परीक्षणों के लिए, Espresso से AccessibilityChecks का उपयोग करें — ये CI/CD में एकीकृत होते हैं और हर बिल्ड के साथ एक्सेसिबिलिटी की जाँच करते हैं।

WCAG 2.1: कंट्रास्ट, आकार और टच क्षेत्र

WCAG 2.1 (Web Content Accessibility Guidelines) — W3C द्वारा विकसित अंतर्राष्ट्रीय एक्सेसिबिलिटी मानक। संस्करण 2.1 (2018) में मोबाइल एप्लिकेशन के लिए 13 अतिरिक्त मानदंड शामिल हैं। अनुरूपता स्तर: A (न्यूनतम), AA (अधिकांश संगठनों के लिए अनिवार्य), AAA (अधिकतम)। Apple और Google ऐप प्रकाशित करने के लिए न्यूनतम के रूप में स्तर AA की सलाह देते हैं। WCAG 2.2 2023 में फोकस और इनपुट के लिए सुधारों के साथ जारी किया गया था।

मुख्य मानदंड मोबाइल डेवलपमेंट के लिए: कम से कम 4.5:1 (AA) या 7:1 (AAA) का टेक्स्ट कंट्रास्ट, कम से कम 44×44pt (iOS) या 48×48dp (Android) का टच क्षेत्र आकार, कार्यक्षमता के नुकसान के बिना लैंडस्केप और पोर्ट्रेट ओरिएंटेशन के लिए समर्थन, एनीमेशन को अक्षम करने की क्षमता (prefers-reduced-motion), मल्टीमीडिया के लिए कैप्शन, और वॉइस कंट्रोल (iOS पर Voice Control, Android पर Voice Access) के साथ संगतता।

WCAG 2.1 मानदंडस्तरiOS आवश्यकताAndroid आवश्यकता
1.4.3 कंट्रास्ट (टेक्स्ट)AAसामान्य के लिए 4.5:1, बड़े के लिए 3:1सामान्य के लिए 4.5:1, बड़े के लिए 3:1
1.4.11 कंट्रास्ट (गैर-टेक्स्ट)AAआइकन, बॉर्डर के लिए 3:1आइकन, बॉर्डर के लिए 3:1
2.5.5 लक्ष्य आकारAAA44×44pt48×48dp
2.3.3 एनीमेशनAAAprefers-reduced-motionandroid:animateLayoutChanges
4.1.2 नाम, भूमिका, मानAaccessibilityLabel, traitscontentDescription, role

कंट्रास्ट जाँच उपकरण — Colour Contrast Analyser (TPGI), WebAIM Contrast Checker, Stark (Figma), Accessibility Inspector (Xcode)। IT Sectr में, हम डिज़ाइन चरण (Figma + Stark) में और फिर से डेवलपमेंट चरण (Accessibility Inspector / Accessibility Scanner) में कंट्रास्ट की जाँच करते हैं। 18pt (14pt bold) से कम सभी टेक्स्ट के लिए न्यूनतम आवश्यकता 4.5:1 है। लोगो और सजावटी तत्वों के लिए कंट्रास्ट की आवश्यकता नहीं है।

एक्सेसिबिलिटी परीक्षण: उपकरण और जाँच सूची

iOS परीक्षण — Xcode में Accessibility Inspector (Xcode → Open Developer Tool → Accessibility Inspector) प्रत्येक तत्व के लिए लेबल, traits और hint की जाँच करता है। VoiceOver को सेटिंग्स में या एक्सेसिबिलिटी शॉर्टकट (बटन का ट्रिपल-क्लिक) के माध्यम से सक्षम किया जा सकता है। स्वचालित परीक्षणों के लिए, XCTAssertTrue(app.staticTexts["label"].isAccessibilityElement) के साथ XCUITest का उपयोग करें। Apple VoiceOver सक्षम होने पर सभी ऐप स्क्रीन के परीक्षण की सलाह देता है।

Android परीक्षण — Accessibility Scanner (Play Store) कंट्रास्ट, टच क्षेत्र आकार और contentDescription की जाँच करता है। स्वचालन के लिए: Espresso AccessibilityChecks (आयात: androidTestImplementation 'androidx.test.espresso:espresso-accessibility:3.5.1')। Google निम्नलिखित जाँच सूची की सलाह देता है: प्रत्येक ImageView में contentDescription है, टच क्षेत्र कम से कम 48×48dp हैं, टेक्स्ट बिना कटे 200% तक स्केल होता है, और सभी तत्व TalkBack स्वाइप के माध्यम से पहुँच योग्य हैं।

IT Sectr जाँच सूची — रिलीज़ से पहले, हम सत्यापित करते हैं: (1) VoiceOver/TalkBack सभी तत्वों को सही ढंग से पढ़ता है, (2) टेक्स्ट कार्यक्षमता के नुकसान के बिना अधिकतम आकार तक स्केल होता है, (3) सभी ImageView में contentDescription है, (4) सभी थीम में टेक्स्ट कंट्रास्ट ≥4.5:1 है, (5) टच क्षेत्र ≥44pt/48dp हैं, (6) कोई संदर्भ मेनू केवल लॉन्ग प्रेस के माध्यम से सुलभ नहीं है, (7) सिस्टम सेटिंग्स में Reduce Motion / Remove Animations के लिए समर्थन। यह जाँच सूची प्रत्येक स्प्रिंट की परिभाषा का हिस्सा है।

अक्सर पूछे जाने वाले प्रश्न

VoiceOver TalkBack से कैसे अलग है?

VoiceOver — iOS, iPadOS, macOS के लिए Apple का स्क्रीन रीडर। एक-उंगली और कई-उंगली वाले जेस्चर (स्वाइप, डबल-टैप) का उपयोग करता है। TalkBack — समान जेस्चर वाला Android के लिए Google का समकक्ष। VoiceOver accessibilityLabel पढ़ता है, TalkBack contentDescription पढ़ता है। दोनों ब्रेल डिस्प्ले और वॉइस कंट्रोल का समर्थन करते हैं। कार्यक्षमता में कोई मौलिक अंतर नहीं है।

Android में contentDescription क्या है?

contentDescription — Android में View की एक विशेषता जो TalkBack के लिए टेक्स्ट विवरण सेट करती है। इसके बिना, TalkBack «अनलेबल्ड» कहता है या क्लास का नाम (ImageView, Button) पढ़ता है। इसे XML में android:contentDescription="@string/desc" या कोड में view.contentDescription = "टेक्स्ट" के माध्यम से सेट किया जाता है। सजावटी छवियों के लिए, contentDescription=@null का उपयोग करें।

एक्सेसिबिलिटी के लिए न्यूनतम कंट्रास्ट क्या है?

WCAG 2.1 स्तर AA के अनुसार: सामान्य टेक्स्ट के लिए 4.5:1 और बड़े टेक्स्ट (18pt या 14pt bold से) के लिए 3:1। स्तर AAA: सामान्य के लिए 7:1 और बड़े के लिए 4.5:1। दोनों थीम (हल्का/गहरा) में कंट्रास्ट जाँचें। Google के अनुसार कंट्रास्ट उल्लंघन मोबाइल ऐप्स में सबसे आम एक्सेसिबिलिटी समस्या है।

क्या मुझे iOS में Dynamic Type का समर्थन करने की आवश्यकता है?

हाँ, Apple सभी एप्लिकेशन के लिए Dynamic Type की सलाह देता है। उपयोगकर्ता सेटिंग्स में टेक्स्ट आकार सेट करते हैं। डेवलपर्स UIFontMetrics.scaledFont का उपयोग करते हैं — फ़ॉन्ट स्वचालित रूप से स्केल होता है। Dynamic Type के बिना, कम दृष्टि वाले उपयोगकर्ता टेक्स्ट नहीं पढ़ सकते। iOS App Store मॉडरेशन के दौरान स्वचालित रूप से Dynamic Type की जाँच करता है।

WCAG क्या है?

WCAG (Web Content Accessibility Guidelines) — W3C से अंतर्राष्ट्रीय सामग्री एक्सेसिबिलिटी मानक। संस्करण 2.1 (2018) में मोबाइल ऐप्स के लिए मानदंड शामिल हैं: कंट्रास्ट, टच क्षेत्र का आकार (44×44pt), स्क्रीन रीडर समर्थन, जेस्चर विकल्प और कैप्शन। स्तर AA App Store और Google Play पर प्रकाशित करने के लिए न्यूनतम मानक है।

सारांश

  • Accessibility — 1.3 बिलियन विकलांग लोगों के लिए ऐप उपयोगिता (WHO, 2023)
  • VoiceOver (iOS) और TalkBack (Android) — नेत्रहीन उपयोगकर्ताओं के लिए स्क्रीन रीडर
  • UIAccessibility — एक्सेसिबिलिटी तत्वों के लिए लेबल, hint, traits सेट करने का iOS प्रोटोकॉल
  • contentDescription — TalkBack को तत्वों का वर्णन करने के लिए Android विशेषता
  • WCAG 2.1 — कंट्रास्ट 4.5:1, टच क्षेत्र 44×44pt, Dynamic Type समर्थन
  • Dynamic Type — UIFontMetrics.scaledFont के माध्यम से iOS में टेक्स्ट स्केलिंग
  • परीक्षण — Accessibility Inspector (iOS), Accessibility Scanner (Android), Espresso Checks

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें