- वेब इंटरफ़ेस में
<div> की जगह <button> का उपयोग करना accessibility और functionality दोनों के लिहाज़ से सही विकल्प है
<div> को screen reader interactive element के रूप में नहीं पहचानते, और यह keyboard focus या Enter, Spacebar इनपुट पर भी प्रतिक्रिया नहीं देता
[role="button"] या [tabindex="0"] attributes जोड़ने पर भी focus order की गड़बड़ी और keyboard event handling की समस्या बनी रहती है
- इन समस्याओं को हल करने के लिए कई event listeners और conditional statements जोड़ना अनावश्यक जटिलता पैदा करता है
<button> accessibility, focus, और keyboard input handling की सुविधाएँ डिफ़ॉल्ट रूप से देता है, इसलिए यह सरल और standard समाधान है
गलत तरीका: <div> से button बनाना
- React या HTMX उपयोगकर्ताओं के बीच
<div onclick="..."> के रूप में modal खोलने जैसी interactions लागू करने के उदाहरण बहुत मिलते हैं
- इस तरीके की समस्याएँ
- screen reader इस element को interactive element के रूप में नहीं पहचानते
- keyboard से focus ले जाना संभव नहीं होता
- केवल
click event चलता है, Enter या Spacebar इनपुट पर प्रतिक्रिया नहीं होती
accessibility “ठीक” करने की कोशिशों की सीमाएँ
<button> द्वारा दी जाने वाली डिफ़ॉल्ट सुविधाएँ
निष्कर्ष: सादगी ही सबसे अच्छा विकल्प है
<button> accessibility standards को पूरा करते हुए code की मात्रा कम करने का सबसे सरल तरीका है
- अनावश्यक event handling या attributes जोड़े बिना standard HTML elements का उपयोग करना maintenance और efficiency दोनों के लिए बेहतर है
- “जितने आलसी developer होंगे, उन्हें उतना ही सही element इस्तेमाल करना चाहिए” — यह संदेश
अनावश्यक जटिलता से बचने और built-in features का उपयोग करने वाली development आदतों के महत्व पर ज़ोर देता है
अभी कोई टिप्पणी नहीं है.