ऑरिक आर्टिज़न · सुलभता
सुलभता चेकलिस्ट
Read in Englishपूरे डब्ल्यूसीएजी 2.2 में फैली पचास जाँचें, हर एक की व्याख्या के साथ: इसका मतलब क्या है, यह किसे प्रभावित करती है, इसे कैसे जाँचें, और कोड में इसका समाधान कैसा दिखता है।
एनालाइज़र इनमें से 11 को सीधे तय कर देता है और 23 को और सँकरा कर देता है। बाक़ी के लिए एक व्यक्ति चाहिए — व्याख्याएँ उसी के लिए हैं।
इन फ़िल्टरों से कोई जाँच मेल नहीं खाती।
प्रमाण
0 स्क्रीनशॉट पिन किए गए
छवियों या निशानों की कोई सीमा नहीं, और पेन नीचे की तस्वीर को कभी नहीं छूता।
सिमैंटिक्स और संरचना
स्क्रीन रीडर अपना नक़्शा इसी से बनाता है। यह ग़लत हो तो नीचे कुछ भी काम नहीं करता।
-
पेज का हर क्षेत्र किसी लैंडमार्क के भीतर हो आंशिक A 1.3.1 header, nav, main, footer — हर पेज पर एक ही main, और दोहराए गए हर nav का अपना नाम हो।
इसका अर्थ क्या है
लैंडमार्क स्क्रीन रीडर को पेज की एक विषय-सूची देते हैं: उपयोगकर्ता उससे पहले की हर चीज़ सुने बिना सीधे नेविगेशन या मुख्य सामग्री पर पहुँच सकता है। पूरी तरह div एलिमेंट से बना पेज ऐसी कोई छलाँग नहीं देता, इसलिए हर बार शुरुआत सबसे ऊपर से होती है और एक-एक कदम आगे बढ़ना पड़ता है।
यह किसे प्रभावित करती है
क्षेत्र के हिसाब से नेविगेट करने वाले स्क्रीन रीडर उपयोगकर्ता — किसी अनदेखे पेज में घूमने का यही सबसे तेज़ तरीका है।
इसे कैसे परखें
ब्राउज़र कंसोल में नीचे दिया गया सिलेक्टर चलाएँ। नतीजे में ठीक एक main होना चाहिए, और एक से ज़्यादा बार आने वाले हर nav का अपना लेबल होना चाहिए।
सुधार कैसा दिखता है
document.querySelectorAll('header,nav,main,aside,footer') // exactly one <main>; each repeated <nav> needs aria-labelआमतौर पर तब टूटती है जब
कोई कंपोनेंट लाइब्रेरी हर चीज़ को div में लपेट देती है, या रीफ़ैक्टर के दौरान लेआउट में दूसरा main जुड़ जाता है और किसी का ध्यान नहीं जाता।
-
हेडिंग संरचना बताती हैं, आकार नहीं ऑटो A 1.3.1 एक ही h1, कोई स्तर छूटे नहीं। स्टाइलिंग सीएसएस से करें; फ़ॉन्ट का आकार पाने के लिए कभी हेडिंग स्तर न चुनें।
इसका अर्थ क्या है
हेडिंग स्तर एक रूपरेखा है, टाइप स्केल नहीं। स्क्रीन रीडर उपयोगकर्ता पेज को समझने और उसमें घूमने के लिए हेडिंग की सूची खोलते हैं, इसलिए h2 से सीधे h4 पर छलाँग किसी गायब खंड जैसी लगती है, और "देखने में सही लगा" इसलिए चुना गया h3 सामग्री को उस रूपरेखा में ग़लत जगह रख देता है।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, जो किसी भी और तरीके से ज़्यादा हेडिंग के सहारे नेविगेट करते हैं; साथ ही रीडर मोड या सारांश बनाने वाला टूल इस्तेमाल करने वाला हर व्यक्ति।
इसे कैसे परखें
हर हेडिंग को क्रम से सूचीबद्ध करें और सिर्फ़ उसका टेक्स्ट पढ़ें। यह सूची अपने आप में एक विषय-सूची की तरह काम करनी चाहिए।
सुधार कैसा दिखता है
[...document.querySelectorAll('h1,h2,h3,h4,h5,h6')] .map(h => h.tagName + ' ' + h.textContent.trim())आमतौर पर तब टूटती है जब
डिज़ाइन में "छोटा बोल्ड लेबल" लिखा आता है और वह आकार पाने के लिए सबसे नज़दीकी हेडिंग स्तर इस्तेमाल कर लिया जाता है।
-
html पर lang सेट है, और दूसरी भाषा के अंशों पर बदलता है ऑटो A 3.1.1 इसी से स्पीच सिंथेसाइज़र चुना जाता है। अंग्रेज़ी के बीच आए फ़्रेंच उद्धरण को अपना अलग lang चाहिए।
इसका अर्थ क्या है
lang एट्रिब्यूट सहायक तकनीक को बताता है कि उच्चारण के कौन-से नियम लागू करने हैं। इसके बिना स्क्रीन रीडर अंग्रेज़ी को उपयोगकर्ता की डिफ़ॉल्ट आवाज़ में पढ़ता है, जो किसी अंग्रेज़ी पेज को हिंदी उच्चारण-नियमों में बोल सकती है — तकनीकी रूप से वाणी, व्यवहार में शोर।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, और स्वचालित अनुवाद या ब्रेल डिस्प्ले इस्तेमाल करने वाला हर व्यक्ति, जहाँ भाषा से ही संक्षेपण के नियम तय होते हैं।
इसे कैसे परखें
रूट एलिमेंट जाँचें, फिर पेज में दूसरी भाषा के अंश खोजें और पक्का करें कि हर एक पर उसका अपना lang हो।
सुधार कैसा दिखता है
<html lang="en"> <p>The dish was <span lang="fr">déjà vu</span>.</p>आमतौर पर तब टूटती है जब
टेम्पलेट में lang एक ही भाषा पर हार्ड-कोड होकर आता है, और बाद में साइट में दूसरी भाषा जुड़ जाती है।
-
हर रूट का अपना अलग शीर्षक हो, जिसमें मुख्य बात सबसे पहले आए आंशिक A 2.4.2 SPA में नेविगेशन पर शीर्षक बदलना आपकी ज़िम्मेदारी है — ब्राउज़र यह नहीं करेगा।
इसका अर्थ क्या है
पेज लोड होने पर शीर्षक घोषित किया जाता है, और टैब की लंबी कतार या ब्राउज़र हिस्ट्री में उपयोगकर्ता को यही दिखता है। अलग पहचान वाला हिस्सा पहले रखें: जब टैब 90 पिक्सेल चौड़ा हो, तो "इनवॉइस — Acme", "Acme — इनवॉइस" से बेहतर है।
यह किसे प्रभावित करती है
कई टैब खोलकर रखने वाला हर व्यक्ति; स्क्रीन रीडर उपयोगकर्ता, जिनके लिए हर नेविगेशन पर सबसे पहले यही घोषित होता है।
इसे कैसे परखें
ऐप में क्लाइंट-साइड नेविगेट करें और document.title को बदलते हुए देखें। अगर यह नहीं बदलता, तो नए पेज की घोषणा कोई नहीं कर रहा।
सुधार कैसा दिखता है
// on route change document.title = `${page.name} — Acme`;आमतौर पर तब टूटती है जब
सिंगल-पेज ऐप शीर्षक को छुए बिना व्यू बदल देता है, इसलिए हर रूट पर वही शब्द घोषित होते हैं।
-
सूचियाँ, तालिकाएँ और चित्र असली एलिमेंट से बने हों आंशिक A 1.3.1 तालिका को scope वाले th और एक caption की ज़रूरत होती है। div से बना ग्रिड कुछ भी घोषित नहीं करता।
इसका अर्थ क्या है
नेटिव एलिमेंट ऐसे संबंध साथ रखते हैं जो सीएसएस नहीं रख सकती: सूची बताती है कि उसमें कितने आइटम हैं, और डेटा तालिका उपयोगकर्ता को किसी सेल को उसकी पंक्ति और कॉलम के हेडर के साथ पढ़ने देती है। इनमें से किसी को भी div से दोबारा बनाइए, तो वह संरचना ग़ायब हो जाती है और बस टेक्स्ट की एक सपाट धारा बचती है।
यह किसे प्रभावित करती है
तालिका वाला डेटा पढ़ने वाले स्क्रीन रीडर उपयोगकर्ता, जहाँ हेडर से जुड़ाव टूटते ही संख्याएँ बेमानी हो जाती हैं।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर कर्सर किसी भी डेटा सेल में रखें। आपको सुनाई देना चाहिए कि वह किस कॉलम और किस पंक्ति का है।
सुधार कैसा दिखता है
<table> <caption>Revenue by quarter</caption> <tr><th scope="col">Quarter</th><th scope="col">Revenue</th></tr>आमतौर पर तब टूटती है जब
सीएसएस ग्रिड से डिज़ाइनर का चाहा लेआउट तो मिल जाता है, पर सिमैंटिक्स कभी वापस नहीं जोड़े जाते।
-
पढ़ने का क्रम दिखने वाले क्रम से मेल खाता है हाथ से व्यवहार सीएसएस order, ग्रिड प्लेसमेंट और absolute पोज़िशनिंग — ये सब डीओएम को हिलाए बिना नज़र को इधर-उधर ले जाते हैं।
इसका अर्थ क्या है
सहायक तकनीक और कीबोर्ड फ़ोकस डीओएम के क्रम पर चलते हैं। सीएसएस उसे छुए बिना आँखों को दिखने वाला क्रम बदल सकती है, इसलिए जो साइडबार पढ़ने में आख़िर में आता है पर दिखता सबसे पहले है, उस तक पहुँचा भी आख़िर में ही जाएगा — दोनों क्रम चुपचाप एक-दूसरे से दूर होते जाते हैं और सिर्फ़ टेस्टिंग में ही सामने आते हैं।
यह किसे प्रभावित करती है
कीबोर्ड और स्क्रीन रीडर उपयोगकर्ता, और हर वह व्यक्ति जिसका ब्राउज़र स्टाइलशीट लोड नहीं कर पाता।
इसे कैसे परखें
सीएसएस को पूरी तरह बंद कर दें। तब भी पेज एक समझ में आने वाले क्रम में पढ़ा जाना चाहिए।
आमतौर पर तब टूटती है जब
रिस्पॉन्सिव लेआउट एक ब्रेकपॉइंट पर कॉलम का क्रम बदलने के लिए order या grid-area इस्तेमाल करता है, और दूसरे पर नहीं।
कीबोर्ड और फ़ोकस
पूरा उत्पाद, बिना माउस के। यहीं अधिकांश सिंगल-पेज ऐप विफल होते हैं।
-
हर इंटरैक्टिव एलिमेंट तक कीबोर्ड से पहुँचा और उसे चलाया जा सकता है आंशिक A 2.1.1 onClick वाला div ऐसा नहीं है। बटन इस्तेमाल करें, या role, tabindex और दोनों कीबोर्ड हैंडलर जोड़ें।
इसका अर्थ क्या है
नेटिव बटन पर फ़ोकस किया जा सकता है, वह अपनी भूमिका घोषित करता है, Enter और Space दोनों पर चलता है, और वॉइस कंट्रोल के साथ काम करता है — यह सब मुफ़्त में। क्लिक हैंडलर वाले div में इनमें से कुछ भी नहीं होता, और यह सब दोबारा बनाने में चार अतिरिक्त एट्रिब्यूट लगते हैं, जिनमें से कोई एक लोग अक्सर भूल ही जाते हैं।
यह किसे प्रभावित करती है
कीबोर्ड उपयोगकर्ता, स्विच और वॉइस कंट्रोल उपयोगकर्ता, और स्क्रीन रीडर उपयोगकर्ता, जिन्हें यह तक सुनाई नहीं देगा कि वह एलिमेंट मौजूद है।
इसे कैसे परखें
Tab से पूरे पेज में घूमें और माउस छुए बिना मुख्य काम पूरा करें। जिस चीज़ पर आप क्लिक तो कर सकते हैं पर उस तक पहुँच नहीं सकते, वह फ़ेल है।
सुधार कैसा दिखता है
// no <div onClick={save}>Save</div> // yes <button type="button" onClick={save}>Save</button>आमतौर पर तब टूटती है जब
डिज़ाइनर कुछ ऐसा माँगता है जो "बटन जैसा नहीं दिखना चाहिए", और स्टाइलिंग के साथ सिमैंटिक्स भी हटा दिए जाते हैं।
-
कोई कीबोर्ड ट्रैप नहीं — फ़ोकस हमेशा बाहर निकल सकता है हाथ से A 2.1.2 आम तौर पर दोषी मोडल, एम्बेड किए गए प्लेयर और कस्टम एडिटर होते हैं।
इसका अर्थ क्या है
ट्रैप ऐसी कोई भी जगह है जिसमें फ़ोकस घुस तो सकता है पर सिर्फ़ कीबोर्ड से बाहर नहीं निकल सकता। यह इस सूची की सबसे गंभीर विफलता है, क्योंकि उपयोगकर्ता बस किसी एक फ़ीचर से वंचित नहीं होता — वह पेज पर अटक जाता है, न आगे का रास्ता, न पीछे का।
यह किसे प्रभावित करती है
सिर्फ़ कीबोर्ड इस्तेमाल करने वाले उपयोगकर्ता। माउस उपयोगकर्ता डायलॉग बंद कर देता है और बग कभी देखता ही नहीं, इसीलिए यह समीक्षा से बच निकलता है।
इसे कैसे परखें
हर डायलॉग, पिकर, एडिटर और एम्बेड किए गए फ़्रेम में Tab से जाएँ, फिर Tab और Escape से बाहर निकलने की कोशिश करें। Shift+Tab के साथ दोनों दिशाओं में ऐसा करें।
सुधार कैसा दिखता है
dialog.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); // and return focus to the trigger });आमतौर पर तब टूटती है जब
सही व्यवहार के लिए मोडल में फ़ोकस ट्रैप जोड़ा जाता है, पर उससे निकलने का रास्ता कभी Escape या बंद करने वाले बटन से जोड़ा ही नहीं जाता।
-
फ़ोकस हमेशा दिखता है, और बिना विकल्प दिए कभी हटाया नहीं जाता आंशिक AA 2.4.7 outline: none, और उसकी जगह कुछ भी नहीं — असल दुनिया में यही सबसे आम सुलभता बग है।
इसका अर्थ क्या है
फ़ोकस रिंग कीबोर्ड उपयोगकर्ता का कर्सर है। इसे हटा दें तो वे आँख मूँदकर टाइप कर रहे होते हैं — उन्हें पता नहीं चलता कि Enter कौन-सा कंट्रोल चालू करने वाला है। :focus-visible उसी वजह को सुलझा देता है जिसके लिए इसे आम तौर पर हटाया जाता है: यह रिंग कीबोर्ड फ़ोकस पर दिखाता है, माउस क्लिक के बाद नहीं।
यह किसे प्रभावित करती है
कीबोर्ड इस्तेमाल करने वाला हर व्यक्ति, जिनमें वे देख सकने वाले पावर यूज़र भी शामिल हैं जो कभी नहीं सोचते कि उन्हें सुलभता सुविधाओं की ज़रूरत है।
इसे कैसे परखें
पेज के हर कंट्रोल पर Tab से जाएँ और ध्यान से देखें। अगर आप भूल जाते हैं कि आप कहाँ हैं, तो बाकी सब भी भूलेंगे।
सुधार कैसा दिखता है
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; } /* never `outline: none` without a replacement */आमतौर पर तब टूटती है जब
पहले ही दिन एक रीसेट स्टाइलशीट पूरी साइट से आउटलाइन हटा देती है, और कोई कुछ भी वापस नहीं लगाता।
-
फ़ोकस क्रम अर्थ के अनुसार चलता है आंशिक A 2.4.3 कोई पॉज़िटिव tabindex नहीं। प्रोग्राम से फ़ोकस किए जाने वाले लक्ष्यों के लिए tabindex="-1", क्रम में जोड़ने के लिए "0"।
इसका अर्थ क्या है
टैब क्रम डीओएम से आता है। पॉज़िटिव tabindex एलिमेंट को पूरे पेज के क्रम में सबसे आगे पहुँचा देता है, जिससे बाकी हर जगह क्रम टूट जाता है — एक अकेला tabindex="3" अपने आसपास पेज के हर कंट्रोल का क्रम चुपचाप बदल देता है।
यह किसे प्रभावित करती है
किसी फ़ॉर्म या फ़्लो को क्रम से पूरा करने वाले कीबोर्ड और स्क्रीन रीडर उपयोगकर्ता।
इसे कैसे परखें
ऊपर से Tab करना शुरू करें और क्रम नोट करें। यह उसी क्रम से मेल खाना चाहिए जिसमें आप पेज को ज़ोर से पढ़ेंगे।
सुधार कैसा दिखता है
tabindex="0" // put it in the natural order tabindex="-1" // focusable by script only tabindex="3" // almost always a mistakeआमतौर पर तब टूटती है जब
कोई एक कंट्रोल ठीक करने के लिए tabindex का सहारा लेता है और पूरे पेज का क्रम बदल देता है।
-
रूट बदलने और डायलॉग खुलने-बंद होने पर फ़ोकस सँभाला जाता है हाथ से व्यवहार खुलने पर फ़ोकस अंदर ले जाएँ; बंद होने पर उसे ट्रिगर पर लौटाएँ। नेविगेशन पर उसे नए h1 पर ले जाएँ।
इसका अर्थ क्या है
क्लाइंट-साइड रूट बदलने पर सामग्री तो बदल जाती है, पर फ़ोकस जहाँ था वहीं रह जाता है — अक्सर ऐसे लिंक पर जो अब मौजूद ही नहीं, जिससे फ़ोकस बिना किसी घोषणा के डॉक्यूमेंट के सबसे ऊपर जा गिरता है। इसका इलाज है फ़ोकस को सोच-समझकर ले जाना और बताना कि क्या बदला।
यह किसे प्रभावित करती है
स्क्रीन रीडर और कीबोर्ड उपयोगकर्ता, जिनके लिए बिना घोषणा का नेविगेशन और कुछ न होना एक जैसे ही हैं।
इसे कैसे परखें
कीबोर्ड से कोई लिंक चालू करें, फिर Tab दबाएँ। अगर आप वापस ब्राउज़र के अपने इंटरफ़ेस पर पहुँच जाते हैं, तो फ़ोकस खो गया था।
सुधार कैसा दिखता है
// after render headingRef.current.focus(); // h1 with tabindex="-1" // on dialog close triggerRef.current.focus();आमतौर पर तब टूटती है जब
राउटर ट्रांज़िशन को एनिमेट करता है और फ़ोकस भुला दिया जाता है, क्योंकि देखने में लगता है कि पेज बदल चुका है।
-
स्किप लिंक सबसे पहले आता है और सच में फ़ोकस आगे ले जाता है आंशिक A 2.4.1 यह Tab से पहुँचने लायक पहली चीज़ हो, फ़ोकस मिलने पर दिखे, और फ़ोकस हो सकने वाले कंटेनर को लक्ष्य करे।
इसका अर्थ क्या है
स्किप लिंक के बिना हर पेज पर हर बार शुरुआत पूरे नेविगेशन में Tab करते हुए गुज़रने से होती है। आम गड़बड़ी बारीक है: लिंक पेज को स्क्रॉल तो कर देता है पर फ़ोकस पीछे रह जाता है, इसलिए अगला Tab फिर उसी मेनू में जा पहुँचता है जिससे उपयोगकर्ता बचकर निकलना चाहता था।
यह किसे प्रभावित करती है
ऐसी किसी भी साइट के कीबोर्ड उपयोगकर्ता, जिस पर गिने-चुने से ज़्यादा नेविगेशन लिंक हों।
इसे कैसे परखें
पेज लोड करें, एक बार Tab दबाएँ, Enter दबाएँ, फिर दोबारा Tab दबाएँ। अगला पड़ाव मुख्य सामग्री के अंदर होना चाहिए।
सुधार कैसा दिखता है
<a class="skip" href="#main">Skip to main content</a> <main id="main" tabindex="-1">आमतौर पर तब टूटती है जब
लक्ष्य एक ऐसा div है जिस पर tabindex नहीं है, इसलिए ब्राउज़र स्क्रॉल तो करता है पर फ़ोकस को वहाँ नहीं ले जाता।
-
पॉइंटर टारगेट कम से कम 24x24 सीएसएस पिक्सेल के हैं ऑटो AA 2.5.8 डब्ल्यूसीएजी 2.2 में नया। इसमें आसपास की खाली जगह भी गिनी जाती है — छोटे आइकन को सिर्फ़ आकार नहीं, अपने चारों ओर जगह भी चाहिए।
इसका अर्थ क्या है
जिसके हाथ काँपते हों, जो चलती ट्रेन में हो या जो स्टाइलस इस्तेमाल कर रहा हो — ऐसे किसी के लिए भी छोटे टारगेट पर सही-सही टैप करना मुश्किल होता है। डब्ल्यूसीएजी 2.2 ने 24px की न्यूनतम सीमा जोड़ी है, और इसे दो तरह से पूरा किया जा सकता है: टारगेट को बड़ा करके, या उसके आसपास इतनी खाली जगह छोड़कर कि चूका हुआ टैप पड़ोसी टारगेट पर न लगे।
यह किसे प्रभावित करती है
हाथों की बारीक हरकतों पर कमज़ोर नियंत्रण वाला कोई भी व्यक्ति, और आदर्श से कम हालात में हर टच उपयोगकर्ता।
इसे कैसे परखें
आइकन को नहीं, क्लिक होने वाले क्षेत्र को मापें। 44px के बटन के भीतर 16px का आइकन पास होता है; 2px की दूरी पर रखे दो 16px आइकन नहीं।
सुधार कैसा दिखता है
.icon-btn { min-inline-size: 24px; min-block-size: 24px; } /* or leave 24px of clear space between targets */आमतौर पर तब टूटती है जब
ठसाठस भरा टूलबार मोबाइल पर और सिकुड़ जाता है, जबकि वहाँ टारगेट को छोटा नहीं, बड़ा होना चाहिए।
फ़ॉर्म और त्रुटियाँ
जहाँ एक असुलभ उत्पाद परेशान करना छोड़कर पैसे का नुक़सान करने लगता है।
-
हर कंट्रोल का एक प्रोग्रामेटिक लेबल है ऑटो A 3.3.2 प्लेसहोल्डर लेबल नहीं है। टाइप करते ही वह ग़ायब हो जाता है, और कई स्क्रीन रीडर उसे छोड़ देते हैं।
इसका अर्थ क्या है
किसी फ़ील्ड पर फ़ोकस आते ही स्क्रीन रीडर लेबल ही बोलता है, और वॉइस कंट्रोल उपयोगकर्ता उस फ़ील्ड तक पहुँचने के लिए वही लेबल बोलते हैं। प्लेसहोल्डर किसी के टाइप करते ही ग़ायब हो जाता है और फ़ील्ड का इकलौता विवरण भी अपने साथ ले जाता है — और यह उन्हीं लोगों के लिए सबसे बुरा है जिन्हें उसे दोबारा देखने की सबसे ज़्यादा ज़रूरत पड़ती है।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, वॉइस कंट्रोल उपयोगकर्ता, और हर वह व्यक्ति जो फ़ॉर्म भरते-भरते नज़र हटाता है और लौटकर सामने खाली बॉक्सों की एक कतार पाता है।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर हर फ़ील्ड पर फ़ोकस करें। अगर आपको कोई नाम नहीं, सिर्फ़ "एडिट, ब्लैंक" सुनाई दे, तो उस फ़ील्ड का कोई लेबल नहीं है।
सुधार कैसा दिखता है
<label for="email">Email</label> <input id="email" type="email" autocomplete="email"> <!-- or, visually hidden --> <input aria-label="Search">आमतौर पर तब टूटती है जब
सादगी वाले डिज़ाइन के चक्कर में लेबल हटा दिए जाते हैं, और उनकी जगह प्लेसहोल्डर से काम चलाया जाता है।
-
त्रुटियाँ शब्दों में बताई जाती हैं और फ़ील्ड से जुड़ी होती हैं आंशिक A 3.3.1 aria-describedby संदेश को फ़ील्ड से जोड़ता है; aria-invalid उसकी स्थिति दर्ज करता है। सिर्फ़ रंग कुछ नहीं कहता।
इसका अर्थ क्या है
त्रुटि को तीन बातें बतानी होती हैं: कि कुछ ग़लत है, किस फ़ील्ड में ग़लत है, और उसे ठीक करने के लिए क्या करना है। लाल बॉर्डर पहली बात बताता है, वह भी धुंधले ढंग से और सिर्फ़ उन लोगों को जो लाल रंग देख पाते हैं — फ़ील्ड से जुड़ाव और निर्देश, दोनों प्रोग्रामेटिक और शब्दों में होने चाहिए।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, रंग-अंधता वाले उपयोगकर्ता, और हर वह व्यक्ति जो इतने दबाव में हो कि रंग का हल्का-सा बदलाव उसकी नज़र से छूट जाए।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर ग़लत भरा हुआ फ़ॉर्म सबमिट करें। आपको त्रुटियों की संख्या सुनाई देनी चाहिए, और फिर आपको हर फ़ील्ड तक पहुँचकर उसका संदेश सुन पाना चाहिए।
सुधार कैसा दिखता है
<input id="email" aria-invalid="true" aria-describedby="email-err"> <p id="email-err">Enter an email address, like [email protected]</p>आमतौर पर तब टूटती है जब
वैलिडेशन पहले सिर्फ़ दिखने वाले रूप में लागू किया जाता है, और एआरआईए जोड़ने का काम बाद के किसी टिकट पर टाल दिया जाता है।
-
आम फ़ील्ड autocomplete घोषित करते हैं ऑटो AA 1.3.5 name, email, tel, address — यह अनिवार्य है, और इससे सबके लिए टाइपिंग आधी हो जाती है।
इसका अर्थ क्या है
autocomplete एट्रिब्यूट एक तय शब्दावली के ज़रिए बताता है कि फ़ील्ड कौन-सी जानकारी लेता है। इससे ब्राउज़र उसे अपने-आप भर पाते हैं, और कुछ सहायक तकनीकें शब्द की जगह कोई जाना-पहचाना आइकन दिखा पाती हैं। यह उन गिने-चुने मानदंडों में से है जहाँ सुलभ तरीक़ा अपनाने से कन्वर्ज़न में मापी जा सकने वाली बढ़ोतरी होती है।
यह किसे प्रभावित करती है
मोटर या संज्ञानात्मक विकलांगता वाले लोग, जिनके लिए पता टाइप करना सचमुच भारी पड़ता है — और बाक़ी सब, जिन्हें बस एक तेज़ फ़ॉर्म मिल जाता है।
इसे कैसे परखें
निजी जानकारी वाले हर फ़ील्ड को डब्ल्यूसीएजी की टोकन सूची से मिलाकर जाँचें। फिर देखें कि ब्राउज़र उन्हें भरने की पेशकश करता है।
सुधार कैसा दिखता है
<input name="tel" type="tel" autocomplete="tel"> <input name="postcode" autocomplete="postal-code">आमतौर पर तब टूटती है जब
कोई कस्टम इनपुट कंपोनेंट अनजान एट्रिब्यूट को डीओएम तक पहुँचने से पहले ही रास्ते में गिरा देता है।
-
संबंधित कंट्रोल fieldset और legend से समूहबद्ध हैं आंशिक A 1.3.1 रेडियो सेट और चेकबॉक्स समूह एक-एक करके पढ़े जाएँ, तो उनका कोई मतलब नहीं निकलता।
इसका अर्थ क्या है
रेडियो बटन अपना लेबल तो बोलता है, पर वह सवाल नहीं जिसका वह जवाब है। legend वही सवाल जोड़ता है, जिससे "स्टैंडर्ड डिलीवरी, रेडियो, 3 में से 1" बदलकर "डिलीवरी का तरीक़ा: स्टैंडर्ड डिलीवरी, रेडियो, 3 में से 1" हो जाता है।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, जिन्हें वरना विकल्प तो सुनाई देते हैं, पर यह कभी पता नहीं चलता कि पूछा क्या जा रहा है।
इसे कैसे परखें
किसी समूह के एक रेडियो पर फ़ोकस करें। अगर आप नहीं बता पाते कि वह समूह किसलिए है, तो उसे legend चाहिए।
सुधार कैसा दिखता है
<fieldset> <legend>Delivery method</legend> <label><input type="radio" name="ship"> Standard</label> </fieldset>आमतौर पर तब टूटती है जब
fieldset को स्टाइल करना मुश्किल है, इसलिए उसकी जगह एक div और एक हेडिंग लगा दी जाती है।
-
वैलिडेशन सिर्फ़ दिखाया नहीं, बोलकर बताया जाता है हाथ से व्यवहार लाइव रीजन, या फ़ोकस को आगे ले जाना — वरना स्क्रीन रीडर उपयोगकर्ता सबमिट करता है और जवाब में सन्नाटा मिलता है।
इसका अर्थ क्या है
क्लाइंट-साइड वैलिडेशन आमतौर पर फ़ॉर्म को उसी जगह दोबारा रेंडर कर देता है। इस दोबारा रेंडर के बारे में कुछ भी बोला नहीं जाता, इसलिए स्क्रीन रीडर उपयोगकर्ता सबमिट दबाता है, कुछ नहीं सुनता, और मान लेता है कि बटन ख़राब है।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता। यही एक मुश्किल फ़ॉर्म और एक असंभव फ़ॉर्म के बीच का फ़र्क़ है।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर और आँखें बंद करके ग़लत भरा हुआ फ़ॉर्म सबमिट करें। अगर आपको कुछ पता नहीं चलता, तो उन्हें भी नहीं चलेगा।
सुधार कैसा दिखता है
<div role="alert">2 problems stop this form being submitted</div> // or move focus to the summary, then to the first bad fieldआमतौर पर तब टूटती है जब
त्रुटि सारांश डीओएम में मौजूद होने से पहले ही रेंडर हो जाता है, इसलिए लाइव रीजन के पास बोलने को कुछ नहीं होता।
-
क़ानूनी और वित्तीय सबमिशन पलटे जा सकते हैं या उनकी पुष्टि ली जाती है हाथ से A 3.3.4 पलटा जा सके, जाँचा गया हो, या पुष्टि ली गई हो। भुगतान लेने से पहले इनमें से एक चुनें।
इसका अर्थ क्या है
जिस भी काम में पैसा लगता हो, कोई अनुबंध बनता हो या डेटा मिटता हो, उसके लिए डब्ल्यूसीएजी तीन में से एक सुरक्षा माँगता है: कार्रवाई को पलटा जा सके, इनपुट की जाँच हो और उसे सुधारा जा सके, या अंतिम होने से पहले उपयोगकर्ता को पुष्टि का एक चरण मिले।
यह किसे प्रभावित करती है
संज्ञानात्मक विकलांगता वाले लोग, और हर वह व्यक्ति जो ग़लत जगह टैप कर देता है — और ट्रैफ़िक काफ़ी हो, तो इसमें हर कोई आ जाता है।
इसे कैसे परखें
चेकआउट को शुरू से आख़िर तक ख़ुद पूरा करके देखें। क्या कोई समीक्षा चरण, अनडू करने की मोहलत, या ऐसा वैलिडेशन है जो पैसे कटने से पहले ग़लती पकड़ ले?
आमतौर पर तब टूटती है जब
रफ़्तार के लिए वन-क्लिक फ़्लो जोड़ा जाता है, और कटता है पुष्टि वाला चरण।
छवियाँ और मीडिया
ऑल्ट टेक्स्ट एक निर्णय है, भरने का ख़ाना नहीं।
-
हर इमेज का या तो विवरण दिया गया है या उसे साफ़ तौर पर सजावटी बताया गया है आंशिक A 1.1.1 सजावट के लिए alt="" और aria-hidden। alt में फ़ाइल का नाम होना कुछ न होने से भी बदतर है।
इसका अर्थ क्या है
alt टेक्स्ट एक ही सवाल का जवाब देता है: देख सकने वाले व्यक्ति को इस इमेज से ऐसा क्या मिलता है जो आसपास के टेक्स्ट से नहीं मिलता? अगर कुछ नहीं, तो alt="" ही सही और सोच-समझकर दिया गया मान है — खाली alt एक फ़ैसला है, जबकि alt एट्रिब्यूट का न होना एक चूक है, और स्क्रीन रीडर दोनों के साथ अलग-अलग बर्ताव करते हैं।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता; साथ ही धीमे कनेक्शन पर कोई भी, जहाँ इमेज लोड नहीं होतीं।
इसे कैसे परखें
इमेज बंद कर दें। जो कुछ अब समझ में नहीं आता, उसे बेहतर alt टेक्स्ट चाहिए था; जो कुछ अब फ़ाइल-नामों से अटा पड़ा है, उसे alt="" चाहिए था।
सुधार कैसा दिखता है
<img src="q3.png" alt="Revenue fell 12% in Q3, the first drop since 2019"> <img src="flourish.svg" alt="">आमतौर पर तब टूटती है जब
CMS alt को अनिवार्य फ़ील्ड बना देता है, तो लेखक उससे पीछा छुड़ाने के लिए फ़ाइल का नाम टाइप कर देते हैं।
-
इमेज में मौजूद टेक्स्ट असली टेक्स्ट के रूप में भी दोहराया गया है हाथ से A 1.4.5 न उसका आकार बदला जा सकता है, न स्टाइल; न उसका अनुवाद हो सकता है, न उसमें खोज — कोड के स्क्रीनशॉट सबसे बुरा उदाहरण हैं।
इसका अर्थ क्या है
तस्वीर में जड़ा हुआ टेक्स्ट खोज, अनुवाद, रीडर मोड और टेक्स्ट-स्पेसिंग ओवरराइड में से किसी को नहीं दिखता, और ज़ूम करने पर धुंधला हो जाता है। दस्तावेज़ में लगे कोड के स्क्रीनशॉट को न कॉपी किया जा सकता है, न पढ़कर सुनाया जा सकता है, और न ही उसमें दिख रहे त्रुटि संदेश के ज़रिए उसे खोजा जा सकता है।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता जो टेक्स्ट को ज़ूम करते हैं या उसकी स्टाइल बदलते हैं, और हर वह व्यक्ति जो दूसरी भाषा में पढ़ रहा हो।
इसे कैसे परखें
माउस से टेक्स्ट चुनने की कोशिश करें। अगर नहीं चुन पाते, तो वह तस्वीर है।
आमतौर पर तब टूटती है जब
डिज़ाइन किए गए किसी उद्धरण या कोड सैंपल को पीएनजी के रूप में एक्सपोर्ट कर दिया जाता है, क्योंकि उसे असल में बनाने से यह जल्दी हो जाता था।
-
वीडियो में कैप्शन हैं; ऑडियो का ट्रांसक्रिप्ट है हाथ से A 1.2.2 ऑटो-कैप्शन बस एक मसौदा हैं। जारी होने से पहले कोई इंसान उन्हें पढ़ता है।
इसका अर्थ क्या है
कैप्शन में संवाद और ज़रूरी आवाज़ें होती हैं; ट्रांसक्रिप्ट उसी सामग्री को खोजने और सरसरी नज़र से पढ़ने लायक बनाता है। मशीनी कैप्शन नाम, तकनीकी शब्दावली और आँकड़े ठीक उन्हीं पलों में ग़लत कर देते हैं जब उनकी सबसे ज़्यादा अहमियत होती है, इसलिए वे शुरुआती बिंदु भर हैं, सौंपने लायक तैयार काम नहीं।
यह किसे प्रभावित करती है
बधिर और कम सुनने वाले उपयोगकर्ता; और उनसे कहीं बड़ा वह समूह जो सार्वजनिक जगहों पर आवाज़ बंद करके देखता है।
इसे कैसे परखें
आवाज़ बंद करके देखें। फिर कैप्शन ट्रैक पढ़ें और उन शब्दों पर ध्यान दें जो किसी मशीन को पता नहीं होंगे।
आमतौर पर तब टूटती है जब
ऑटो-कैप्शन एक बार चालू कर दिए जाते हैं, और फिर कोई उन्हें दोबारा नहीं पढ़ता।
-
जहाँ वीडियो में दृश्य जानकारी हो, वहाँ ऑडियो विवरण है हाथ से AA 1.2.5 अगर दृश्य कुछ ऐसा कहता है जो साउंडट्रैक नहीं कहता, तो उसका विवरण ज़रूरी है।
इसका अर्थ क्या है
ऑडियो विवरण वह बयान करता है जो दिखाया तो जाता है पर कहा नहीं जाता — कोई डायग्राम, स्क्रीन पर दिखता कोई आँकड़ा, चुपचाप किया गया कोई प्रदर्शन। जहाँ वीडियो की योजना अच्छी तरह बनी हो, वहाँ वाचन ही यह सब समेट लेता है और अलग ट्रैक की ज़रूरत नहीं पड़ती।
यह किसे प्रभावित करती है
दृष्टिहीन और कम दृष्टि वाले उपयोगकर्ता, जो ऐसा वीडियो देख रहे हों जिसका अर्थ कुछ हद तक दृश्य पर टिका हो।
इसे कैसे परखें
बिना देखे सुनें। हर वह पल नोट करें जब बात का सिरा आपके हाथ से छूट जाता है।
आमतौर पर तब टूटती है जब
प्रोडक्ट डेमो इंटरफ़ेस दिखाता है, जबकि वॉइसओवर कहता है "जैसा कि आप यहाँ देख सकते हैं"।
-
कुछ भी तीन सेकंड से ज़्यादा अपने-आप नहीं चलता आंशिक A 1.4.2 या फिर उसे रोकने का एक कंट्रोल है, जिस तक बाक़ी हर चीज़ से पहले पहुँचा जा सके।
इसका अर्थ क्या है
अपने-आप चलने वाला ऑडियो स्क्रीन रीडर की आवाज़ से टकराता है, और कान से दोनों को अलग नहीं किया जा सकता। रोकने वाला कंट्रोल फ़ोकस क्रम में शुरू में ही आना चाहिए, क्योंकि यह शोर ठीक उसी तक पहुँचना मुश्किल बना देता है।
यह किसे प्रभावित करती है
सबसे पहले स्क्रीन रीडर उपयोगकर्ता, फिर दफ़्तर या लाइब्रेरी में बैठा हर व्यक्ति।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर पेज लोड करें। अगर आपको स्क्रीन रीडर सुनाई नहीं देता, तो यही विफलता है।
आमतौर पर तब टूटती है जब
बैकग्राउंड वीडियो म्यूट करके जारी किया जाता है, और बाद का कोई बदलाव उसमें साउंडट्रैक जोड़ देता है।
-
आइकन का ऐक्सेसिबल नेम है या वे छिपे हुए हैं आंशिक व्यवहार सिर्फ़ आइकन वाले बटन को aria-label चाहिए; लेबल के साथ लगे आइकन को aria-hidden चाहिए।
इसका अर्थ क्या है
एक ही कारण, दो विफलताएँ। बिना नाम वाला, सिर्फ़ आइकन वाला बटन बस "बटन" बोला जाता है, और कुछ नहीं। टेक्स्ट लेबल के साथ लगा आइकन अगर सहायक तकनीक के लिए दिखता छोड़ दिया जाए, तो वह दो बार बोला जाता है, या अपने फ़ाइल-नाम से बोला जाता है।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, और वे वॉइस कंट्रोल उपयोगकर्ता जिन्हें बोलकर पुकारने के लिए एक नाम चाहिए।
इसे कैसे परखें
सुलभता ट्री पढ़ें। हर बटन का एक नाम होना चाहिए; कोई भी नाम दो बार नहीं आना चाहिए।
सुधार कैसा दिखता है
<button aria-label="Delete"><svg aria-hidden="true">…</svg></button> <button><svg aria-hidden="true">…</svg> Delete</button>आमतौर पर तब टूटती है जब
एक ही आइकन कंपोनेंट दोनों तरह इस्तेमाल होता है, पर उनमें से एक तरीका उसमें हार्ड-कोड कर दिया गया है।
रंग और कंट्रास्ट
यह वह हिस्सा है जिसे स्वचालित टूल सचमुच आपके लिए पूरा कर सकता है।
-
बॉडी टेक्स्ट 4.5:1 तक पहुँचता है, बड़ा टेक्स्ट 3:1 तक ऑटो AA 1.4.3 कंपोज़िट की गई पृष्ठभूमि के मुक़ाबले — यानी हर पारभासी परत के बाद बना रंग, टोकन वाला रंग नहीं।
इसका अर्थ क्या है
कंट्रास्ट टेक्स्ट और उसके पीछे असल में मौजूद चीज़ के बीच मापा जाता है। पारभासी ओवरले, हल्के रंग वाले कार्ड और ग्रेडिएंट — ये सब उस पृष्ठभूमि को बदल देते हैं, इसलिए डिज़ाइन टोकन में लिखा अनुपात अक्सर स्क्रीन पर बनने वाला अनुपात नहीं होता — कोई रंग सफ़ेद पर पास हो सकता है और जिस कार्ड पर वह असल में रहता है, उस पर फ़ेल।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता, लगभग चालीस से ज़्यादा उम्र का हर व्यक्ति, और धूप में बाहर बैठा कोई भी व्यक्ति।
इसे कैसे परखें
सीएसएस मानों के बजाय रेंडर हुए पिक्सेल का सैंपल लें। तुलना करने से पहले हर पारभासी परत को कंपोज़िट करें।
सुधार कैसा दिखता है
/* 4.5:1 body, 3:1 for 24px or 18.5px bold */आमतौर पर तब टूटती है जब
कोई ग्रे रंग सफ़ेद के हिसाब से चुना जाता है, फिर क्रीम रंग की सतह पर दोबारा इस्तेमाल होता है, जहाँ वह पास नहीं होता।
-
कंट्रोल और अर्थपूर्ण ग्राफ़िक्स 3:1 तक पहुँचते हैं ऑटो AA 1.4.11 इनपुट बॉर्डर, टॉगल, चार्ट सीरीज़, फ़ोकस रिंग।
इसका अर्थ क्या है
दिखना सिर्फ़ टेक्स्ट का ही ज़रूरी नहीं है। वह किनारा जो बताता है कि इनपुट कहाँ से शुरू होता है, वह टॉगल जो दिखाता है कि कोई सेटिंग चालू है, चार्ट की रेखा — इन सबको अपने आसपास के मुक़ाबले 3:1 चाहिए। इस नियम की चपेट में आम तौर पर बाल जितने पतले बॉर्डर आते हैं।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता, जिन्हें वरना कंट्रोल के किनारे ही नहीं मिलते।
इसे कैसे परखें
कंट्रोल के किनारे को पेज के मुक़ाबले मापें, और ग्राफ़िक के अर्थ बताने वाले हिस्सों को उनके आसपास के मुक़ाबले।
आमतौर पर तब टूटती है जब
नफ़ासत के लिए बहुत हल्का बॉर्डर चुना जाता है — लगभग 1.2:1 का।
-
अर्थ बताने का एकमात्र ज़रिया कभी रंग नहीं होता आंशिक A 1.4.1 लिंक पर अंडरलाइन, त्रुटियों के साथ आइकन, चार्ट सीरीज़ पर लेबल या पैटर्न।
इसका अर्थ क्या है
अगर सारा रंग हटाने से जानकारी भी हट जाती है, तो सारा काम अकेला रंग कर रहा था। इसका हल है एक दूसरा संकेत जो ग्रेस्केल में भी बचा रहे: अंडरलाइन, आइकन, आकृति, सीधा लेबल या पैटर्न।
यह किसे प्रभावित करती है
लगभग बारह में से एक पुरुष और दो सौ में से एक महिला, साथ ही श्वेत-श्याम में प्रिंट करने वाला कोई भी व्यक्ति।
इसे कैसे परखें
स्क्रीनशॉट लें और उसके रंग हटा दें (डीसैचुरेट करें)। जो कुछ भी अब एक-दूसरे से अलग न पहचाना जा सके, वह फ़ेल है।
आमतौर पर तब टूटती है जब
स्टेटस सिस्टम लाल, एम्बर और हरे रंग पर बनाया जाता है, और आकृतियाँ सिर्फ़ आइकनों में जोड़ी जाती हैं।
-
होवर, फ़ोकस, सक्रिय और चयनित स्थितियाँ भी सब पास होती हैं आंशिक AA 1.4.11 जो नियम सामान्य स्थिति में खरा उतरता है, वह होवर पर चूक सकता है — उस स्थिति को मापें, सामान्य स्थिति के रंग को नहीं।
इसका अर्थ क्या है
कंट्रास्ट आम तौर पर एक ही बार, सामान्य स्थिति में जाँचा जाता है। बाक़ी हर स्थिति रंगों की एक अलग जोड़ी है, और जो होवर पृष्ठभूमि तो बदल दे पर टेक्स्ट नहीं, वही सबसे जाना-पहचाना तरीका है जिससे पास होने वाला बटन ठीक उसी पल पढ़ने लायक नहीं रहता जब उसका इस्तेमाल हो रहा होता है।
यह किसे प्रभावित करती है
कम दृष्टि वाले और कीबोर्ड उपयोगकर्ता — कीबोर्ड उपयोगकर्ता सबसे ज़्यादा फ़ोकस स्थिति ही देखता है।
इसे कैसे परखें
हर स्थिति को अलग-अलग मापें: सामान्य, होवर, फ़ोकस, सक्रिय, चयनित, निष्क्रिय।
आमतौर पर तब टूटती है जब
होवर पर बटन ब्रांड रंग से भर जाता है और लेबल सफ़ेद ही रहता है।
-
डार्क मोड और forced-colors की जाँच अलग से होती है आंशिक व्यवहार उलटा किया गया पैलेट लगभग कभी पास नहीं होता, और Windows High Contrast आपकी पृष्ठभूमियाँ पूरी तरह हटा देता है।
इसका अर्थ क्या है
डार्क मोड कोई फ़िल्टर नहीं, एक दूसरा पैलेट है, और उसके अपने माप चाहिए। forced-colors मोड इससे भी आगे जाता है: ऑपरेटिंग सिस्टम आपके सारे रंग एक साथ बदल देता है, इसलिए बैकग्राउंड इमेज, शैडो या ग्रेडिएंट के ज़रिए दिखाई गई कोई भी चीज़ बस ग़ायब हो जाती है।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता, जो forced-colors मोड के मुख्य उपयोगकर्ता हैं।
इसे कैसे परखें
डार्क मोड में कंट्रास्ट की पूरी जाँच फिर से करें। फिर Windows High Contrast चालू करें और देखें कि क्या ग़ायब हो गया।
सुधार कैसा दिखता है
@media (forced-colors: active) { .card { border: 1px solid CanvasText; } }आमतौर पर तब टूटती है जब
फ़ोकस रिंग box-shadow से बनाई जाती है, जिसे forced-colors मोड हटा देता है।
-
प्रोटानोपिया, ड्यूटेरानोपिया और ट्राइटैनोपिया के लिए सिम्युलेटेड ऑटो व्यवहार असली स्क्रीनों पर, सिर्फ़ स्वैच शीट पर नहीं।
इसका अर्थ क्या है
सिमुलेशन दिखाता है कि रंग दृष्टि दोष के तीन आम प्रकारों में कोई पैलेट कैसा हो जाता है। जो पैलेट स्वैच शीट पर अलग-अलग दिखते हैं, वे छोटे, एक-दूसरे से सटे और चार्ट सीरीज़ के रूप में रेंडर होते ही अक्सर सिमटकर दो रंग रह जाते हैं।
यह किसे प्रभावित करती है
मोटे तौर पर बारह में से एक पुरुष।
इसे कैसे परखें
हर प्रकार को असली स्क्रीनों पर सिम्युलेट करें — चार्ट, स्टेटस चिप, नक़्शा — अलग से रखे रंग-रैंप पर नहीं।
आमतौर पर तब टूटती है जब
पैलेट की जाँच हो जाती है, पर उससे बने इंटरफ़ेस की नहीं।
गति और प्राथमिकताएँ
वे सेटिंग्स जो ऑपरेटिंग सिस्टम पहले से जानता है।
-
prefers-reduced-motion का पालन किया जाता है आंशिक AAA 2.3.3 सिर्फ़ सजावटी एनिमेशन ही नहीं — पैरालैक्स, अपने आप चलने वाले कैरोसेल और स्क्रॉल-जैकिंग भी।
इसका अर्थ क्या है
वेस्टिबुलर विकारों में बड़ा मोशन सचमुच बीमार कर देता है: पैरालैक्स, ज़ूम होते ट्रांज़िशन और स्क्रॉल-जैकिंग से ऐसी मतली और माइग्रेन हो सकता है जो साइट छोड़ने के बाद भी बना रहे। ऑपरेटिंग सिस्टम को यह पसंद पहले से पता है; इसका पालन करने में बस एक मीडिया क्वेरी लगती है।
यह किसे प्रभावित करती है
वेस्टिबुलर विकार और माइग्रेन वाले लोग — और हर वह व्यक्ति जिसे भारी मोशन थका देता है।
इसे कैसे परखें
ऑपरेटिंग सिस्टम में Reduce Motion सेटिंग चालू करें और पेज रीलोड करें। बड़ी हलचल ग़ायब हो जानी चाहिए, सिर्फ़ तेज़ नहीं।
सुधार कैसा दिखता है
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }आमतौर पर तब टूटती है जब
मीडिया क्वेरी सीएसएस ट्रांज़िशन को तो सँभाल लेती है, पर जावास्क्रिप्ट वाला स्क्रॉल एनिमेशन चलता रह जाता है।
-
कुछ भी एक सेकंड में तीन बार से ज़्यादा फ़्लैश नहीं होता हाथ से A 2.3.1 इससे दौरे पड़ सकते हैं। यह पसंद का मामला नहीं है।
इसका अर्थ क्या है
एक सेकंड में लगभग 3 से 55 बार फ़्लैश होना प्रकाश-संवेदी मिर्गी वाले लोगों में दौरा ला सकता है। सूची में यही एक आइटम है जहाँ ग़लती का नतीजा असुविधा नहीं, बल्कि चिकित्सीय आपात स्थिति होता है।
यह किसे प्रभावित करती है
प्रकाश-संवेदी मिर्गी वाले लोग।
इसे कैसे परखें
वीडियो, एनिमेशन और लोडिंग स्थितियों में तेज़ फ़्लैश या लाल रंग के तेज़ ट्रांज़िशन खोजें।
आमतौर पर तब टूटती है जब
स्टाइल के लिए ग्लिच इफ़ेक्ट या स्ट्रोब की तरह चमकता लोडर जोड़ दिया जाता है।
-
हिलती या अपने आप अपडेट होने वाली सामग्री को रोका जा सकता है आंशिक A 2.2.2 कैरोसेल, टिकर, लाइव फ़ीड — रोकें, बंद करें या छिपाएँ।
इसका अर्थ क्या है
जो कुछ भी पाँच सेकंड से ज़्यादा समय तक अपने आप हिलता, टिमटिमाता या अपडेट होता है, उसे रोकने का कोई तरीका होना चाहिए। टेक्स्ट के बगल में चलता मोशन वाक्य के बीच में ही ध्यान खींच ले जाता है, और पढ़ते-पढ़ते ख़ुद को बदल लेने वाली सामग्री के साथ चल पाना नामुमकिन है।
यह किसे प्रभावित करती है
ध्यान से जुड़ी और संज्ञानात्मक दिव्यांगता वाले लोग; और स्क्रीन रीडर उपयोगकर्ता, जब सामग्री पढ़े जाते समय ही बदल जाए।
इसे कैसे परखें
पेज पर हर हिलती चीज़ ढूँढें और उसे रोकने का कंट्रोल खोजें।
आमतौर पर तब टूटती है जब
हीरो कैरोसेल टाइमर पर आगे बढ़ता रहता है, और उसमें कोई कंट्रोल ही नहीं होता।
-
टाइमआउट की सूचना दी जाती है, या कोई टाइमआउट है ही नहीं हाथ से AAA 2.2.6 चुपचाप ख़त्म हो जाने वाला सेशन वह फ़ॉर्म गँवा देता है जिस पर किसी ने बीस मिनट लगाए थे।
इसका अर्थ क्या है
जहाँ निष्क्रियता से डेटा मिट सकता है, वहाँ उपयोगकर्ता को चेतावनी देनी होगी कि उसके पास कितना समय है — शुरू करने से पहले, डेटा चले जाने के बाद नहीं। टाइमआउट की मार ठीक उन्हीं लोगों पर पड़ती है जिन्हें पढ़ने या टाइप करने में ज़्यादा समय लगता है।
यह किसे प्रभावित करती है
संज्ञानात्मक या मोटर दिव्यांगता वाले लोग, जिन्हें मानकर चले गए समय से कई गुना ज़्यादा समय चाहिए हो सकता है।
इसे कैसे परखें
किसी लंबे फ़ॉर्म को टाइमआउट से ज़्यादा देर तक यूँ ही छोड़ दें। क्या चेतावनी आई, और क्या डेटा बचा रहा?
आमतौर पर तब टूटती है जब
सुरक्षा के लिए सेशन की अवधि तय की जाती है, और फ़्रंट एंड को इसकी कभी ख़बर ही नहीं होती।
एआरआईए और कस्टम विजेट
ख़राब एआरआईए से बेहतर है कोई एआरआईए न हो। हर बार पहले नेटिव एलिमेंट उठाइए।
-
कस्टम विजेट नाम, रोल और मान उजागर करते हैं आंशिक A 4.1.2 और स्थिति बदलने के साथ-साथ उन्हें अपडेट रखते हैं। चुप पड़ा aria-expanded यानी टूटा हुआ डिस्क्लोज़र।
इसका अर्थ क्या है
हर कंट्रोल को सहायक तकनीक को तीन बातें बतानी होती हैं: उसका नाम क्या है, वह किस तरह की चीज़ है, और वह किस स्थिति में है। मुश्किल हिस्सा तीसरा है — हर बार स्थिति बदलने पर उसे अपडेट करना पड़ता है, और पुराना पड़ चुका aria-expanded न होने से भी बुरा है, क्योंकि वह सीधे-सीधे झूठ बोलता है।
यह किसे प्रभावित करती है
स्क्रीन रीडर और वॉइस कंट्रोल उपयोगकर्ता, जब वे कोई ऐसी चीज़ चलाते हैं जो सादा लिंक या बटन नहीं है।
इसे कैसे परखें
डेवटूल्स में सुलभता ट्री खोलें, विजेट को चलाएँ, और देखें कि स्थिति उसके साथ बदलती है।
सुधार कैसा दिखता है
<button aria-expanded="false" aria-controls="menu">Filters</button> // on toggle: btn.setAttribute('aria-expanded', String(open))आमतौर पर तब टूटती है जब
एट्रिब्यूट पहले रेंडर में सेट होता है और फिर कभी छुआ नहीं जाता।
-
विजेट अपने APG कीबोर्ड पैटर्न का पालन करता है हाथ से व्यवहार टैब, मेन्यू, कॉम्बोबॉक्स और ट्री — हर एक का एक अपेक्षित कीबोर्ड मैप होता है। उपयोगकर्ता उसे पहले से जानते हैं।
इसका अर्थ क्या है
टैब सूची ऐरो कुंजियों, Home और End पर प्रतिक्रिया देती है; मेन्यू Escape पर बंद होता है और फ़ोकस उसे खोलने वाले कंट्रोल पर लौटा देता है। ये परिपाटियाँ एआरआईए Authoring Practices Guide में दर्ज हैं, और सहायक तकनीक के उपयोगकर्ता इन्हें सीख चुके हैं — अपनी ख़ुद की परिपाटी गढ़ने का मतलब है कि उन्हें आपकी परिपाटी सीखनी पड़ेगी।
यह किसे प्रभावित करती है
स्क्रीन रीडर और कीबोर्ड उपयोगकर्ता, जो पहले से जानते हैं कि ये कंपोनेंट बाक़ी हर जगह कैसे व्यवहार करते हैं।
इसे कैसे परखें
उस पैटर्न का APG पेज खोलें और उसके कीबोर्ड मैप को अपने बनाए कंपोनेंट पर एक-एक करके आज़माएँ।
आमतौर पर तब टूटती है जब
कंपोनेंट में रोल तो सही लग जाते हैं, पर कीबोर्ड हैंडलिंग कभी लिखी ही नहीं जाती।
-
स्टेटस संदेश लाइव रीजन तक पहुँचते हैं आंशिक AA 4.1.3 पुष्टि संदेशों के लिए polite, और assertive सिर्फ़ उन्हीं के लिए जो सचमुच बीच में टोकने लायक हों। दोनों एक साथ कभी नहीं।
इसका अर्थ क्या है
फ़ोकस लिए बिना दिखने वाला संदेश स्क्रीन रीडर के लिए अदृश्य रहता है, जब तक वह किसी लाइव रीजन के भीतर न पहुँचे। टेक्स्ट आने से पहले कंटेनर का डीओएम में मौजूद होना ज़रूरी है, वरना वहाँ बदलाव को देखने वाला कोई होता ही नहीं।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, जिन्हें वरना कभी पता ही नहीं चलता कि कुछ सेव हुआ, विफल रहा या पूरा हो गया।
इसे कैसे परखें
स्क्रीन रीडर चालू रखकर हर टोस्ट सूचना, सेव-स्थिति संदेश और परिणामों की गिनती को ट्रिगर करें।
सुधार कैसा दिखता है
<!-- render the container empty, then fill it --> <div role="status" aria-live="polite">Saved</div>आमतौर पर तब टूटती है जब
पूरा टोस्ट, उसके लाइव रीजन समेत, एक ही बार में जोड़ा जाता है, इसलिए कोई घोषणा नहीं होती।
-
फ़ोकस हो सकने वाले एलिमेंट पर aria-hidden न हो ऑटो व्यवहार इससे ऐसा कंट्रोल बनता है जिसे स्क्रीन रीडर देख नहीं सकता, फिर भी फ़ोकस उस पर पहुँच जाता है।
इसका अर्थ क्या है
aria-hidden किसी एलिमेंट को एक्सेसिबिलिटी ट्री से तो हटा देता है, पर फ़ोकस क्रम से नहीं। फ़ोकस ऐसी जगह पहुँच सकता है जो स्क्रीन रीडर के हिसाब से मौजूद ही नहीं है — तब उपयोगकर्ता को कुछ भी सुनाई नहीं देता और वह समझ नहीं पाता कि क्या हुआ।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता, जिन्हें यह फ़ोकस के अचानक गायब हो जाने जैसा लगता है।
इसे कैसे परखें
aria-hidden="true" खोजें और जाँचें कि उसके भीतर कुछ भी फ़ोकस होने लायक न हो।
सुधार कैसा दिखता है
// hide from everyone, not just from AT el.hidden = true; // or inert on the containerआमतौर पर तब टूटती है जब
मोडल पृष्ठभूमि को aria-hidden से छिपा देता है, लेकिन उसके पीछे के लिंक Tab से अब भी पहुँचने लायक रह जाते हैं।
-
लिंक टेक्स्ट संदर्भ के बिना भी समझ में आए आंशिक A 2.4.4 ग्यारह बार दोहराया गया "और पढ़ें" असल में ग्यारह एक जैसे लिंक की सूची है।
इसका अर्थ क्या है
स्क्रीन रीडर उपयोगकर्ता नेविगेट करने के लिए अक्सर पेज के सभी लिंक की सूची खोल लेते हैं। उस सूची में आसपास का पैराग्राफ़ नहीं होता, इसलिए "और पढ़ें" वाले ग्यारह लिंक ग्यारह एक जैसी प्रविष्टियाँ बन जाते हैं, जिन्हें एक-दूसरे से अलग पहचानने का कोई तरीका नहीं होता।
यह किसे प्रभावित करती है
लिंक के सहारे नेविगेट करने वाले स्क्रीन रीडर उपयोगकर्ता; साथ ही हर वह व्यक्ति जो पढ़ने के बजाय सरसरी नज़र डालता है।
इसे कैसे परखें
पेज के हर लिंक का टेक्स्ट निकालें और सूची पढ़ें। एक जैसा टेक्स्ट अगर अलग-अलग जगह ले जाता है, तो वह फ़ेल है।
सुधार कैसा दिखता है
<a href="/q3">Read the Q3 report</a> <!-- or keep the visible text and extend it --> <a href="/q3">Read more<span class="visually-hidden"> about Q3</span></a>आमतौर पर तब टूटती है जब
कार्ड कंपोनेंट में एक तय कॉल-टू-ऐक्शन होता है और उसे पूरे इंडेक्स पेज पर बार-बार दोहराया जाता है।
ज़ूम, रीफ़्लो और स्पेसिंग
वही पेज, उन्हीं परिस्थितियों में जिनमें लोग सचमुच उसे ब्राउज़ करते हैं।
-
320 सीएसएस पिक्सेल चौड़ाई पर कोई क्षैतिज स्क्रॉल नहीं ऑटो AA 1.4.10 यह डेस्कटॉप पर 400% ज़ूम के बराबर है। दोनों दिशाओं में स्क्रॉल करना पड़े, तो यही फ़ेल है।
इसका अर्थ क्या है
400% ज़ूम पर 1280px का डेस्कटॉप व्यूपोर्ट सिर्फ़ 320px की उपयोगी चौड़ाई रह जाता है। सामग्री को उसी एक कॉलम में रीफ़्लो होना चाहिए: हर पैराग्राफ़ की हर पंक्ति पढ़ने के लिए बगल में स्क्रॉल करना पड़े — इसी को रोकने के लिए यह मानदंड बना है।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता जो हमेशा ज़ूम करके ब्राउज़ करते हैं, और छोटे फ़ोन का हर उपयोगकर्ता।
इसे कैसे परखें
व्यूपोर्ट को 320px पर सेट करें, या 400% तक ज़ूम करें। डेटा टेबल और कोड को छोड़कर किसी भी चीज़ के लिए बगल में स्क्रॉल करने की ज़रूरत नहीं पड़नी चाहिए।
आमतौर पर तब टूटती है जब
तय चौड़ाई वाला कोई एलिमेंट — टेबल, एम्बेड, या बिना टूटी लंबी स्ट्रिंग — एक न्यूनतम सीमा बना देता है जिससे नीचे लेआउट सिकुड़ ही नहीं पाता।
-
टेक्स्ट बिना कुछ खोए 200% तक बड़ा हो सके आंशिक AA 1.4.4 overflow: hidden वाले तय ऊँचाई के कंटेनर ही वह जगह हैं जहाँ टेक्स्ट गायब हो जाता है।
इसका अर्थ क्या है
टेक्स्ट दोगुना बड़ा होने पर भी सामग्री न कटे और न ही बेकार हो। सबसे आम चूक तय ऊँचाई वाला कंटेनर है: टेक्स्ट बढ़ता है, बॉक्स नहीं बढ़ता, और आख़िरी पंक्ति कट जाती है या पूरी तरह छिप जाती है।
यह किसे प्रभावित करती है
कम दृष्टि वाले उपयोगकर्ता, और हर वह व्यक्ति जिसके ब्राउज़र का डिफ़ॉल्ट फ़ॉन्ट साइज़ आपके ब्राउज़र से बड़ा है।
इसे कैसे परखें
सिर्फ़ टेक्स्ट को 200% तक ज़ूम करें। कटी हुई पंक्तियाँ, एक-दूसरे पर चढ़ी सामग्री और ऐसे बटन देखें जिनमें अब उनके लेबल नहीं समाते।
सुधार कैसा दिखता है
/* let it grow */ .card { min-block-size: 120px; } /* not height: 120px */आमतौर पर तब टूटती है जब
पंक्तियाँ सीध में रहें, इसके लिए कार्ड ग्रिड को तय ऊँचाई दे दी जाती है।
-
उपयोगकर्ता की अपनी टेक्स्ट-स्पेसिंग से लेआउट न टूटे आंशिक AA 1.4.12 पंक्ति की ऊँचाई 1.5, पैराग्राफ़ स्पेसिंग 2em, अक्षर 0.12em, शब्द 0.16em — कुछ भी कटना नहीं चाहिए।
इसका अर्थ क्या है
कुछ उपयोगकर्ता, ख़ासकर डिस्लेक्सिया वाले लोग, टेक्स्ट को पढ़ने लायक बनाने के लिए ऐसी स्टाइलशीट लगाते हैं जो स्पेसिंग बढ़ा देती है। डब्ल्यूसीएजी सटीक मान तय करता है जिन्हें लागू करने पर भी कोई सामग्री खोनी नहीं चाहिए — जिसका ज़्यादातर मतलब है कि टेक्स्ट रखने वाली किसी भी चीज़ की ऊँचाई तय न करें।
यह किसे प्रभावित करती है
डिस्लेक्सिया और कम दृष्टि वाले उपयोगकर्ता, जो आराम से पढ़ने के लिए स्पेसिंग ख़ुद बदल लेते हैं।
इसे कैसे परखें
चारों मानों को यूज़र स्टाइलशीट के रूप में लागू करें और देखें कि कहीं कुछ कट तो नहीं रहा या एक-दूसरे पर तो नहीं चढ़ रहा।
सुधार कैसा दिखता है
* { line-height: 1.5 !important; letter-spacing: .12em !important; word-spacing: .16em !important; } p { margin-block-end: 2em !important; }आमतौर पर तब टूटती है जब
कोई कंपोनेंट डिज़ाइन से मेल खाने के लिए सटीक ऊँचाई तय कर देता है, और फिर एक पाँचवाँ शब्द आ जाता है।
-
दोनों ओरिएंटेशन में काम करे आंशिक AA 1.3.4 जब तक सामग्री को सचमुच इसकी ज़रूरत न हो, पोर्ट्रेट पर लॉक न करें।
इसका अर्थ क्या है
कई उपयोगकर्ताओं का डिवाइस एक ही ओरिएंटेशन में स्थिर रहता है — व्हीलचेयर पर, स्टैंड पर या किसी आर्म पर लगा हुआ। इंटरफ़ेस को दूसरे ओरिएंटेशन पर लॉक करने से वह सिर्फ़ असुविधाजनक नहीं, बल्कि पूरी तरह बेकार हो जाता है।
यह किसे प्रभावित करती है
वे लोग जिनका डिवाइस कहीं स्थायी रूप से लगा हुआ है, और कीबोर्ड केस इस्तेमाल करने वाला हर व्यक्ति।
इसे कैसे परखें
डिवाइस घुमाएँ। लेआउट को इनकार करने के बजाय ख़ुद को ढाल लेना चाहिए।
आमतौर पर तब टूटती है जब
मोबाइल ऐप जैसा लेआउट पोर्ट्रेट को ही मानकर चलता है और मैनिफ़ेस्ट में उसे लॉक कर देता है।
-
फ़ोकस वाले एलिमेंट स्टिकी हेडर या टूलबार के पीछे न छिपें हाथ से AA 2.4.11 यह 2.2 में नया है, और स्टिकी हेडर के साथ scroll-into-view ठीक वही स्थिति है जिसमें ऐसा होता है।
इसका अर्थ क्या है
Tab से आगे बढ़ने पर अगला कंट्रोल स्क्रॉल होकर सामने आता है, और स्टिकी हेडर ठीक उसी जगह हो सकता है जहाँ वह पहुँचता है — यानी एलिमेंट पर फ़ोकस है, स्क्रॉल भी उसी तक हुआ है, फिर भी वह पूरी तरह ढका हुआ है। कीबोर्ड उपयोगकर्ता ऐसी चीज़ में टाइप करते रह जाते हैं जिसे वे देख ही नहीं सकते।
यह किसे प्रभावित करती है
स्टिकी हेडर या फ़िक्स्ड टूलबार वाले किसी भी पेज पर कीबोर्ड उपयोगकर्ता।
इसे कैसे परखें
स्टिकी हेडर या टूलबार वाले किसी लंबे पेज पर Tab से नीचे जाएँ और देखें कि फ़ोकस वाला कंट्रोल कहीं उसके नीचे तो नहीं छिप जाता।
सुधार कैसा दिखता है
/* keep the focused element clear of the sticky header */ :target, :focus-visible { scroll-margin-block-start: 6rem; }आमतौर पर तब टूटती है जब
स्टिकी हेडर देर से जोड़ा जाता है, फ़ोकस क्रम की जाँच हो जाने के काफ़ी बाद।
परीक्षण और प्रमाण
जिस स्प्रिंट ने इसे ठीक किया, उसके बाद यह ठीक कैसे बना रहता है।
-
हर पुल रिक्वेस्ट पर CI में स्वचालित जाँच चलती है ऑटो व्यवहार यह लगभग एक-तिहाई समस्याएँ पकड़ लेती है। वह एक-तिहाई फिर कभी किसी मानव समीक्षक तक नहीं पहुँचना चाहिए।
इसका अर्थ क्या है
स्वचालित नियम गायब alt एट्रिब्यूट, बिना लेबल वाले फ़ील्ड, कंट्रास्ट की विफलताएँ और टूटे एआरआईए रेफ़रेंस भरोसेमंद ढंग से पकड़ लेते हैं। यह ज़रूरी चीज़ों का लगभग एक-तिहाई है, और यही वह एक-तिहाई है जिसे हाथ से ढूँढना उबाऊ है — इसलिए इसकी जगह CI में है, ताकि समीक्षा उन दो-तिहाई चीज़ों पर ध्यान दे सके जिनमें विवेक की ज़रूरत होती है।
यह किसे प्रभावित करती है
आगे की कड़ी में हर कोई, जिनमें वे समीक्षक भी शामिल हैं जिन्हें अब एक ही तरह के बग बार-बार नहीं ढूँढने पड़ते।
इसे कैसे परखें
ऐसा पुल रिक्वेस्ट खोलें जो बिना लेबल वाला इनपुट जोड़ता हो। बिल्ड फ़ेल होना चाहिए।
सुधार कैसा दिखता है
# fail the build, do not just report npx axe-ci $URL --exit-codeआमतौर पर तब टूटती है जब
जॉब को बिल्ड रोकने वाला नहीं, सिर्फ़ चेतावनी देने वाला बनाकर जोड़ा जाता है, और वह हमेशा पीली चेतावनी पर अटका रहता है।
-
सिर्फ़ कीबोर्ड से जाँच समीक्षा का हिस्सा है हाथ से व्यवहार माउस निकाल दें और मुख्य काम पूरा करें। दस मिनट में बचे हुए ज़्यादातर बग सामने आ जाते हैं।
इसका अर्थ क्या है
इससे सस्ता और इतने नतीजे देने वाला कोई परीक्षण नहीं है। बिना पॉइंटर के एक असली काम पूरा करने की कोशिश के कुछ ही मिनटों में ज़्यादातर फ़ोकस ट्रैप, न दिखने वाली फ़ोकस रिंग, पहुँच से बाहर कंट्रोल और टूटे डायलॉग सामने आ जाते हैं।
यह किसे प्रभावित करती है
कीबोर्ड, स्विच और वॉइस उपयोगकर्ता — और साथ ही यह आपके फ़ोकस प्रबंधन की जाँच भी है।
इसे कैसे परखें
माउस को पहुँच से दूर रखें और मुख्य फ़्लो पूरा करें। जहाँ-जहाँ अटकें, हर जगह नोट करें।
आमतौर पर तब टूटती है जब
यह किसी एक व्यक्ति की तय ज़िम्मेदारी नहीं होती, इसलिए यह ऑडिट से ठीक पहले वाले हफ़्ते में होती है।
-
एक असली संयोजन पर स्क्रीन रीडर से जाँच हाथ से व्यवहार Firefox के साथ NVDA, या Safari के साथ VoiceOver। डीओएम पढ़ने वाला ब्राउज़र प्लगइन नहीं।
इसका अर्थ क्या है
स्क्रीन रीडर एक-दूसरे से भी अलग होते हैं और एक्सेसिबिलिटी ट्री से मिलने वाले अंदाज़े से भी। एक असली जोड़ी को शुरू से अंत तक परखना तीन स्पेसिफ़िकेशन पढ़ने से ज़्यादा सिखाता है, और यही एकमात्र तरीका है यह सुनने का कि आपके लाइव रीजन असल में क्या घोषित करते हैं।
यह किसे प्रभावित करती है
स्क्रीन रीडर उपयोगकर्ता। इस सूची की बाकी हर चीज़ अनुमान है; यह प्रत्यक्ष अवलोकन है।
इसे कैसे परखें
एक जोड़ी चुनें और स्क्रीन रीडर चालू व मॉनिटर बंद रखकर मुख्य काम पूरा करें।
आमतौर पर तब टूटती है जब
टीम ऐसे ब्राउज़र एक्सटेंशन से जाँच करती है जो ट्री को बोलकर सुनाने के बजाय बस उसकी रिपोर्ट दिखा देता है।
-
हर निष्कर्ष के साथ प्रमाण और मानदंड हो हाथ से व्यवहार एक स्क्रीनशॉट और एक नंबर "यह कुछ ठीक नहीं लगता" को ऐसी चीज़ में बदल देते हैं जिसे डेवलपर ठीक करके बंद कर सके।
इसका अर्थ क्या है
बिना प्रमाण वाले निष्कर्ष पर बहस होती है; चिह्नित स्क्रीनशॉट और मानदंड संख्या वाला निष्कर्ष ठीक किया जाता है। इससे आपको तारीख़ के साथ एक ऑडिट ट्रेल भी मिलती है, और ख़रीद प्रक्रिया का सवाल असल में यही माँगता है।
यह किसे प्रभावित करती है
वह डेवलपर जिसे समस्या दोबारा पैदा करके देखनी है, और जो भी अनुपालन प्रश्नावली का जवाब देता है।
इसे कैसे परखें
अपने पिछले तीन निष्कर्ष पढ़ें। क्या कोई आपसे एक भी सवाल पूछे बिना हर एक को दोबारा पैदा कर सकता है?
आमतौर पर तब टूटती है जब
निष्कर्ष ऐसी स्प्रेडशीट में दर्ज होते हैं जिसमें पेज के लिए कॉलम है, पर प्रमाण के लिए कोई नहीं।
-
दिव्यांग लोग परीक्षण प्रक्रिया का हिस्सा हों हाथ से व्यवहार हर चेकलिस्ट, यह वाली भी, इसका सिर्फ़ एक अनुमानित रूप है — इसकी जगह कभी नहीं ले सकती।
इसका अर्थ क्या है
चेकलिस्ट उन सबकों को दर्ज करती है जो पिछली विफलताओं ने किसी और को सिखाए। वह आपको यह नहीं बता सकती कि कोई फ़्लो तकनीकी रूप से अनुरूप होते हुए भी थका देने वाला है, या कोई पैटर्न सही होते हुए भी अनजाना है। यह सिर्फ़ वही लोग बता सकते हैं जो रोज़ सहायक तकनीक के साथ इस सॉफ़्टवेयर का इस्तेमाल करते हैं।
यह किसे प्रभावित करती है
हर कोई — यही वह जाँच है जो सीधे उसे पकड़ती है जिसका अनुमान बाकी छियालीस जाँचें लगा रही थीं।
इसे कैसे परखें
पूछें कि जो फ़्लो आप शिप कर रहे हैं, उसे किसी दिव्यांग उपयोगकर्ता ने आख़िरी बार कब आज़माया था। अगर जवाब है कभी नहीं, तो यही निष्कर्ष है।
आमतौर पर तब टूटती है जब
अनुरूपता को न्यूनतम आधार मानने के बजाय अंतिम लक्ष्य मान लिया जाता है।
फ़्लैग को रिपोर्ट में बदलिए
रिपोर्ट में क्या होगा
0
हर एक, अपने मानदंड, व्याख्या और किसी भी स्क्रीनशॉट के साथ।
0
नाम सहित सूचीबद्ध, ताकि पढ़ने वाला देख सके कि आपने क्या जाँचा।
0
जैसा आपने चिह्नित किया वैसा ही दर्ज — अकेला “लागू नहीं” कोई प्रमाण नहीं है।
50
अछूते के रूप में नामित। जिस जाँच को आपने देखा ही नहीं, वह पास नहीं है।
स्तर के अनुसार निर्णीत
प्रमाण कोई स्क्रीनशॉट संलग्न नहीं 0 स्क्रीनशॉट, इन 0 जाँचों पर
झलक — पहली पंक्तियाँ, ठीक जैसी पढ़ी जाएँगी
बाहर ले जाने के तीन रास्ते
आपका काम इसी डिवाइस पर रहता है। जाँचें, आपके कारण और हर स्क्रीनशॉट इसी ब्राउज़र में रहते हैं और तब तक कहीं नहीं जाते जब तक आप ऊपर का कोई बटन न दबाएँ। साइट डेटा साफ़ करने पर ये भी मिट जाते हैं।
भेजने से पहले
50 जाँचें अछूती हैं, और रिपोर्ट अपने पहले पन्ने पर यही कहती है। यही ईमानदारी है, और समीक्षक सबसे पहले यही पूछेगा — इसलिए या तो उन्हें कर लीजिए, या सारांश में बता दीजिए कि वे दायरे से बाहर क्यों हैं।
हर जाँच का निर्णय हो चुका है। रिपोर्ट यही कहती है, और यह दावा सावधानी से करने लायक है — यह अब भी आपकी प्रक्रिया का रिकॉर्ड है, अनुरूपता का कथन नहीं।
भरी हुई चेकलिस्ट एक प्रक्रिया का प्रमाण है, अनुरूपता का दावा नहीं। दावे के लिए असल में क्या चाहिए →
स्तरों का मतलब क्या है, और कानून क्या माँगता है
इस पेज के चार स्तर
22
न्यूनतम सीमा। नीचे दिया लगभग हर प्रावधान इसी का, या इस पर बने किसी मानक का, नाम लेता है।
13
कानून और खरीद दस्तावेज़ असल में इसी का हवाला देते हैं। A + AA ही कानूनी रेखा है।
2
यहाँ दिए किसी भी कानून की माँग से सख़्त। करने लायक; पर पूरी तरह कभी अनिवार्य नहीं।
13
कोई मानदंड इसे नहीं समेटता, और फिर भी हर ऑडिट इसे पकड़ लेता है।
डब्ल्यूसीएजी 2.1 Level AA लगभग हर जगह साझा न्यूनतम है। यूनाइटेड किंगडम और ऑस्ट्रेलिया पहले ही 2.2 AA पर आ चुके हैं, और EN 301 549 V4 यूरोपीय मानक को भी वहीं ले जाता है। 2.2 AA तक बनाइए और आप इस पेज की हर रेखा से ऊपर हैं।
भारत
मानक · GIGW 3.0 के ज़रिए डब्ल्यूसीएजी 2.1 AA| दिव्यांगजन अधिकार अधिनियमअधिनियम 49, 2016 — धारा 40, 42, 46 | धारा 40 केंद्र को सुलभता मानक तय करने का अधिकार देती है; धारा 42 सूचना और संचार प्रौद्योगिकी को सुलभ बनाना अनिवार्य करती है; धारा 46 यह ज़िम्मेदारी सेवा प्रदाताओं पर डालती है। पालन न करना धारा 89 के तहत अपराध है। | 2016 |
| Rajive Raturi बनाम भारत संघभारत का सर्वोच्च न्यायालय | माना कि नियम 15 के केवल अनुशंसात्मक सुलभता दिशानिर्देश धारा 40 के विरुद्ध थे, और केंद्र को एक अनिवार्य न्यूनतम सीमा बनाने के लिए तीन महीने दिए। भारत में सुलभता अभी इसीलिए सख़्त हो रही है। | 8 नवंबर 2024 |
| GIGW 3.0भारतीय सरकारी वेबसाइटों और ऐप के लिए दिशानिर्देश — NIC | सरकारी वेबसाइटों, पोर्टलों, वेब एप्लिकेशन और मोबाइल ऐप पर लागू, और डब्ल्यूसीएजी 2.1 Level AA का नाम लेता है। अनुपालन करने वाली साइटों को STQC प्रमाणित करता है। | 2023 |
| IS 17802 (भाग 1 और 2)भारतीय मानक ब्यूरो | ICT उत्पादों और सेवाओं के लिए सुलभता आवश्यकताएँ। नियम 15 मई 2023 से इनकी माँग करता है। | 2021 |
| मसौदा RPwD (संशोधन) नियम, 2026S.O. 3962(E), 16 जुलाई 2026 — टिप्पणी के लिए मसौदा | वेबसाइटों, ऐप, सॉफ़्टवेयर, दस्तावेज़ों और ICT हार्डवेयर के लिए IS 17802 को बाध्यकारी बनाएगा, साथ में एक प्रकाशित सुलभता अनुरूपता रिपोर्ट। अभी लागू नहीं; इस पर भरोसा करने से पहले इसकी स्थिति जाँच लें। | जुलाई 2026 |
लागू सरकार, प्रतिष्ठानों और सेवा प्रदाताओं पर — सार्वजनिक और निजी दोनों
संयुक्त राज्य अमेरिका
मानक · डब्ल्यूसीएजी 2.1 AA — Section 508 अब भी 2.0 AA| ADA Title II — DOJ अंतिम नियम28 CFR Part 35, अप्रैल 2024 में प्रकाशित | राज्य और स्थानीय सरकार की वेब सामग्री तथा मोबाइल ऐप्स को डब्ल्यूसीएजी 2.1 Level AA पूरा करना होगा। अप्रैल 2026 में DOJ ने दोनों समयसीमाएँ एक साल आगे खिसका दीं: बड़ी संस्थाओं के लिए अप्रैल 2027, छोटी संस्थाओं और विशेष ज़िलों के लिए अप्रैल 2028। भेदभाव न करने का मूल कर्तव्य कभी रुका नहीं। | 2027 / 2028 |
| सेक्शन 508, पुनर्वास अधिनियम1973, संशोधित — 2017 का “Refresh” | संघीय एजेंसियाँ और वे जो कुछ भी खरीदती हैं। डब्ल्यूसीएजी 2.0 Level AA को संदर्भ द्वारा शामिल करता है — अब भी 2.0, इसीलिए VPAT या ACR अक्सर एक संस्करण पीछे पढ़ा जाता है। | 2018 |
| Section 504HHS नियम, 45 CFR 84 उपभाग I | HHS से धन पाने वाले — अस्पताल, क्लिनिक, सामाजिक सेवा एजेंसियाँ, विश्वविद्यालय — डब्ल्यूसीएजी 2.1 Level AA तक: 15 या अधिक कर्मचारियों पर 11 मई 2027 से, कम पर 10 मई 2028 से। | 2027 / 2028 |
| ADA Title IIIसार्वजनिक सुविधाएँ | कानून में कोई तकनीकी मानक नहीं, और कोई अपनाया भी नहीं गया। लगभग सारे निजी मुक़दमे यहीं होते हैं, जिनमें व्यावहारिक पैमाने के तौर पर डब्ल्यूसीएजी का हवाला दिया जाता है। | 1990 |
लागू संघीय, राज्य और स्थानीय सरकार पर; निजी कारोबार पर Title III मुक़दमों के ज़रिए
यूरोपीय संघ
मानक · EN 301 549 V3.2.1 → डब्ल्यूसीएजी 2.1 AA| यूरोपीय सुलभता अधिनियमनिर्देश (EU) 2019/882 | वह कानून जो निजी क्षेत्र तक पहुँचा: ई-कॉमर्स, उपभोक्ता बैंकिंग, ई-पुस्तकें, इलेक्ट्रॉनिक संचार, परिवहन टिकटिंग, ATM। 28 जून 2025 से लागू। सेवा देने वाले सूक्ष्म उद्यम इससे मुक्त हैं। | 28 जून 2025 |
| वेब सुलभता निर्देशनिर्देश (EU) 2016/2102 | सार्वजनिक क्षेत्र की वेबसाइटें और मोबाइल ऐप्स, जिनमें प्रकाशित सुलभता विवरण और काम करने वाला फ़ीडबैक रास्ता कठोर आवश्यकताएँ हैं। | 2019 / 2021 |
| EN 301 549समरूपित मानक — V3.2.1, मार्च 2021 | दोनों निर्देश इसी के विरुद्ध मापे जाते हैं। खंड 9 ही डब्ल्यूसीएजी 2.1 Level AA है। अगस्त 2026 में अपनाया गया V4.1.1, आधिकारिक जर्नल में उद्धृत होने पर, इसे डब्ल्यूसीएजी 2.2 तक ले जाता है। | V3.2.1 |
लागू 27 सदस्य देशों के सार्वजनिक क्षेत्र पर, और 2025 से अधिकांश निजी क्षेत्र पर
यूनाइटेड किंगडम
मानक · डब्ल्यूसीएजी 2.2 AA| सार्वजनिक क्षेत्र निकाय सुलभता विनियमSI 2018/952 | सार्वजनिक क्षेत्र डब्ल्यूसीएजी 2.2 Level AA तक — 2.1 से बढ़ाया गया, और अक्टूबर 2024 से 2.2 के विरुद्ध निगरानी — साथ ही एक प्रकाशित सुलभता विवरण। | 2024 से 2.2 |
| समानता अधिनियम 2010धारा 20 — उचित समायोजन | परिणाम-आधारित और पूर्वानुमानी: किसी मानक का नाम नहीं लिया गया, इसलिए डब्ल्यूसीएजी AA ही वह प्रमाण है जिस तक आप पहुँचते हैं। निजी सेवा प्रदाताओं पर भी लागू। | 2010 |
लागू सार्वजनिक क्षेत्र पर विनियम से, बाक़ी सब पर कर्तव्य से
कनाडा
मानक · CAN/ASC-EN 301 549:2024| सुलभ कनाडा अधिनियमS.C. 2019, अध्याय 10 + सुलभ कनाडा विनियम | संघीय रूप से विनियमित संगठनों — बैंक, दूरसंचार, परिवहन — को सुलभता योजनाएँ प्रकाशित करनी होंगी, फ़ीडबैक लेना होगा और प्रगति की रिपोर्ट देनी होगी। | 2019 |
| CAN/ASC-EN 301 549:2024सुलभता मानक कनाडा | कनाडा ने यूरोपीय मानक को सीधे अपना लिया: डब्ल्यूसीएजी 2.1 Level AA के साथ EN की अतिरिक्त ICT आवश्यकताएँ। प्रकाशन के समय यह स्वैच्छिक था; दिसंबर 2025 के विनियम इसे संघीय सार्वजनिक निकायों के लिए दिसंबर 2027 से और बड़े संघीय रूप से विनियमित व्यवसायों के लिए दिसंबर 2028 से बाध्यकारी बनाते हैं। | 31 मई 2024 |
| AODAओंटारियो — Integrated Accessibility Standards, धारा 14 | डब्ल्यूसीएजी 2.0 Level AA, लाइव कैप्शन और ऑडियो विवरण को छोड़कर, बड़े संगठनों और सार्वजनिक क्षेत्र के लिए 2021 से। | 2021 |
लागू संघीय रूप से विनियमित संस्थाओं पर; प्रांत अपने नियम अलग से जोड़ते हैं
ऑस्ट्रेलिया
मानक · डब्ल्यूसीएजी 2.2 AA| दिव्यांगता भेदभाव अधिनियम 1992और Maguire बनाम SOCOG, 2000 | शुरुआती वेब सुलभता फ़ैसलों में से एक: सिडनी ओलंपिक की साइट को गैरकानूनी पाया गया। अधिनियम किसी मानक का नाम नहीं लेता; यही मामला है जिसकी वजह से डब्ल्यूसीएजी पैमाना बना। | 1992 |
| सरकारी डिजिटल मानकICT ख़रीद के लिए AS EN 301 549:2024 सहित | ऑस्ट्रेलिया ने न्यूनतम के रूप में औपचारिक रूप से डब्ल्यूसीएजी 2.2 Level AA अपनाया है, जो पहले 2.0 था। | 2.2 AA |
लागू सरकार पर सीधे, कारोबार पर DDA के ज़रिए
जापान
मानक · JIS X 8341-3:2016 → डब्ल्यूसीएजी 2.0| JIS X 8341-3:2016जापानी औद्योगिक मानक | इसमें ठीक डब्ल्यूसीएजी 2.0 के सफलता मानदंड हैं, अपनी अनुरूपता और परीक्षण प्रक्रिया तथा प्रकाशित अनुरूपता कथन के साथ। | 2016 |
| भेदभाव उन्मूलन अधिनियमदिव्यांगजनों के विरुद्ध — 2021 संशोधन | अप्रैल 2024 से उचित समायोजन निजी कारोबार के लिए कानूनी रूप से अनिवार्य हो गया, केवल प्रोत्साहित नहीं। | अप्रैल 2024 |
लागू सार्वजनिक निकायों पर मानक से, निजी कारोबार पर 2024 से कर्तव्य से
अन्यत्र
8 और जो जानने लायक हैंयह क्या नहीं है
दिशा-बोध, कानूनी सलाह नहीं। हर पंक्ति किसी मूल स्रोत की ओर इशारा करती है। तारीखें बदलती हैं — इस समीक्षा से पहले के अठारह महीनों में यहाँ की दो तारीखें बदल चुकी हैं — इसलिए किसी पर भरोसा करने से पहले स्रोत जाँच लें।
भरी हुई चेकलिस्ट अनुरूपता का दावा नहीं है। वह एक प्रक्रिया का प्रमाण है। दावे के लिए पूरे मानक के विरुद्ध संपूर्ण मूल्यांकन चाहिए, और वे लोग चाहिए जो रोज़ सहायक तकनीक का इस्तेमाल करते हैं।
समीक्षा 30 सितंबर 2026 · 29 प्रावधान · 15 क्षेत्राधिकार