2012-01-04 10 views
9

मैंने देखा है कि एक HTML लेबल टैग जब आप लेबल तत्व में अपने इनपुट तत्व डाल विशेषता 'के लिए' की जरूरत नहीं है:एचटीएमएल लेबल में आवश्यक "के लिए" विशेषता है?

<label><input type="text">Last name</label> 

लेकिन मैं सोच रहा था एक अच्छी आदत है क्या। क्या कोई मेरी मदद कर सकता है?

धन्यवाद!

+0

वेबमोंस्टर की तरह कहा गया है, यह आपके तरीके से करना ठीक है। बस अपने कोड को अपने पूरे कोड में सुसंगत रखें। – Crontab

+0

मैंने आज देखा कि [बूटस्ट्रैप का दस्तावेज दोनों एक ही रूप में उपयोग करता है] (http://getbootstrap.com/css/#forms-inline)। ऐसा लगता है कि 'for' विशेषता का इरादा है * केवल तभी * आप' ''

उत्तर

7

यह स्क्रीन पाठकों के लिए पहुंच और की तरह अर्थात

use_the_label_element_to_make_your_html_forms_accessible

तो आप इसका इस्तेमाल करना चाहिए के लिए प्रयोग किया जाता है। और यहां पहुंच के महत्व के बारे में आपको मनाने के लिए link है।

और यहां एक छोटी सी कहानी है - आपकी साइट को सुलभ बनाने से सभी उपयोगकर्ताओं को फायदा हो सकता है - मैं हमेशा प्रयास करता था कि नागरिक अधिकारियों ने व्हीलचेयर एक्सेसिबिलिटी के लिए चले गए जब तक कि मेरी बेटी नहीं थी और पुश कुर्सी का उपयोग नहीं किया जाता था। मुझे लगता है कि वेबसाइट एक ही नियम का पालन करती है - हर किसी को लाभ होता है। के लिए

क्षमा याचना विवादात्मक

9

मानक states:

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

3

आप अपने label में input शामिल कर सकते हैं और यह label साथ जुड़ा हुआ है, या अगर किसी कारण से आप अपने label तत्व डोम में कहीं और करने के लिए है, तो आप यह अर्थ है निर्दिष्ट कर सकते हैं for विशेषता के साथ। यह किसी भी तरह से for विशेषता का उपयोग करने के लिए कभी भी दर्द नहीं करता है :)

2

विशेषता के लिए टेक्स्ट इनपुट के साथ बहुत अंतर नहीं होता है, लेकिन चेकबॉक्स इनपुट के साथ बहुत उपयोगी है, क्योंकि यह उपयोगकर्ताओं को लेबल पर क्लिक करने की अनुमति देता है अच्छी तरह से चेकबॉक्स खुद के रूप में:

<label for="chk">Checkbox</label><input type="checkbox" id="chk" /> 

इसके अलावा, अपने HTML एक छोटे से साफ़ कर रही अप की जरूरत है - इनपुट टैग बंद कर दिया करने की आवश्यकता है, और यह लेबल के भीतर नहीं होना चाहिए:

<label>Last Name</label><input type="text" /> 

या यदि आप लेबल को दाईं ओर चाहते हैं:

<input type="text" /><label>Last Name</label>