Popover API अब बेसलाइन के तौर पर उपलब्ध है

पब्लिश किया गया: 7 फ़रवरी, 2025

अप्रैल 2024 में, इस साइट पर पोस्ट में बताया गया था कि Popover API, बेसलाइन के तौर पर उपलब्ध है. हालांकि, हमने गलत जानकारी दी थी. popover, 27 जनवरी, 2025 से बेसलाइन में शामिल हो जाएगा. इस पोस्ट में बताया गया है कि हमने यह गड़बड़ी क्यों की और इन गड़बड़ियों की संभावना कम करने के लिए, हमने क्या बदलाव किए हैं.

Popover API क्या है?

Popover API, वेब ऐप्लिकेशन में इस्तेमाल किए जाने वाले अलग-अलग तरह के पॉपओवर बनाने के लिए, पहले से मौजूद तरीका उपलब्ध कराता है. पहले, इनका इस्तेमाल करने के लिए आपको JavaScript का इस्तेमाल करना पड़ता था. साथ ही, इनका इस्तेमाल आसानी से किया जा सके, इसके लिए ज़रूरी था कि आप इनका इस्तेमाल सावधानी से करें. एपीआई, यह सारा डेटा ब्राउज़र पर ले आता है. साथ ही, एचटीएमएल में आसानी से एक साधारण पॉपओवर बनाया जा सकता है.

<button popovertarget="my-popover">Open Popover</button>

<div id="my-popover" popover>
  <p>I am a popover with more information. Hit <kbd>esc</kbd> or click away to close me.</p>
</div>
popover एट्रिब्यूट का इस्तेमाल करने का बुनियादी उदाहरण.

अप्रैल 2024 में यह बेसलाइन क्यों नहीं था?

जब Firefox ने अप्रैल 2024 में पॉपओवर की सुविधा को लॉन्च किया था, तब हमें पता नहीं था कि iOS और iPadOS पर कोई गंभीर समस्या है. इन मोबाइल ब्राउज़र पर, पॉपओवर के बाहर क्लिक करने से वह बंद नहीं होता. इसे लाइट डिसमिज़ सुविधा कहा जाता है. यह एक ऐसी समस्या है जिसकी वजह से ज़्यादातर डेवलपर, पॉपओवर का इस्तेमाल नहीं करना चाहेंगे. इसका मतलब है कि इसे अप्रैल में बेसलाइन के तौर पर शामिल नहीं किया जाना चाहिए था. साथ ही, Safari 18.3 में गड़बड़ी ठीक होने तक इंतज़ार करना चाहिए था.

हमसे गलती क्यों हुई?

बेसलाइन, वेब-सुविधाओं के काम पर निर्भर करता है, ताकि यह हिसाब लगाया जा सके कि सुविधाएं बेसलाइन में हैं या नहीं. अगर उस प्रोजेक्ट में किसी एक सुविधा की फ़ाइल देखी जाती है, जैसे कि पॉपओवर की फ़ाइल, तो आपको Mozilla ब्राउज़र के साथ काम करने वाले डेटा में मौजूद अलग-अलग सुविधाएं दिखेंगी. आम तौर पर, एक वेब-फ़ीचर में इनमें से कई शामिल होते हैं. ऐसा इसलिए है, क्योंकि वेब पर मौजूद कोई सुविधा सिर्फ़ एक प्रॉपर्टी या तरीका नहीं होती. इसके काम करने के लिए, कई कॉम्पोनेंट की ज़रूरत होती है. इसके अलावा, कोई सुविधा पूरी जानकारी नहीं होती. उदाहरण के लिए, सीएसएस की खास बातों में अक्सर ऐसी सब-सुविधाएं शामिल होती हैं जिन्हें कभी लागू नहीं किया गया है या जिन्हें सिर्फ़ किसी खास संदर्भ में इस्तेमाल किया जाता है. वेब-सुविधाओं के काम में, उपलब्धता के मौजूदा डेटा और मानवीय इनपुट का इस्तेमाल किया जाता है. इससे यह पता चलता है कि वेब प्लैटफ़ॉर्म की सुविधाओं में क्या शामिल है. साथ ही, यह भी पता चलता है कि क्या कुछ हद तक लागू होने वाली सुविधा को बेसलाइन से बाहर रखा जाना चाहिए.

फ़रवरी में, वेब-सुविधाओं का काम पूरा होने में काफ़ी समय लगेगा. इसलिए, Baseline के काम करने के तरीके को दिखाने के लिए, हम उन मुख्य सुविधाओं का पता लगाने की कोशिश कर रहे थे जो Baseline 2024 का हिस्सा होंगी. हालांकि, इसके लिए हमारे पास ज़रूरी डेटा नहीं था. पेपर पर या ब्राउज़र के साथ काम करने वाले डेटा में, popover को शामिल किया गया था. हालांकि, यह डेटा सितंबर तक अपडेट नहीं किया गया था, जब समस्या का पता चला था. हालांकि, iOS पर मौजूद बग की वजह से, पॉपओवर का इस्तेमाल नहीं किया जा सकता था. इसलिए, यह सुविधा उपलब्ध नहीं थी.

मोबाइल के लिए टेस्टिंग इन्फ़्रास्ट्रक्चर की भी कमी थी. वेब प्लैटफ़ॉर्म के लिए टेस्ट प्रोजेक्ट की मदद से, यह जांच की जा सकती है कि वेब प्लैटफ़ॉर्म की सुविधाएं सभी ब्राउज़र पर काम कर रही हैं या नहीं. अगर लाइट को बंद करने से जुड़ी यह समस्या किसी डेस्कटॉप ब्राउज़र में होती, तो हमें पता चलता कि टेस्ट पास नहीं हो रहे हैं. हालांकि, मोबाइल के लिए ऐसा नहीं हुआ.

आने वाले समय में, हम इस तरह की समस्या से कैसे बचें?

डेटा के मामले में, हम पहले से ही काफ़ी बेहतर स्थिति में हैं. वेब-सुविधाओं का डेटा अब तक काफ़ी हद तक इकट्ठा हो चुका है. इसलिए, हम उन सभी सुविधाओं के बारे में ज़्यादा भरोसे के साथ बता सकते हैं जिन्हें हम बेसलाइन के तौर पर बता रहे हैं.

इस समस्या में, iOS पर मोबाइल में होने वाली समस्या का पता लगाना मुश्किल था. कुछ चीज़ें ऐसी हैं जिनकी वजह से, आने वाले समय में मोबाइल पर इंटरऑपरेबिलिटी से जुड़ी समस्याओं की पहचान करना आसान हो जाएगा. वेब प्लैटफ़ॉर्म टेस्ट में मोबाइल टेस्टिंग को बेहतर बनाने के लिए काम जारी है. इससे, हमें डेस्कटॉप के मुकाबले मोबाइल ब्राउज़र में होने वाली समस्याओं की बेहतर तरीके से पहचान करने में मदद मिलेगी. हम इस साल, webstatus.dev डैशबोर्ड पर भी यह डेटा दिखाने जा रहे हैं. अगर आने वाले समय में ऐसी कोई समस्या होती है, तो हमें इसकी जानकारी तुरंत मिल जाएगी. उम्मीद है कि Baseline में इस सुविधा को शामिल करने से पहले ही, हमें इसकी जानकारी मिल जाएगी.

हमें हमेशा से पता था कि पूरे वेब प्लैटफ़ॉर्म को सुविधाओं के सेट के तौर पर मैप करना आसान नहीं होगा! हालांकि, कुछ सुविधाओं को लागू करने, गड़बड़ियों, और किसी सुविधा को बनाने के बारे में हमारी बातचीत काफ़ी अहम है. इससे हमें यह पता चल रहा है कि आपके लिए क्या ज़रूरी है. साथ ही, Interop 2025 जैसी गतिविधियों की योजना बनाते समय, हमें बेहतर सिग्नल मिल रहे हैं.