भूमिकाओं आप देख ARIA 1.0 के हिस्से के रूप में परिभाषित किया गया है, और फिर बाद में एचटीएमएल 5 में शामिल के अधिकांश। कुछ नए HTML5 तत्व (संवाद, मुख्य, आदि) मूल एआरआईए भूमिकाओं पर भी आधारित हैं।
http://www.w3.org/TR/wai-aria/
वहाँ दो प्राथमिक कारण अपनी मूल अर्थ तत्व के अलावा भूमिकाओं उपयोग करने के लिए कर रहे हैं।
कारण # 1। उस भूमिका को ओवरराइड करना जहां कोई मेजबान भाषा तत्व उचित नहीं है या, विभिन्न कारणों से, कम से कम अर्थात् उचित तत्व का उपयोग किया गया था।
इस उदाहरण में, एक लिंक का उपयोग किया गया था, भले ही परिणामी कार्यक्षमता नेविगेशन लिंक की तुलना में अधिक बटन-जैसी हो।
<a href="#" role="button" aria-label="Delete item 1">Delete</a>
स्क्रीन पाठकों के लिए एक बटन (के रूप में एक कड़ी के खिलाफ) के रूप में इस सुनेंगे, और तुम वर्ग आईटीआई और div-आईटीआई से बचने के लिए एक सीएसएस विशेषता का भी उपयोग कर सकते हैं।
*[role="button"] {
/* style these a buttons w/o relying on a .button class */
}
कारण # 2। एआरआईए भूमिका लागू करने वाले ब्राउज़र का समर्थन करने के लिए मूल तत्व की भूमिका का बैक अप लेना, लेकिन मूल तत्व की भूमिका को अभी तक लागू नहीं किया है।
उदाहरण के लिए, "मुख्य" भूमिका कई वर्षों से ब्राउज़र में समर्थित है, लेकिन यह एचटीएमएल 5 के अपेक्षाकृत हालिया जोड़े है, इसलिए कई ब्राउज़र अभी तक <main>
के लिए अर्थशास्त्री का समर्थन नहीं करते हैं।
<main role="main">…</main>
यह तकनीकी रूप से अनावश्यक है, लेकिन कुछ उपयोगकर्ताओं की सहायता करता है और किसी को भी नुकसान नहीं पहुंचाता है। कुछ सालों में, यह तकनीक शायद अनावश्यक हो जाएगी।
तुम भी लिखा है:
मैं देख रहा हूँ कुछ लोगों को अपने स्वयं बनाते हैं। क्या यह भूमिका विशेषता का अनुमत या सही उपयोग है?
यह वास्तविक भूमिका शामिल नहीं होने तक विशेषता का वैध उपयोग है। ब्राउज़र टोकन सूची में पहली मान्यता प्राप्त भूमिका लागू करेंगे।
<span role="foo link note bar">...</a>
सूची में से केवल link
और note
वैध भूमिकाओं हैं, और इसलिए लिंक भूमिका है क्योंकि यह पहले आता है लागू किया जाएगा। आप कस्टम भूमिकाओं का उपयोग करते हैं, सुनिश्चित करें कि वे (आदि एचटीएमएल, एसवीजी, MathML,) ARIA में किसी भी निर्धारित भूमिका या मेजबान भाषा का उपयोग कर रहे
यह लिंक भी सहायक हो सकता है। एचटीएमएल में एरिया का उपयोग करना। http://rawgithub.com/w3c/aria-in-html/master/index.html –
आपने [role = "बटन"] के सामने सार्वभौमिक चयनकर्ता क्यों रखा? – Evgeny
@EugeneXa मेरा अनुमान है कि किसी भी तत्व को '[भूमिका = "बटन"]' के साथ 'एक [भूमिका = "बटन"] करने से बचाएगा, span [role = "बटन"] ' – ngplayground