<a>
nchor तत्व बस एक लंगर है कुछ सामग्री से या उससे। मूल रूप से नामित एंकरों (<a name="foo">
) और लिंक किए गए एंकर (<a href="#foo">
) के लिए HTML विनिर्देशन की अनुमति है।
नामित लंगर प्रारूप कम सामान्यतः प्रयोग किया जाता है के रूप में टुकड़ा पहचानकर्ता अब (हालांकि पश्च संगतता के लिए आप अभी भी [name]
गुण निर्दिष्ट कर सकते हैं) एक [id]
विशेषता निर्दिष्ट करने के लिए प्रयोग किया जाता है। An <a>
element without an [href]
attribute is still valid।
जहां तक शब्दों और स्टाइल का संबंध है, <a>
तत्व एक लिंक (:link
) जब तक यह एक [href]
विशेषता है नहीं है। इसका दुष्प्रभाव यह है कि तत्व बिना [href]
डिफ़ॉल्ट रूप से टैबबिंग ऑर्डर में नहीं होगा।
असली सवाल यह है कि <a>
तत्व अकेले <button>
का एक उचित प्रतिनिधित्व है। अर्थात् स्तर पर, link
और button
के बीच एक अलग अंतर है।
एक बटन ऐसा कुछ है जो क्लिक होने पर कार्रवाई होने का कारण बनता है।
एक लिंक एक बटन है जो वर्तमान दस्तावेज़ में नेविगेशन में बदलाव का कारण बनता है। जो नेविगेशन होता है वह खंड पहचानकर्ता (#foo
) के मामले में दस्तावेज़ के भीतर जा सकता है या यूआरएल (/bar
) के मामले में एक नए दस्तावेज़ में जा सकता है।
चूंकि लिंक एक विशेष प्रकार के बटन होते हैं, इसलिए अक्सर उनके कार्यों को वैकल्पिक कार्यों को करने के लिए ओवरराइड किया जाता है। एक बटन के रूप में एक एंकर का उपयोग जारी रखने के लिए एक स्थिरता दृष्टिकोण से ठीक है, हालांकि यह काफी सटीक नहीं है।
आप शब्दों और एक <a>
तत्व (या <span>
, या <div>
) का उपयोग कर एक बटन के रूप की पहुंच के बारे में चिंतित हैं, तो आप निम्न विशेषताओं को जोड़ना चाहिए:
<a role="button" tabindex="0" ...>...</a>
button role उपयोगकर्ता बताता है कि विशेष तत्व को अंतर्निहित तत्व के जो भी अर्थशास्त्र के लिए ओवरराइड के रूप में एक बटन के रूप में माना जा रहा है।
<span>
और <div>
तत्वों के लिए, आप अंतरिक्ष के लिए जावास्क्रिप्ट कुंजी श्रोताओं को जोड़ने के लिए या दर्ज click
घटना ट्रिगर कर सकते हैं। <a href>
और <button>
तत्व डिफ़ॉल्ट रूप से ऐसा करते हैं, लेकिन गैर-बटन तत्व नहीं होते हैं। कभी-कभी click
को एक अलग कुंजी पर ट्रिगर करने के लिए यह अधिक समझ में आता है। उदाहरण के लिए, किसी वेब ऐप में "सहायता" बटन F1 तक बाध्य हो सकता है।
'href =" # "मैंने सुना है। 'जावास्क्रिप्ट: शून्य (0)' मैंने सुना है। मैंने अब तक कभी नहीं सुना है, लेकिन ऐसा लगता है कि यह सबसे ज्यादा समझ में आता है। यह मानक है और अधिकांश ब्राउज़रों में काम करता है, है ना? – Zacqary
@Zacqary, '[role =" बटन "] 'कुछ भी ठोस नहीं करता है, आपको अभी भी क्लिक ईवेंट सुनने की आवश्यकता है (लेकिन आप जेएस बटन बनाने के लिए वैसे भी ऐसा करेंगे)। इसका उपयोग सहायक नेविगेशन (उर्फ स्क्रीन रीडर) के लिए किया जाना है ताकि स्क्रीन रीडर तत्व को अपने मूल अर्थपूर्ण मूल्य के बजाय बटन के रूप में प्रस्तुत करना जानता हो। '[Tabindex]' जोड़ना तत्व को टैबबिंग ऑर्डर में जोड़ता है। विशेष परिस्थितियों में आप वास्तव में टैबबिंग ऑर्डर में बटन नेविगेट करने की आवश्यकता नहीं चाहते हैं, इसलिए यह एक वैकल्पिक विशेषता है। जिन तत्वों को पहले से ही बटन हैं, उन्हें '[role = "बटन"]' की आवश्यकता नहीं है क्योंकि यह अनावश्यक है। – zzzzBov
क्या यह वैध HTML है बिना href के नाम और बिना नाम के एंकर टैग है? हमारे ऐप में हमारे पास कुछ डिलीट लिंक हैं जो अक्षम हैं (इसलिए कोई href विशेषता नहीं है), लेकिन फिर भी उपयोगकर्ता को दिखाया गया है। –