2012-06-22 28 views
61

कई ARIA प्रदर्शन वेबसाइटों जैसे कोड का उपयोग करें:पहले से लेबल किए गए इनपुट तत्वों पर "एरिया-लैबेलबी" का उपयोग करने का उद्देश्य?

<label for="name" id="label-name">Your Name</label> 
<input id="name" aria-labelledby="label-name" type="text"> 


लेकिन इस मामले में aria-labelledby विशेषता का उपयोग करने के उद्देश्य क्या है? input तत्व को पहले से ही label तत्व द्वारा लेबल किया गया है जो for विशेषता का उपयोग कर रहा है, है ना?

+0

http://www.w3.org/TR/2010/WD-wai-aria-20100916/states_and_properties#aria-labelledby – Sarfraz

+6

धन्यवाद @ सर्फ्राज़। हालांकि, वह पृष्ठ पहले से लेबल किए गए इनपुट तत्वों पर इस तरह के उपयोग के उद्देश्य को चित्रित नहीं करता है। –

उत्तर

52

Mozilla Developer pages पर इसके उपयोग के कुछ अच्छे उदाहरण हैं। शायद उनके उदाहरण का सबसे अच्छा है, जहां यह माता पिता के मेनू आइटम के साथ एक पॉपअप मेनू संबद्ध करने के लिए प्रयोग किया जाता है है - यह पेज में उदाहरण 7 है:

<div role="menubar"> 
    <div role="menuitem" aria-haspopup="true" id="fileMenu">File</div> 
    <div role="menu" aria-labelledby="fileMenu"> 
     <div role="menuitem">Open</div> 
     <div role="menuitem">Save</div> 
     <div role="menuitem">Save as ...</div> 
     ... 
    </div> 
    ... 

ARIA विशेषताओं सुलभ के निर्माण में सबसे बड़ी उपयोग की हो जाता है रिच इंटरनेट एप्लीकेशन: जब तक आप मानक अर्थात् HTML के साथ चिपके रहते हैं - मानकों के लेबल के साथ फॉर्म का उपयोग करके - आपको इसकी आवश्यकता नहीं होनी चाहिए: इसलिए LABEL/INPUT जोड़ी पर इसका उपयोग करने का कोई कारण नहीं है। लेकिन यदि आप खरोंच से "समृद्ध यूआई" बना रहे हैं (डीवीवी और जावास्क्रिप्ट के साथ अन्य निम्न स्तर वाले तत्व इंटरएक्टिविटी जोड़ रहे हैं), तो स्क्रीनश्रेडर को यह जानने के लिए आवश्यक है कि उच्च स्तरीय इरादा क्या है।

+4

धन्यवाद @ ब्रेंडनएमसीके। आपने जो कहा वह सच है। मैंने किसी ऐसे व्यक्ति से पूछा था जो एरिया के लिए काम करता है और उसने भी कहा कि इस मामले में एरिया-लैबेलबी का उपयोग करने की आवश्यकता नहीं है। एस लेबलिंग के लिए, उन्होंने केवल तभी इसका उपयोग किया जब हमें को कई

+0

[विशेषता के माध्यम से एकाधिक संदर्भ बनाकर एक से अधिक लेबल एक ही नियंत्रण से जुड़े हो सकते हैं] (http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#h-17.9.1)। ठीक है, WAVE/WebAIM इसे पसंद नहीं करता है, और यह पता चला है [UA समर्थन के साथ कोई समस्या है] (http://webaim.org/discussion/mail_thread?thread=4307)। लेकिन उनका सुझाव सिर्फ _strange_ है, और मुझे नहीं लगता कि इसका कोई वास्तविक लाभ है। [कम से कम IE <= 8 Aria-labelledby में एकाधिक आईडी का समर्थन नहीं करता है] (http://www.paciellogroup.com/blog/aria-tests/aria-labelledby-input.html)। – sourcejedi

+0

यह लिंक यहां होना चाहिए: https://developer.mozilla.org/en-US/docs/Accessibility/ARIA –

5

हमेशा कुछ भी नए समर्थन के साथ UA समर्थन समस्याएं होती हैं इसलिए डेवलपर्स प्रगतिशील वृद्धि को देखते हैं। यह एआरआईए तकनीक "के लिए" विशेषता को दूर करने की क्षमता प्रदान करती है और अन्य तत्वों को समृद्ध रूप का हिस्सा बनने की अनुमति देती है। ये तकनीक सामान्य अभ्यास बन जाएगी।

+0

क्या विशेषता के लिए क्लिक किए जाने पर यह तत्व को फ़ोकस करता है? मैं अनुमान नहीं लगा रहा हूं –

+0

डिवाइसों को हालांकि कई नहीं करना चाहिए ... अभी तक। – user2323922