पहुंच-योग्यता वेब विकास का एक महत्वपूर्ण पहलू है, जो यह सुनिश्चित करता है कि विकलांग लोगों सहित सभी उपयोगकर्ता आपके वेब अनुप्रयोगों के साथ प्रभावी ढंग से बातचीत कर सकें। स्वचालित पहुंच परीक्षण विकास प्रक्रिया की शुरुआत में ही पहुंच संबंधी समस्याओं को पहचानने और ठीक करने में मदद करता है। इस पोस्ट में, हम यह पता लगाएंगे कि आपके अनुप्रयोगों को अधिक समावेशी बनाने के लिए साइप्रस-एक्स जैसे टूल का लाभ उठाते हुए, साइप्रस का उपयोग करके स्वचालित पहुंच परीक्षण को कैसे कार्यान्वित किया जाए।
साइप्रस में स्वचालित पहुंच परीक्षण करने के लिए, हम साइप्रस-एक्स प्लगइन का उपयोग करेंगे, जो साइप्रस के साथ एक्स एक्सेसिबिलिटी इंजन को एकीकृत करता है।
चरण 1: साइप्रस और साइप्रस-कुल्हाड़ी स्थापित करें
सबसे पहले, सुनिश्चित करें कि आपके प्रोजेक्ट में साइप्रस स्थापित है। यदि नहीं, तो आप इसे निम्न कमांड का उपयोग करके इंस्टॉल कर सकते हैं:
npm install cypress --save-dev
इसके बाद, साइप्रस-एक्स प्लगइन इंस्टॉल करें:
npm install cypress-axe --save-dev
चरण 2: साइप्रस-कुल्हाड़ी कॉन्फ़िगर करें
cypress/support निर्देशिका में Commands.js नामक एक नई फ़ाइल बनाएँ और cypress-axe को आयात और कॉन्फ़िगर करने के लिए निम्नलिखित कोड जोड़ें:
import 'cypress-axe'; Cypress.Commands.add('injectAxe', () => { cy.window({ log: false }).then(window => { let axe = require('axe-core'); window.eval(axe.source); }); }); Cypress.Commands.add('checkA11y', (selector = null, options = null, violationCallback = null, skipFailures = false) => { cy.window({ log: false }).then(window => { let document = window.document; return axe.run(document, options).then(({ violations }) => { if (violations.length) { cy.wrap(violations, { log: false }).each(violation => { let nodes = Cypress._.get(violation, 'nodes', []); Cypress._.each(nodes, node => { let target = Cypress._.get(node, 'target', []); if (target.length) { Cypress._.each(target, target => { cy.wrap(target, { log: false }).then($target => { if (!skipFailures) { Cypress.log({ name: 'a11y error!', message: violation.help, consoleProps: () => violation }); violationCallback && violationCallback(violation); } }); }); } }); }); } }); }); });
चरण 3: अभिगम्यता परीक्षण बनाएं
अब, आइए एक वेब पेज की पहुंच की जांच करने के लिए एक साइप्रस परीक्षण बनाएं। cypress/e2e निर्देशिका में accessibility.spec.js नामक एक नई फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:
describe('Automated Accessibility Testing with Cypress', () => { beforeEach(() => { cy.visit('/'); cy.injectAxe(); }); it('should have no detectable accessibility violations on load', () => { cy.checkA11y(); }); it('should have no detectable accessibility violations on specific elements', () => { cy.checkA11y('header'); cy.checkA11y('main'); cy.checkA11y('footer'); }); });
इस उदाहरण में, हम पूरे पृष्ठ के साथ-साथ शीर्षलेख, मुख्य सामग्री और पादलेख जैसे विशिष्ट तत्वों पर पहुंच जांच कर रहे हैं।
आप विकल्प प्रदान करके और नियमों को कॉन्फ़िगर करके पहुंच जांच को अनुकूलित कर सकते हैं। उदाहरण के लिए, आप कुछ नियमों को अनदेखा कर सकते हैं या केवल विशिष्ट जांच चला सकते हैं।
उदाहरण: विशिष्ट नियमों की अनदेखी
cy.checkA11y(null, { rules: { 'color-contrast': { enabled: false } } });
उदाहरण: विशिष्ट जांच चलाना
cy.checkA11y(null, { runOnly: { type: 'tag', values: ['wcag2a', 'wcag2aa'] } });
आप उल्लंघनों को लॉग करने या संसाधित करने के लिए कॉलबैक फ़ंक्शन प्रदान करके पहुंच-योग्यता उल्लंघनों को संभाल सकते हैं। उदाहरण के लिए:
cy.checkA11y(null, null, (violations) => { violations.forEach((violation) => { cy.log(`${violation.id} - ${violation.description}`); violation.nodes.forEach((node) => { cy.log(`Node: ${node.target}`); }); }); });
साइप्रस और साइप्रस-एक्स के साथ स्वचालित पहुंच परीक्षण यह सुनिश्चित करने का एक शक्तिशाली तरीका है कि आपके वेब एप्लिकेशन सभी उपयोगकर्ताओं के लिए पहुंच योग्य हैं। अपनी परीक्षण प्रक्रिया में पहुंच-योग्यता जांच को एकीकृत करके, आप समस्याओं की शीघ्र पहचान कर उन्हें ठीक कर सकते हैं, बेहतर उपयोगकर्ता अनुभव प्रदान कर सकते हैं और पहुंच-योग्यता मानकों का अनुपालन सुनिश्चित कर सकते हैं। अपने एप्लिकेशन को अधिक समावेशी और सुलभ बनाने के लिए इस गाइड में उल्लिखित सर्वोत्तम प्रथाओं का पालन करें।
खुश परीक्षण!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3