API Popover هو الآن خط الأساس متاح حديثا | بلوق | web.dev

تم النشر: 7 فبراير 2025
في أبريل 2024 ، أعلن منشور على هذا الموقع أن API Popover كان خط الأساس متاحًا حديثًا. ومع ذلك ، فقد أخطأنا ، ويدخل Popover خط الأساس اعتبارًا من 27 يناير 2025. يشرح هذا المنشور سبب خاطئنا ، وما الذي تغير منذ أن جعل هذه الأخطاء أقل احتمالًا.
ما هو Popover API؟
يوفر API Popover طريقة مدمجة لإنشاء أنواع مختلفة من البوبوفر المستخدمة في تطبيقات الويب. في السابق ، تطلب منك ذلك استخدام JavaScript ، وتهتم كثيرًا بتنفيذها بطريقة يمكن الوصول إليها. يجلب واجهة برمجة التطبيقات كل هذا إلى المتصفح ، ويمكن إنشاء popover البسيط بشكل إعلاني في HTML.
<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>
لماذا لم يكن خط الأساس في أبريل 2024؟
عندما قام Firefox بشحن تنفيذ Popover في أبريل 2024 ، لم نكتشف بعد أن كانت هناك مشكلة كبيرة في iOS و iPados. على هذه المتصفحات المحمولة ، لم يغلقها النقر خارج البوبوفر ، وهي ميزة تُعرف باسم يبعث الضوء. هذه مشكلة من شأنها أن تمنع معظم المطورين من أن يكونوا سعداء باستخدام Popover. هذا يعني أنه لا ينبغي إدراجه كخط أساسي في أبريل ، ويحتاج إلى الانتظار حتى تم إصلاح الخطأ في Safari 18.3.
لماذا أخطأنا؟
يعتمد خط الأساس على حدوث مواقع الويب على حساب عندما تكون الميزات داخل أو خارج خط الأساس. إذا ألقيت نظرة على ملف ميزة فردي في هذا المشروع ، مثل ملف Popover ، فسترى الميزات الفردية من بيانات Compat Mozilla Browser المدرجة. عادةً ما تحتوي ميزة الويب على عدد من هذه الادراج. وذلك لأن ميزة على الويب ليست مجرد خاصية أو طريقة واحدة ، فهي تحتاج إلى عدد من أجزاء المكونات للعمل. ولا ميزة مواصفات كاملة. غالبًا ما تشمل مواصفات CSS ، على سبيل المثال ، الميزات الفرعية التي لم يتم تنفيذها مطلقًا ، أو يتم استخدامها فقط في سياق محدد. يستخدم عمل مواقع الويب مزيجًا من بيانات التوفر الحالية والمدخلات البشرية لمعرفة ما الذي يشكل ميزة منصة ويب ، وبشكل حاسم ، سواء كان التنفيذ الجزئي خطيرًا بما يكفي لإبعاده عن خط الأساس.
مرة أخرى في فبراير ، كان عمل ميزات الويب بعيدة عن كامل. لذلك ، للمساعدة في إظهار مدى عمل خط الأساس ، كنا نحاول اكتشاف الميزات الرئيسية التي ستكون جزءًا من خط الأساس 2024 دون كل البيانات التي نحتاجها للقيام بذلك. على الورق ، أو بالأحرى في بيانات Compater Compat التي لم يتم تحديثها حتى سبتمبر عندما تم اكتشاف المشكلة ، بدا أن Popover مدرج. ومع ذلك ، نظرًا لوجود الخلل على نظام التشغيل iOS بدرجة كافية لمنع استخدام Popover ، لم يكن جاهزًا.
كان هناك أيضا نقص في البنية التحتية للاختبار للجوال. يمنحنا مشروع اختبارات Web Platform طريقة لاختبار أن ميزات منصة الويب تعمل عبر جميع المتصفحات. لو حدثت هذه القضية الخفيفة في متصفح سطح المكتب ، فقد رأينا أن الاختبارات كانت فشلت ، لم يكن هذا هو الحال بالنسبة للجوال.
كيف نتجنب هذا في المستقبل؟
نحن بالفعل في مكان أفضل بكثير مع البيانات. اكتملت بيانات ميزات الويب تقريبًا ، وبالتالي يمكننا الحصول على درجة أكبر من الثقة مع أي من الميزات التي نعلن عنها خط الأساس.
على وجه الخصوص مع هذه المسألة ، كان جزء من المشكلة هو تحديد مشكلة تحدث فقط على الهاتف المحمول ، في iOS. هناك بعض الأشياء التي تحدث من شأنها أن تجعل تحديد مشكلات التشغيل المتداخل على الهاتف المحمول أسهل في المستقبل. العمل مستمر لتحسين اختبارات الهاتف المحمول في اختبارات منصة الويب ، لذلك يجب أن نكون قادرين على تحديد أفضل عندما يعاني متصفح الهاتف المحمول ، بشكل منفصل عن سطح المكتب. نعتزم أيضًا فضح هذه البيانات على لوحة معلومات WebStatus.dev هذا العام. إذا حدثت مشكلة كهذه في المستقبل ، فيجب أن نحصل على مؤشرات أسرع على أنها قد حدثت ، ونأمل قبل أن ندرج الميزة في الأساس.
كنا نعلم دائمًا أن تعيين منصة الويب بأكملها كمجموعة من الميزات لن تكون سهلة! ومع ذلك ، فإن المناقشات التي نجريها حول التطبيقات الجزئية ، والبق ، وما الذي يشكل في الواقع ميزة ذات قيمة لا تصدق. إنها تساعدنا على تحديد ما يهمك حقًا ، مما يمنحنا إشارات أفضل لاستخدامها عند التخطيط لجهود مثل Interop 2025.