• वेब पर JS-निर्भर फीचर्स को HTML/CSS से बदलने के आधुनिक तरीकों का परिचय
  • details·summary, datalist, popover जैसे standard elements का उपयोग करके accordion, autocomplete, modal और offscreen navigation लागू करना
  • यह तरीका download·evaluation·memory usage को कम करके performance और user experience को बेहतर बनाता है
  • हर फीचर के लिए CodePen उदाहरण, MDN docs, browser compatibility जानकारी साथ में दी गई है
  • JS का उपयोग केवल वहीं करना चाहिए जहाँ उसकी वास्तव में ज़रूरत हो, और HTML/CSS की विकसित क्षमताओं का सक्रिय उपयोग करना चाहिए

HTML और CSS से JS फीचर्स का विकल्प

  • लंबे समय तक JavaScript उन फीचर्स के लिए ज़िम्मेदार रहा है जिन्हें HTML और CSS से लागू नहीं किया जा सकता था
    • लेकिन HTML और CSS की क्षमताएँ बढ़ने के साथ, कुछ JS फीचर्स को अब native web technologies से बदला जा सकता है
  • JS को download, decompress, evaluate और memory में बनाए रखना पड़ता है, इसलिए जहाँ संभव हो फीचर्स को HTML/CSS में स्थानांतरित करना अधिक प्रभावी है
  • दिशा यह है कि JS जटिल logic पर फोकस करे, और सरल UI control को HTML/CSS को सौंप दिया जाए

Accordion / expandable content panel

  • details और summary elements से बिना JS के accordion बनाया जा सकता है
    • content को click करके खोला और बंद किया जा सकता है, और open attribute से default state तय होती है
    • एक ही name attribute इस्तेमाल करने पर एक समय में केवल एक panel खुला रहेगा
  • CSS से styling की जा सकती है या JS से open/close state को control भी किया जा सकता है
  • संबंधित सामग्री: MDN details docs, CodePen उदाहरण, browser compatibility table

Autocomplete suggestion input

  • input और datalist के संयोजन से auto-filtering dropdown बनाया जा सकता है
    • टाइप करते समय suggestion list अपने आप filter होती है
    • text के अलावा number, time जैसे कई input types भी समर्थित हैं
  • Firefox अभी केवल text-based input को support करता है, और mobile accessibility की कुछ सीमाएँ हैं
  • संबंधित सामग्री: MDN datalist docs, SitePoint tutorial, browser compatibility table

Modal / popover

  • popover और popovertarget attributes से बिना JS के modal और popover लागू किए जा सकते हैं
    • auto, hint, manual ये तीन modes उपलब्ध हैं
    • auto बाहरी click या ESC से बंद हो जाता है, जबकि manual केवल manually बंद होता है
  • Firefox और iOS में hint mode समर्थित नहीं है
  • संबंधित सामग्री: MDN popover docs, Chrome blog, CodePen उदाहरण, accessibility से जुड़ा वीडियो

Offscreen navigation / content

  • popover फीचर का उपयोग करके offscreen navigation menu बनाया जा सकता है
    • अर्थपूर्ण संरचना के लिए nav element का उपयोग, और CSS translate से उसे स्क्रीन के अंदर-बाहर ले जाना
    • बाहरी click पर यह बंद हो जाता है, और popover="manual" से manual close सेट किया जा सकता है
    • ::backdrop pseudo-element से background को semi-transparent बनाया जा सकता है
  • संबंधित सामग्री: MDN Popover API, Chrome blog, CodePen उदाहरण

निष्कर्ष

  • JS की ताकत को मानते हुए भी, इसे केवल ज़रूरी जगहों पर ही इस्तेमाल करना चाहिए
  • हालिया HTML/CSS प्रगति के कारण JS-रहित कई विकल्प उभरकर आए हैं
  • और अधिक उदाहरण लेखक की ब्लॉग पोस्ट “Replace JS with No-JS or Lo-JS Options” में देखे जा सकते हैं
  • JS को न्यूनतम रखना और performance optimization के ज़रिए user experience बेहतर बनाने पर ज़ोर

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.