ARIA एट्रीब्यूट

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. ए आर आई ए एट्रीब्यूट : शुरुआती गाइड

ए आर आई ए (ARIA) यानि एक्सेसिबल रिच इंटरनेट एप्लीकेशन, वेब कंटेंट को अधिक सुलभ बनाने के लिए डिज़ाइन की गई तकनीकों का एक समूह है। यह खास तौर पर उन उपयोगकर्ताओं के लिए महत्वपूर्ण है जो सहायक तकनीकों जैसे स्क्रीन रीडर का उपयोग करते हैं। इस लेख में, हम ए आर आई ए एट्रीब्यूट को विस्तार से समझने की कोशिश करेंगे, ताकि आप अपनी वेबसाइट को अधिक समावेशी बना सकें।

ए आर आई ए क्या है?

वेबसाइटों को बनाते समय, हम अक्सर विज़ुअल पहलुओं पर ध्यान केंद्रित करते हैं - रंग, लेआउट, और इंटरैक्टिविटी। लेकिन, जो लोग देख नहीं पाते हैं, या जिनके लिए माउस का उपयोग करना मुश्किल है, वे वेबसाइट के साथ कैसे इंटरैक्ट करते हैं? यहीं पर ए आर आई ए की भूमिका आती है।

ए आर आई ए, एचटीएमएल (HTML) के ऊपर एक अतिरिक्त परत की तरह काम करता है। यह ब्राउजर और सहायक तकनीकों (जैसे स्क्रीन रीडर) को वेबसाइट के स्ट्रक्चर, व्यवहार और स्टेट के बारे में अतिरिक्त जानकारी प्रदान करता है। यह जानकारी उन तत्वों के लिए विशेष रूप से उपयोगी होती है जो डिफ़ॉल्ट एचटीएमएल टैग्स द्वारा पर्याप्त रूप से वर्णित नहीं किए जाते हैं।

उदाहरण के लिए, एक कस्टम-निर्मित ड्रॉपडाउन मेनू, डिफ़ॉल्ट रूप से, स्क्रीन रीडर को यह नहीं बताएगा कि यह एक मेनू है और इसमें विकल्प हैं। ए आर आई ए एट्रीब्यूट का उपयोग करके, हम स्क्रीन रीडर को बता सकते हैं कि यह एक `role="menu"` है और प्रत्येक आइटम `role="menuitem"` है।

ए आर आई ए के मुख्य सिद्धांत

ए आर आई ए को प्रभावी ढंग से उपयोग करने के लिए, इसके कुछ मूलभूत सिद्धांतों को समझना आवश्यक है:

  • **सिमेंटिक एचटीएमएल का उपयोग:** ए आर आई ए का उपयोग करने से पहले, यह सुनिश्चित करें कि आप यथासंभव सिमेंटिक एचटीएमएल टैग्स का उपयोग कर रहे हैं। उदाहरण के लिए, हेडिंग के लिए `

    ` से `
    ` टैग्स, लिस्ट के लिए `
      ` और `
        ` टैग्स, और नेविगेशन के लिए `<nav>` टैग का उपयोग करें। यह स्क्रीन रीडर को डिफ़ॉल्ट रूप से वेबसाइट की संरचना को समझने में मदद करता है। सिमेंटिक एचटीएमएल
      1. **ए आर आई ए का उपयोग केवल आवश्यकता पड़ने पर:** ए आर आई ए का उपयोग केवल उन स्थितियों में करें जहां एचटीएमएल पर्याप्त जानकारी प्रदान नहीं करता है। अनावश्यक ए आर आई ए एट्रीब्यूट का उपयोग भ्रम पैदा कर सकता है और सहायक तकनीकों के प्रदर्शन को धीमा कर सकता है। ए आर आई ए का दुरुपयोग
      2. **रोल, स्टेट और प्रॉपर्टी:** ए आर आई ए एट्रीब्यूट को तीन मुख्य श्रेणियों में विभाजित किया जा सकता है:
       *   **रोल (Role):** यह बताता है कि कोई तत्व क्या करता है। उदाहरण के लिए, `role="button"`, `role="navigation"`, `role="alert"`। ए आर आई ए रोल्स
       *   **स्टेट (State):** यह तत्व की वर्तमान स्थिति को दर्शाता है। उदाहरण के लिए, `aria-expanded="true"`, `aria-selected="false"`, `aria-disabled="true"`। ए आर आई ए स्टेट्स
       *   **प्रॉपर्टी (Property):** यह तत्व के बारे में अतिरिक्त जानकारी प्रदान करता है। उदाहरण के लिए, `aria-label="खोज"`, `aria-describedby="description"`, `aria-required="true"`। ए आर आई ए प्रॉपर्टीज
    

    ए आर आई ए एट्रीब्यूट का उपयोग कैसे करें

    ए आर आई ए एट्रीब्यूट को एचटीएमएल तत्वों में `aria-` उपसर्ग के साथ जोड़ा जाता है। उदाहरण के लिए:

    ```html <button aria-label="खोज">खोज</button>

    यह एक महत्वपूर्ण संदेश है।

    ```

    यहां, `aria-label` एट्रीब्यूट बटन के लिए एक लेबल प्रदान करता है, जो स्क्रीन रीडर द्वारा पढ़ा जाएगा। `role="alert"` बताता है कि `
    ` एक अलर्ट है, और `aria-live="assertive"` बताता है कि स्क्रीन रीडर को अलर्ट के कंटेंट में किसी भी बदलाव को तुरंत पढ़ना चाहिए।

    सामान्य ए आर आई ए एट्रीब्यूट

    यहां कुछ सामान्य ए आर आई ए एट्रीब्यूट की सूची दी गई है:

    • **`aria-label`:** किसी तत्व के लिए एक लेबल प्रदान करता है।
    • **`aria-labelledby`:** किसी तत्व के लेबल के लिए एक अन्य तत्व की आईडी को निर्दिष्ट करता है।
    • **`aria-describedby`:** किसी तत्व के विवरण के लिए एक अन्य तत्व की आईडी को निर्दिष्ट करता है।
    • **`aria-hidden`:** बताता है कि कोई तत्व सहायक तकनीकों से छिपा हुआ है या नहीं।
    • **`aria-expanded`:** बताता है कि कोई तत्व विस्तारित है या नहीं (जैसे, ड्रॉपडाउन मेनू)।
    • **`aria-selected`:** बताता है कि कोई तत्व चयनित है या नहीं (जैसे, रेडियो बटन)।
    • **`aria-disabled`:** बताता है कि कोई तत्व अक्षम है या नहीं।
    • **`aria-required`:** बताता है कि कोई फॉर्म फ़ील्ड आवश्यक है या नहीं।
    • **`aria-invalid`:** बताता है कि कोई फॉर्म फ़ील्ड अमान्य है या नहीं।
    • **`aria-live`:** बताता है कि किसी तत्व के कंटेंट में बदलाव होने पर स्क्रीन रीडर को अलर्ट करना चाहिए या नहीं। इसके तीन संभावित मान हैं:
       *   `off`: कोई अलर्ट नहीं।
       *   `polite`: स्क्रीन रीडर को वर्तमान कार्य पूरा करने के बाद अलर्ट पढ़ें।
       *   `assertive`: स्क्रीन रीडर को तुरंत अलर्ट पढ़ें।
    
    • **`aria-atomic`:** बताता है कि `aria-live` के साथ उपयोग किए जाने पर पूरे तत्व को पढ़ना चाहिए या केवल बदला हुआ भाग।
    • **`aria-relevant`:** बताता है कि `aria-live` के साथ उपयोग किए जाने पर किस प्रकार के बदलावों को स्क्रीन रीडर को पढ़ना चाहिए (जैसे, additions, removals, text)।

    ए आर आई ए रोल्स

    ए आर आई ए रोल्स तत्वों के उद्देश्य को परिभाषित करते हैं। कुछ सामान्य रोल्स में शामिल हैं:

    • **`button`:** एक बटन।
    • **`checkbox`:** एक चेकबॉक्स।
    • **`radio`:** एक रेडियो बटन।
    • **`option`:** एक ड्रॉपडाउन मेनू में एक विकल्प।
    • **`menu`:** एक मेनू।
    • **`menuitem`:** मेनू में एक आइटम।
    • **`navigation`:** एक नेविगेशन सेक्शन।
    • **`alert`:** एक अलर्ट संदेश।
    • **`dialog`:** एक डायलॉग बॉक्स।
    • **`document`:** एक दस्तावेज़।

    ए आर आई ए स्टेट्स

    ए आर आई ए स्टेट्स तत्वों की वर्तमान स्थिति को दर्शाते हैं। कुछ सामान्य स्टेट्स में शामिल हैं:

    • **`aria-expanded`:** बताता है कि कोई तत्व विस्तारित है या नहीं।
    • **`aria-selected`:** बताता है कि कोई तत्व चयनित है या नहीं।
    • **`aria-disabled`:** बताता है कि कोई तत्व अक्षम है या नहीं।
    • **`aria-checked`:** बताता है कि कोई चेकबॉक्स या रेडियो बटन चेक किया गया है या नहीं।
    • **`aria-pressed`:** बताता है कि कोई बटन दबाया गया है या नहीं।
    • **`aria-hidden`:** बताता है कि कोई तत्व सहायक तकनीकों से छिपा हुआ है या नहीं।

    उदाहरण: एक कस्टम ड्रॉपडाउन मेनू को सुलभ बनाना

    मान लीजिए कि आपके पास एक कस्टम ड्रॉपडाउन मेनू है जो एचटीएमएल के डिफ़ॉल्ट `<select>` तत्व का उपयोग नहीं करता है। आप ए आर आई ए का उपयोग करके इस मेनू को सुलभ बना सकते हैं:

    ```html

     भारत
     <button aria-haspopup="listbox">▼</button>
    
    • भारत
    • संयुक्त राज्य अमेरिका
    • कनाडा

    ```

    यहां, `role="combobox"` बताता है कि यह एक कॉम्बो बॉक्स है। `aria-expanded="false"` बताता है कि मेनू शुरुआत में बंद है। `aria-label` मेनू के लिए एक लेबल प्रदान करता है। `role="listbox"` `

Баннер