الخلاصة

  • عرضت W3C في درس عام 2013 صفحة تخفي ست رسائل ثم تُظهر بعضها بحسب نتائج شروط @supports. يختبر المثال display: flex، ونفيه، وشروطاً مركبة بـ or. السؤال يخص قبول إعلان CSS محدد.
  • قدمت أول مسودة عمل علنية لـ W3C هذه القاعدة في 1 سبتمبر 2011. أوضحت توصية 2013 المرشحة، ثم نص 2022 المرشح، أن إجابة الدعم ترتبط بقبول الخاصية والقيمة مع تنفيذ نافع؛ ويظل تصميم الشكل البديل مهمة المؤلف.

افتح صفحة العرض التي رافقت درس W3C في مؤتمر WWW2013، وانظر إلى مصدرها. تبدأ ست فقرات مخفية بقاعدة واحدة، ثم تكشف شروط @supports الفقرات المناسبة لإجابات المتصفح. تسأل الصفحة عن display: flex وعن نقيضه، ثم تجرّب خاصية أخرى وتجمع النتائج بعبارة or. لا تحتاج إلى تخمين من اسم المتصفح ما الذي فهمه: الصفحة تعرض جواب السؤال الذي كتبته بنفسها.

لم يكن ذلك استعراضاً لزينة جديدة. في شرائح الدرس التي قدمها Bert Bos لصالح W3C في 16 مايو 2013، وُضع مثال لتوزيع الصفحة عبر display: flex، وبجواره مسار بديل إذا لم تُقبل تلك القيمة. تظهر في الشرح أيضاً مشكلة دقيقة: المتصفح الذي لا يعرف @supports نفسها يتجاوز القاعدة بأكملها. لذلك تبدأ خطة التصميم من شكل أساسي صالح للقراءة، ثم تضيف ما تستطيع بيئة القراءة تنفيذه. السؤال لا يبني الصفحة من الصفر؛ إنه يختار أين تذهب قواعد إضافية متعاونة.

كان CSS قبل ذلك يتعامل مع كثير من الإعلانات غير المعروفة بالتجاوز. إذا لم يفهم قيمة لون أو حافة، يواصل قراءة بقية الورقة. لكن نقل صفحة من ترتيب عادي إلى نظام أعمدة جديد يحتاج أكثر من إعلان منفرد. قد يصبح عرض العمود القديم عبئاً على الترتيب الجديد، وقد يحتاج البديل إلى قواعد خاصة به. هنا يريد المصمم قراراً واحداً يضم قواعد الخطة كلها: هذا الطريق عندما تُقبل القيمة، والطريق الآخر عندما لا تُقبل.

هذه الحاجة ظهرت بوضوح في أول مسودة عمل علنية لقواعد CSS الشرطية، بتاريخ 1 سبتمبر 2011. اقترحت @supports أن توضع مجموعة قواعد خلف اختبار لخاصية وقيمة. لم يعد الأمر رهين محاولة تخمين قدرة المتصفح من علامته التجارية. تستطيع الورقة أن تسأل عما تحتاجه لتلك المهمة بالذات. وتسمح الصياغة بالنفي not، وباشتراط أكثر من قدرة عبر and، وبقبول واحد من بدائل عبر or؛ وتتابع مسودة 11 سبتمبر 2012 تفصيل هذه القواعد.

تضع التوصية المرشحة الصادرة في 4 أبريل 2013 مسألة التخطيط في مثال مباشر. قواعد الترتيب المرن داخل شرط تأييد، وعروض الأعمدة في مسار not البديل. وتحذر الوثيقة من وضع عروض البديل فوق التخطيط المرن، لأنها قد تعرقل النتيجة. ما يبدو سؤالاً صغيراً عن إعلان واحد يحدد، عملياً، أي مجموعة متجانسة من التعليمات تحصل على حق ترتيب المحتوى.

وإذا قال المتصفح «نعم»، فما الذي ثبت؟ تقول الوثيقة إن المعالج يقبل الإعلان بدلاً من التخلص منه بسبب خطأ في التحليل، وأن تنفيذه للقيمة بلغ مستوى نافعاً. أعاد نص W3C المرشح المنشور في 13 يناير 2022 ضبط العبارة: ينظر الاختبار إلى إعلان داخل قاعدة تنسيق. بذلك يعرف المؤلف معنى الإجابة بدقة. أما ملاءمة حجم العنوان، وسهولة الوصول إلى القائمة، وتوازن المسافات، فتظهر عند فحص الصفحة المكتملة.

تذكر المواصفة مثالاً يكشف جانباً آخر من عمل المصمم. قد يختار القارئ تبايناً عالياً فيُستبدل اللون المرئي، مع بقاء المتصفح داعماً لخاصية color. نتيجة الشاشة تتشكل أيضاً من ترتيب قواعد CSS وتفضيلات القراءة. ولذلك ينبغي فحص المسارين فعلياً: هل يُقرأ المقال بترتيب جيد إذا استخدم التخطيط الأساسي؟ هل تظل الأعمدة والعناوين متماسكة في المسار المرن؟ جواب المقابلة يحدد القدرة المطلوبة؛ جودة الصفحة تأتي من العمل الذي أعدّه المؤلف لكل جواب.

انتقل النص من مسودة علنية أولى في 2011 إلى مسودة أخرى في 2012، ثم توصية مرشحة في 2013 ولقطة توصية مرشحة في 2022. وبين تلك الوثائق ودرس W3C الحي تظهر صورة أبسط من تسلسل التواريخ: صفحة واحدة تسأل سؤالاً محدداً، تختار مجموعة قواعد مناسبة، وتترك للقارئ محتوى مرتباً في الحالتين. أجرى CSS المقابلة. صاحب الصفحة هو من يقرر ما العمل الذي سيُسلَّم للمتصفح بعدها.