تخطَّ إلى المحتوى

مصفوفة دعم CSS

ينفّذ ⁨NextPDF⁩ عرض ⁨CSS⁩ وفق مواصفات اتحاد الشبكة العالمية (⁨W3C⁩) المنشورة. استخدم هذه الصفحة لمراجعة كل وحدة ⁨CSS⁩ ضمن مجموعة مواصفات ⁨NextPDF⁩، ومعرفة حالة الدعم الموثَّقة بالأدلة لتلك الوحدة في مسار العرض.

تستند هذه المراجعة إلى تدقيق الأدلة للموجة 4 ⁨B2⁩ (القسم 4.4 من الخطة). استخدمت المراجعة البنيوية السابقة شارات مؤقتة غير مُتحقَّق منها. أعاد التدقيق تقييم كل صف مقابل أدلة فعلية على القرص (src/Html/، tests/، tests/Wpt/corpus/)، وسجلّات قرارات البنية (⁨ADRs⁩) للتغييرات الكاسرة في ⁨v8/v9⁩، وتدقيق تغطية خصائص ⁨CSS⁩ الداخلي. قدّم التدقيق صدق النتيجة على حجم التغطية: وعندما اقتضى الدليل خفض الشارة، خُفِّضت.

تصنّف أربع شارات كل صف وفق عقد التحقُّق:

  • مُتحقَّق منه — تنفيذ في src/Html/ إضافةً إلى تجهيزة آلية مخصَّصة وجوهرية: إما مجموعة على مستوى الخصائص من ثلاثة ملفات أو أكثر ضمن tests/Unit/Html/<Module>/، أو جزء من مجموعة ⁨Web Platform Tests⁩ (⁨WPT⁩) يضم خمسين تجهيزة أو أكثر ضمن tests/Wpt/corpus/. لم يُربط حتى الآن أي خط أساس ذهبي بصيغة ⁨Portable Document Format⁩ (⁨PDF⁩) بكل وحدة ⁨CSS⁩، لذلك تستخدم الصفوف المُتحقَّق منها ملف قابلية إعادة الإنتاج structural (تكافؤ تأكيدات ⁨PHPUnit⁩)، ولا تستخدم bitwise أبداً.
  • مُدَّعى — سلوك الوحدة مُنفَّذ في src/Html/ (مع ذكر مسار المصدر)، لكن التجهيزة المخصَّصة ضعيفة أو مشتركة أو غير موجودة. لكل صف مُدَّعى له تنفيذ ملموس مشكلة استكمال متعقَّبة.
  • غير مدعوم — لا يتضمّن مسار عرض ⁨PDF⁩ الساكن هذه الوحدة: واجهات برمجة تطبيقات ⁨runtime/browser-only⁩، وأوقات تشغيل ⁨scrolling/animation⁩، والأعمال التي أوقفها ⁨W3C.⁩ يسجّل كل صف السبب.
  • غير معروف — الوحدة موجودة في المجموعة، لكن التدقيق لم يجد أي دليل تنفيذ أو تجهيزة اختبار. لم يرفع التدقيق التقدير قط اعتماداً على التخمين لتحسين العدد.

شارة partial في المراجعة البنيوية مُلغاة: أُعيد تقييم كل صف جزئي سابق إلى claimed (التنفيذ موجود، ولا توجد تجهيزة مخصَّصة) أو verified.

الشارةالمعنى
verifiedsrc/Html/ + مجموعة تجهيزات مخصَّصة (3 ملفات أو أكثر) أو جزء ⁨WPT⁩ (50 تجهيزة أو أكثر)؛ تجتاز بحتمية ضمن ملف structural.
claimedيوجد دليل تنفيذ في src/Html/، لكن لا توجد تجهيزة مخصَّصة. مشكلة الاستكمال متعقَّبة.
not-supportedمستبعَدة صراحةً من نطاق ⁨PDF⁩ الساكن. السبب موثَّق.
unknownلا دليل يمكن تحديده. لم يُرفع التقدير تخميناً.

عمود الثقة مؤشر صادق وغير ثنائي إلى الدليل الذي تستند إليه الشارة المذكورة (high / medium / low). وهو مستقل عن الشارة نفسها.

يدعم ⁨NextPDF⁩ وحدات ⁨CSS⁩ المُدرَجة أدناه بالمستويات المذكورة. لدى صفوف مُتحقَّق منه مجموعة تجهيزات آلية مخصَّصة أو جزء جوهري من مجموعة ⁨WPT⁩ يؤكّد سلوك ⁨NextPDF⁩ ويجتاز بحتمية ضمن ملف قابلية إعادة الإنتاج structural. لدى صفوف مُدَّعى دليل تنفيذ في src/Html/، لكن لا توجد تجهيزة مخصَّصة بعد؛ ويُتعقَّب كل صف عبر مشكلة استكمال ضمن مشكلة التعقّب #614. تُوثِّق صفوف غير مدعوم حدود النطاق الصريحة لهدف ⁨PDF⁩ الساكن.

لا يدّعي أي صف قابلية إعادة الإنتاج على مستوى البايت، لأن هذه المراجعة لا تتضمن خط أساس ⁨PDF⁩ ذهبياً لكل وحدة ⁨CSS.⁩ يمنع عقد التحقُّق الصفوف الفارغة: عند تعذّر تحديد الدعم، يكون الصف unknown.

الأعداد المُدقَّقة (هذه المراجعة)

قسم بعنوان «الأعداد المُدقَّقة (هذه المراجعة)»
الحالةالوحداتالثقة (عالية / متوسطة / منخفضة)
مُتحقَّق منه128 / 4 / 0
مُدَّعى490 / 35 / 14
غير مدعوم6762 / 5 / 0
غير معروف390 / 0 / 39
الإجمالي16770 / 44 / 53

كانت كتلة summary في المراجعة البنيوية غير متّسقة داخلياً: أعلنت إجمالي 148 (18 مُتحقَّق منه / 11 جزئي / 11 مُدَّعى / 53 غير مدعوم / 55 غير معروف)، بينما تضمّن الملف 167 صفّ وحدة بلغ مجموع تسمياتها 34 مُتحقَّق منه / 13 جزئي / 13 مُدَّعى / 68 غير مدعوم / 39 غير معروف. صحّح هذا التدقيق الإجمالي إلى الرقم الفعلي 167، وأعاد تقييم كل صف مقابل الأدلة على القرص: انخفض عدد الصفوف المُتحقَّق منها من 34 مُدَّعى إلى 12 صفاً مُثبَتاً بالأدلة. هذا الانخفاض هو النتيجة الصحيحة لتدقيق صادق، وليس تراجعاً. فرق ⁨before/after⁩ الكامل موجود في الملف المرافق داخل المستودع _css-matrix-truth-report.md.

تصحيحات دقة قرارات البنية (⁨ADR⁩)

قسم بعنوان «تصحيحات دقة قرارات البنية (⁨ADR⁩)»

وصفت المراجعة البنيوية ثلاث قدرات فعّالة خطأً بأنها مُزالة أو غير مدعومة. لم يُزِل ⁨ADR-027⁩ و ⁨ADR-028⁩ إلا علامات الاشتراك الاختياري من تعداد ExperimentalFeature؛ وتبقى القدرات فعّالة افتراضياً:

  • الشبكة الفرعية (css_grid_2) — فعّالة؛ ‏CssFeatureFlags::$layoutSubgrid مُفعَّل افتراضياً. وُسِمت خطأً بـ “⁨subgrid hard-removed v9.0.0⁩”.
  • استعلامات @container (css_contain_2) — لم يتغيّر إرسال وقت التشغيل صراحةً بموجب ⁨ADR-028⁩؛ وخيار إلغاء الاشتراك بالعَلَم محفوظ. وُسِمت خطأً بـ “⁨hard-removed v9.0.0⁩”.
  • writing-mode: vertical-lr (css_writing_modes_3) — فعّال افتراضياً ومستقر منذ ⁨v7.0.0⁩؛ لم يُزل ⁨ADR-027⁩ إلا آلية مصافحة إيقاف الاستخدام. وُسِم خطأً بـ “⁨deprecated/removed v8.0.0⁩”.

توجد مجموعة الصفوف القابلة للقراءة آلياً لكل وحدة في الملف داخل المستودع css-support-matrix-data.yaml، وهو مصدر الحقيقة. تمثّل هذه الصفحة العرض المقروء للبشر، مجمَّعاً حسب الفئة. تستهلك مكوّنات ⁨Astro⁩ بيانات ⁨YAML⁩ مباشرةً أثناء بناء التوثيق.

وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
تخطيط الصندوق المرن في ⁨CSS⁩ (css_flexbox_1)1⁨CR⁩مُتحقَّق منه⁨high⁩src/Html/Flex/، tests/Unit/Html/Flex/ (50 ملفاً)
تخطيط الشبكة في ⁨CSS⁩ (css_grid_1)1⁨REC⁩مُتحقَّق منه⁨high⁩src/Html/Grid/، tests/Unit/Html/Grid/ (25)، tests/Wpt/corpus/css-grid/ (654)
تخطيط الشبكة في ⁨CSS⁩ — الشبكة الفرعية (css_grid_2)2⁨CR⁩مُدَّعى⁨medium⁩src/Html/Grid/Subgrid/ + جزء ⁨WPT⁩ من 80 تجهيزة + اختبار تكامل واحد. فعّال افتراضياً (لم يُزِل ⁨ADR-028⁩ إلا علامة التعداد).
تخطيط الشبكة في ⁨CSS⁩ — ⁨Masonry⁩ (css_grid_3)3⁨ED⁩غير مدعوم⁨high⁩‏⁨Masonry⁩ خارج نطاق ⁨v5.x.⁩
‏⁨CSS Display⁩ (css_display_3)3⁨CR⁩مُدَّعى⁨medium⁩DisplayResolver.php + اختبارات المُحلِّل؛ لا مجموعة خصائص مخصَّصة.
‏⁨CSS Display⁩ (css_display_4)4⁨ED⁩غير معروف⁨low⁩لا دليل على المستوى ⁨L4.⁩
التخطيط المُموضَع في ⁨CSS⁩ (css_position_3)3⁨WD⁩مُتحقَّق منه⁨high⁩src/Html/Positioned/، tests/Unit/Html/Positioned/ (8 ملفات)
التخطيط المُموضَع في ⁨CSS⁩ (css_position_4)4⁨ED⁩غير معروف⁨low⁩position: sticky/⁨anchor⁩ غير مُثبَت بالأدلة.
محاذاة الصندوق في ⁨CSS⁩ (css_align_3)3⁨WD⁩مُدَّعى⁨medium⁩مُنفَّذ داخل محرّكي ⁨Flex/Grid⁩؛ لا مجموعة اختبار مستقلة.
تحجيم الصندوق في ⁨CSS⁩ (css_sizing_3)3⁨CR⁩مُدَّعى⁨low⁩src/Html/Length/؛ يُظهر تدقيق المرحلة 0 أن ⁨width/height⁩ سياسة فقط في الغالب.
تحجيم الصندوق في ⁨CSS⁩ (css_sizing_4)4⁨ED⁩غير معروف⁨low⁩لا دليل على الكلمات المفتاحية للحجم الذاتي.
نموذج الصندوق في ⁨CSS⁩ (css_box_3)3⁨WD⁩مُدَّعى⁨medium⁩تغطية انهيار الهوامش؛ نموذج صندوق ⁨left/right⁩ مفقود وفق تدقيق المرحلة 0. استكمال #617.
نموذج الصندوق في ⁨CSS⁩ (css_box_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
تخطيط الأعمدة المتعددة في ⁨CSS⁩ (css_multicol_1)1⁨CR⁩مُدَّعى⁨medium⁩src/Html/MultiCol/؛ لا مجموعة خصائص.
تخطيط الأعمدة المتعددة في ⁨CSS⁩ (css_multicol_2)2⁨ED⁩غير معروف⁨low⁩لا دليل.
تجزئة ⁨CSS⁩ (css_break_3)3⁨CR⁩مُتحقَّق منه⁨medium⁩src/Html/Fragmentation/، tests/Unit/Html/PagedMedia/ (20 ملفاً)
تجزئة ⁨CSS⁩ (css_break_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
احتواء ⁨CSS⁩ (css_contain_1)1⁨REC⁩غير مدعوم⁨medium⁩لا مُطبِّق contain لـ ⁨layout/paint⁩؛ لا نموذج تحديث حيّ.
احتواء ⁨CSS⁩ — @container (css_contain_2)2⁨CR⁩مُدَّعى⁨low⁩جزء ⁨WPT⁩ من 114 تجهيزة + نموذج التخطيط المحتفَظ به ⁨ADR-017/021.⁩ وقت التشغيل فعّال (لم يُزِل ⁨ADR-028⁩ إلا علامة التعداد).
احتواء ⁨CSS⁩ (css_contain_3)3⁨ED⁩غير مدعوم⁨medium⁩احتواء الأنماط خارج النطاق.
التخطيط السطري في ⁨CSS⁩ (css_inline_3)3⁨WD⁩مُدَّعى⁨medium⁩src/Html/Layout/InlineLayout/ + 8 اختبارات؛ initial-letter غير مُثبَت بالأدلة.
الخصائص المنطقية في ⁨CSS⁩ (css_logical_1)1⁨WD⁩مُدَّعى⁨medium⁩يحلّل ⁨WritingMode⁩ من المنطقي إلى الفيزيائي؛ لا تجهيزة مخصَّصة. تُحَل قيم text-align: start/end المنطقية وفق direction — وتحت direction: rtl تكون start هي الحافة اليمنى — وتُطبَّق في خلايا الجداول.
عوائم الصفحة في ⁨CSS⁩ (css_page_floats_3)3⁨ED⁩غير مدعوم⁨high⁩خارج نطاق ⁨v5.x.⁩
قوالب ترقيم الصفحات في ⁨CSS⁩ (css_page_templates_3)3⁨ED⁩غير مدعوم⁨high⁩ترقيم الصفحات متعدد المناطق خارج النطاق.
استثناءات ⁨CSS⁩ (css_exclusions_1)1⁨WD⁩غير مدعوم⁨high⁩الفئة ⁨C⁩؛ لا التزام في خارطة الطريق.
مناطق ⁨CSS⁩ (css_regions_1)1⁨WD⁩غير مدعوم⁨high⁩أوقفه ⁨W3C.⁩
تخطيط القوالب في ⁨CSS⁩ (css_template_1)1⁨NOTE⁩غير مدعوم⁨high⁩خارج النطاق.
واجهة برمجة تطبيقات التخطيط في ⁨CSS⁩ (css_layout_api_1)1⁨WD⁩غير مدعوم⁨high⁩⁨Worklet⁩ في وقت التشغيل؛ غير منطبق.

نموذج الصندوق — الخلفيات والحدود والتأثيرات

قسم بعنوان «نموذج الصندوق — الخلفيات والحدود والتأثيرات»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
خلفيات وحدود ⁨CSS⁩ (css_backgrounds_3)3⁨CR⁩مُدَّعى⁨medium⁩src/Html/Background/، BorderRenderer.php؛ ‏⁨bg-color⁩ في الجداول فقط بحسب تدقيق المرحلة 0. استكمال #628.
خلفيات ⁨CSS⁩ (css_backgrounds_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
حدود وزخارف الصندوق في ⁨CSS⁩ (css_borders_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
زخارف الفجوات في ⁨CSS⁩ (css_gaps_1)1⁨ED⁩غير معروف⁨low⁩لا دليل.
إخفاء ⁨CSS⁩ (css_masking_1)1⁨CR⁩غير مدعوم⁨medium⁩clip-path/mask لا يُحوَّلان إلى معاملات القَصّ في ⁨PDF.⁩
وحدة الظلال في ⁨CSS⁩ (css_shadow_1)1⁨ED⁩مُدَّعى⁨medium⁩src/Html/Shadow/ (⁨BoxShadowRenderer⁩)؛ لا تجهيزة مخصَّصة.
أشكال ⁨CSS⁩ (css_shapes_1)1⁨CR⁩غير مدعوم⁨high⁩shape-outside خارج نطاق ⁨v5.x.⁩
أشكال ⁨CSS⁩ (css_shapes_2)2⁨ED⁩غير مدعوم⁨high⁩خارج النطاق.
تأثيرات المرشّحات (filter_effects_1)1⁨WD⁩غير مدعوم⁨high⁩بدائيات مرشّحات ⁨SVG⁩ لا تُحوَّل إلى ⁨PDF.⁩
تأثيرات المرشّحات (filter_effects_2)2⁨ED⁩غير مدعوم⁨high⁩خارج النطاق.
التركيب والمزج (compositing_1)1⁨CR⁩مُدَّعى⁨medium⁩تعيين وضع مزج ⁨PDF⁩ في PaintCommand/؛ اختبار وضع مزج واحد.
التركيب (compositing_2)2⁨ED⁩غير معروف⁨low⁩لا دليل.
التعبئة والحدّ في ⁨CSS⁩ (fill_stroke_3)3⁨ED⁩غير معروف⁨low⁩لا دليل.
واجهات الهندسة (geometry_1)1⁨CR⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات ⁨DOM Matrix⁩ وقت التشغيل.
‏⁨DOMMatrix⁩ (matrix)1⁨NOTE⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
مسار الحركة (motion_1)1⁨WD⁩غير مدعوم⁨high⁩للحركة فقط.
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
خطوط ⁨CSS⁩ (css_fonts_3)3⁨REC⁩مُتحقَّق منه⁨medium⁩src/Html/Font/، tests/Unit/Font/ (9) + اختبارات ⁨FontResolver⁩
خطوط ⁨CSS⁩ (css_fonts_4)4⁨CR⁩مُتحقَّق منه⁨high⁩src/Html/FontFace/، tests/Unit/Html/FontFace/ (31 ملفاً)
خطوط ⁨CSS⁩ (css_fonts_5)5⁨ED⁩غير معروف⁨low⁩font-tech() غير مُثبَت بالأدلة.
تحميل الخطوط في ⁨CSS⁩ (css_font_loading_3)3⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات FontFace في ⁨JS⁩ وقت التشغيل؛ التحميل من جهة ⁨PHP⁩ عبر ⁨FontResolver.⁩
نص ⁨CSS⁩ (css_text_3)3⁨CR⁩مُدَّعى⁨medium⁩src/Html/Text/ + 5 اختبارات؛ المرحلة 0 مكتملة لـ ⁨align/indent/spacing⁩، أما ⁨white-space⁩ فمقتصرة على <pre> فقط. استكمال #618.
نص ⁨CSS⁩ (css_text_4)4⁨ED⁩مُدَّعى⁨medium⁩src/Html/Layout/Hyphenation/ + اختبارات الاستراتيجية؛ بقية خصائص ⁨L4⁩ ما زالت قيد الانتظار.
تزيين النص في ⁨CSS⁩ (css_text_decor_3)3⁨CR⁩مُدَّعى⁨medium⁩src/Html/Text/؛ المرحلة 0 كاملة لكن لا تجهيزة مخصَّصة. استكمال #619.
تزيين النص في ⁨CSS⁩ (css_text_decor_4)4⁨ED⁩غير معروف⁨low⁩text-emphasis غير مُثبَت بالأدلة.
‏⁨CSS Ruby⁩ (css_ruby_1)1⁨WD⁩غير مدعوم⁨high⁩تعليقات ⁨Ruby⁩ خارج نطاق ⁨v5.x.⁩
أنماط الكتابة في ⁨CSS⁩ (css_writing_modes_3)3⁨REC⁩مُدَّعى⁨medium⁩src/Html/Layout/WritingMode/ (7 اختبارات) + جزء ⁨WPT⁩ من 140 تجهيزة. ‏⁨vertical-lr⁩ فعّال افتراضياً (⁨ADR-027⁩). direction: rtl فعّال — إعادة الترتيب ثنائية الاتجاه وفق ⁨UAX#9⁩ إضافةً إلى التشكيل السياقي العربي، مع محاذاة خلايا الجداول إلى البداية. لم تُطبَّق بعد محاذاة الكتل غير الجدولية وjustify، ولا تُعيَّن سمة ⁨HTML⁩ ‏dir (استخدم ⁨CSS⁩ ‏direction). راجع عرض ⁨HTML⁩ عربي من اليمين إلى اليسار. استكمال #629.
أنماط الكتابة في ⁨CSS⁩ (css_writing_modes_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
‏⁨CSS Speech⁩ (css_speech_1)1⁨CR⁩غير مدعوم⁨high⁩العرض السمعي غير منطبق.
ضبط حجم النص للأجهزة المحمولة في ⁨CSS⁩ (css_size_adjust_1)1⁨ED⁩غير مدعوم⁨high⁩تلميح وكيل المستخدم على الأجهزة المحمولة؛ غير منطبق.
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
لون ⁨CSS⁩ (css_color_3)3⁨REC⁩مُدَّعى⁨medium⁩src/Html/Color/، NamedColors.php + اختبارات المُحلِّل؛ لا تجهيزة للوحدة. استكمال #620.
لون ⁨CSS⁩ (css_color_4)4⁨CR⁩مُدَّعى⁨medium⁩تحليل ⁨Lab/LCH/OKLab⁩؛ لم تؤكَّد دقة فضاء ألوان ⁨PDF.⁩
لون ⁨CSS⁩ (css_color_5)5⁨WD⁩غير معروف⁨low⁩color-mix() غير مُثبَت بالأدلة.
لون ⁨CSS⁩ (css_color_6)6⁨ED⁩غير معروف⁨low⁩لا دليل.
ضبط اللون في ⁨CSS⁩ (css_color_adjust_1)1⁨CR⁩غير مدعوم⁨high⁩color-scheme يعتمد على وكيل المستخدم؛ غير منطبق.
لون ⁨CSS⁩ عالي النطاق الديناميكي (css_color_hdr_1)1⁨ED⁩غير مدعوم⁨high⁩‏⁨HDR⁩ لا يُحوَّل إلى فضاء ألوان ⁨PDF.⁩
صور ⁨CSS⁩ (css_images_3)3⁨CR⁩مُدَّعى⁨medium⁩src/Html/Gradient/ (خطي/شعاعي/مخروطي) + اختبارات المُحلِّل.
صور ⁨CSS⁩ (css_images_4)4⁨ED⁩غير معروف⁨low⁩image()/image-set() غير مُثبَتين بالأدلة.
صور ⁨CSS⁩ (css_images_5)5⁨ED⁩غير معروف⁨low⁩لا دليل.
حركة الصور في ⁨CSS⁩ (css_image_animation_1)1⁨ED⁩غير مدعوم⁨high⁩للحركة فقط.

المُحدِّدات والتتالي والقيم

قسم بعنوان «المُحدِّدات والتتالي والقيم»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
مُحدِّدات ⁨CSS⁩ (selectors_3)3⁨REC⁩مُدَّعى⁨medium⁩HasSelectorResolver.php + اختبارات ⁨CssRule⁩؛ التجهيزة ملف واحد هو corpus.json. استكمال #627.
مُحدِّدات ⁨CSS⁩ (selectors_4)4⁨WD⁩مُدَّعى⁨medium⁩:is()/:where()/:not()/:has() مُختبَرة؛ خصائص ⁨L4⁩ المتقدمة ما زالت قيد الانتظار.
مُحدِّدات ⁨CSS⁩ (selectors_5)5⁨ED⁩غير معروف⁨low⁩لا دليل.
مُحدِّدات ⁨CSS⁩ غير العنصرية (selectors_nonelement_1)1⁨WD⁩غير مدعوم⁨high⁩خطّافات صفحات أنماط المتصفّح؛ غير منطبقة.
العناصر الزائفة في ⁨CSS⁩ (css_pseudo_4)4⁨WD⁩مُدَّعى⁨medium⁩src/Html/Pseudo/ (12) + نحو 10 اختبارات للعارض؛ لا مجموعة للوحدة.
التتالي والوراثة في ⁨CSS⁩ (css_cascade_3)3⁨REC⁩مُتحقَّق منه⁨high⁩src/Html/Cascade/، tests/Unit/Html/Cascade/ (9 ملفات)
التتالي في ⁨CSS⁩ (css_cascade_4)4⁨CR⁩مُتحقَّق منه⁨high⁩Cascade/Layer/ + اختبارات ⁨revert/layer⁩
التتالي في ⁨CSS⁩ (css_cascade_5)5⁨CR⁩مُتحقَّق منه⁨high⁩مجموعتا AtRule/Layer/ + Cascade/Layer/
التتالي في ⁨CSS⁩ (css_cascade_6)6⁨WD⁩غير معروف⁨low⁩@scope غير مُثبَت بالأدلة.
القيم والوحدات في ⁨CSS⁩ (css_values_3)3⁨REC⁩مُدَّعى⁨medium⁩CssValueParser.php + اختبارات الوحدة؛ التجهيزة ملف واحد هو corpus.json. استكمال #626.
القيم والوحدات في ⁨CSS⁩ (css_values_4)4⁨CR⁩مُدَّعى⁨medium⁩calc() مُنفَّذ؛ min()/max()/clamp() المتداخلة غير مُثبَتة بالأدلة بالكامل.
القيم والوحدات في ⁨CSS⁩ (css_values_5)5⁨ED⁩غير معروف⁨low⁩لا دليل.
الخصائص المخصَّصة في ⁨CSS⁩ (css_variables_1)1⁨CR⁩مُدَّعى⁨medium⁩src/Html/CustomProperty/ + اختبار تغطية النطاق.
الخصائص المخصَّصة في ⁨CSS⁩ (css_variables_2)2⁨ED⁩غير معروف⁨low⁩لا دليل.
القواعد الشرطية في ⁨CSS⁩ (css_conditional_3)3⁨CR⁩مُدَّعى⁨medium⁩تحليل @media/@supports مُختبَر؛ سلوك @container في وقت التشغيل محفوظ (⁨ADR-028⁩).
القواعد الشرطية في ⁨CSS⁩ (css_conditional_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
القواعد الشرطية في ⁨CSS⁩ (css_conditional_5)5⁨ED⁩غير معروف⁨low⁩لا دليل.
القيم الشرطية في ⁨CSS⁩ (css_conditional_values_1)1⁨ED⁩غير معروف⁨low⁩لا دليل.
مساحات الأسماء في ⁨CSS⁩ (css_namespaces_3)3⁨REC⁩مُدَّعى⁨low⁩يتسامح المُحلِّل مع @namespace؛ لا توجد تغطية للمطابقة.
سمات الأنماط في ⁨CSS⁩ (css_style_attr_1)1⁨CR⁩مُدَّعى⁨medium⁩تحليل style السطري عبر المسار؛ لا تجهيزة مخصَّصة. استكمال #622.
بناء جملة ⁨CSS⁩ (css_syntax_3)3⁨CR⁩مُدَّعى⁨medium⁩CssParser/ + اختبارات ⁨grammar/fuzz⁩؛ لا تجهيزة مطابقة. استكمال #623.
تداخل ⁨CSS⁩ (css_nesting_1)1⁨CR⁩مُدَّعى⁨medium⁩رُقِّي من غير معروف — CssNestingTest + اختبارات ⁨desugar/inner-scan.⁩
متغيّرات البيئة في ⁨CSS⁩ (css_env_1)1⁨ED⁩غير مدعوم⁨medium⁩env() يعتمد على وكيل المستخدم؛ غير منطبق.
الدوال والمخاليط المخصَّصة في ⁨CSS⁩ (css_mixins_1)1⁨ED⁩غير معروف⁨low⁩لا دليل.
امتدادات ⁨CSS⁩ (css_extensions_1)1⁨NOTE⁩غير معروف⁨low⁩لا دليل.

القوائم والعدّادات والمحتوى المُولَّد

قسم بعنوان «القوائم والعدّادات والمحتوى المُولَّد»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
القوائم والعدّادات في ⁨CSS⁩ (css_lists_3)3⁨WD⁩مُدَّعى⁨medium⁩HtmlListRenderer.php/CssCounterManager.php + 18 اختباراً؛ ‏⁨list-style-type⁩ غير مُطبَّق على ⁨ol/ul⁩ (المرحلة 0).
أنماط العدّادات في ⁨CSS⁩ (css_counter_styles_3)3⁨CR⁩مُدَّعى⁨medium⁩أنماط عدّادات مدمجة؛ @counter-style ما زال قيد الانتظار.
المحتوى المُولَّد في ⁨CSS⁩ (css_content_3)3⁨WD⁩مُدَّعى⁨medium⁩CssContentSegment.php + اختبارات العناصر الزائفة؛ يتخطّاه المُطبِّق (المرحلة 0). استكمال #621.
المحتوى المُولَّد للوسائط المُقسَّمة إلى صفحات في ⁨CSS⁩ (css_gcpm_3)3⁨WD⁩مُدَّعى⁨medium⁩دليل في src/Html/Gcpm/ + اختبار التقاط الحواشي.
المحتوى المُولَّد للوسائط المُقسَّمة إلى صفحات في ⁨CSS⁩ (css_gcpm_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.

الطباعة / الوسائط المُقسَّمة إلى صفحات

قسم بعنوان «الطباعة / الوسائط المُقسَّمة إلى صفحات»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
الوسائط المُقسَّمة إلى صفحات في ⁨CSS⁩ (css_page_3)3⁨WD⁩مُدَّعى⁨medium⁩Page/، PagedMedia/، PageRule.php + اختبارات ⁨PageRuleParser/PageMarginBox⁩؛ يحتوي ‏tests/Unit/Html/Page/ على ملف واحد. استكمال #624.
الوسائط المُقسَّمة إلى صفحات في ⁨CSS⁩ (css_page_4)4⁨NOTE⁩غير معروف⁨low⁩مقترحات مستقبلية.
ملف طباعة ⁨CSS⁩ (css_print)1⁨NOTE⁩مُدَّعى⁨low⁩يحترم هدف ⁨PDF⁩ الساكن قيود الطباعة؛ لا تجهيزة مطابقة.
مستويات العرض التقديمي في ⁨CSS⁩ (css_preslev_1)1⁨NOTE⁩غير مدعوم⁨high⁩التنقّل في برامج الشرائح؛ غير منطبق.

الفائض / التمرير / واجهة المستخدم

قسم بعنوان «الفائض / التمرير / واجهة المستخدم»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
الفائض في ⁨CSS⁩ (css_overflow_3)3⁨WD⁩مُدَّعى⁨low⁩اختبارات OverflowClip/ClipRect؛ القَصّ في خلايا الجداول فقط (المرحلة 0).
الفائض في ⁨CSS⁩ (css_overflow_4)4⁨ED⁩غير معروف⁨low⁩لا دليل.
الفائض في ⁨CSS⁩ (css_overflow_5)5⁨ED⁩غير معروف⁨low⁩لا دليل.
سلوك تجاوز التمرير في ⁨CSS⁩ (css_overscroll_1)1⁨CR⁩غير مدعوم⁨high⁩سلوك تمرير في وقت التشغيل؛ غير منطبق.
تثبيت التمرير في ⁨CSS⁩ (css_scroll_anchoring_1)1⁨WD⁩غير مدعوم⁨high⁩سلوك تمرير في وقت التشغيل؛ غير منطبق.
التقاط التمرير في ⁨CSS⁩ (css_scroll_snap_1)1⁨REC⁩غير مدعوم⁨high⁩سلوك تمرير في وقت التشغيل؛ غير منطبق.
التقاط التمرير في ⁨CSS⁩ (css_scroll_snap_2)2⁨WD⁩غير مدعوم⁨high⁩سلوك تمرير في وقت التشغيل؛ غير منطبق.
تنسيق أشرطة التمرير في ⁨CSS⁩ (css_scrollbars_1)1⁨CR⁩غير مدعوم⁨high⁩سلوك وكيل المستخدم في وقت التشغيل؛ غير منطبق.
واجهة المستخدم الأساسية في ⁨CSS⁩ (css_ui_3)3⁨REC⁩غير مدعوم⁨medium⁩cursor/resize لواجهة المتصفّح فقط.
واجهة المستخدم الأساسية في ⁨CSS⁩ (css_ui_4)4⁨WD⁩غير مدعوم⁨high⁩سلوك وكيل المستخدم في وقت التشغيل؛ غير منطبق.
تنسيق عناصر تحكّم النماذج في ⁨CSS⁩ (css_forms_1)1⁨ED⁩غير مدعوم⁨high⁩عناصر النماذج لا يعرضها ⁨PDF⁩ الساكن.
انتقالات العرض في ⁨CSS⁩ (css_view_transitions_1)1⁨WD⁩غير مدعوم⁨high⁩للحركة فقط.
انتقالات العرض في ⁨CSS⁩ (css_view_transitions_2)2⁨ED⁩غير مدعوم⁨high⁩للحركة فقط.
التنقّل المكاني في ⁨CSS⁩ (css_nav_1)1⁨NOTE⁩غير مدعوم⁨high⁩سلوك وكيل المستخدم في وقت التشغيل؛ غير منطبق.
مطابقة المسارات في ⁨CSS⁩ (css_navigation_1)1⁨ED⁩غير مدعوم⁨high⁩سلوك وكيل المستخدم في وقت التشغيل؛ غير منطبق.
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
جدول ⁨CSS⁩ (css_tables_3)3⁨WD⁩مُتحقَّق منه⁨high⁩src/Html/Table/، tests/Unit/Html/Table/ (17) + نحو 60 اختبار ⁨TableParser⁩ + 5 ملفات ⁨PDF⁩ ذهبية اصطناعية في tests/Corpus/tables/

التحويلات / الحركة / الانتقال

قسم بعنوان «التحويلات / الحركة / الانتقال»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
تحويلات ⁨CSS⁩ (css_transforms_1)1⁨CR⁩مُدَّعى⁨medium⁩Renderer/Transform/ + ApplyTransformCommand.php؛ لا تجهيزة مخصَّصة.
تحويلات ⁨CSS⁩ (css_transforms_2)2⁨ED⁩غير معروف⁨low⁩التحويلات ثلاثية الأبعاد غير مُثبَتة بالأدلة.
حركات ⁨CSS⁩ (css_animations_1)1⁨WD⁩غير مدعوم⁨high⁩المخطط الزمني للحركة غير منطبق على ⁨PDF⁩ الساكن.
حركات ⁨CSS⁩ (css_animations_2)2⁨ED⁩غير مدعوم⁨high⁩خارج النطاق.
انتقالات ⁨CSS⁩ (css_transitions_1)1⁨WD⁩غير مدعوم⁨high⁩خارج النطاق.
انتقالات ⁨CSS⁩ (css_transitions_2)2⁨ED⁩غير مدعوم⁨high⁩خارج النطاق.
دوال التيسير في ⁨CSS⁩ (css_easing_1)1⁨CR⁩غير مدعوم⁨high⁩للحركة فقط.
دوال التيسير في ⁨CSS⁩ (css_easing_2)2⁨ED⁩غير مدعوم⁨high⁩للحركة فقط.
حركات الويب (web_animations_1)1⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
حركات الويب (web_animations_2)2⁨ED⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
تكامل حركات الويب مع ⁨CSS⁩ (web_animations_css_integration)1⁨ED⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
مُحفِّزات الحركة (animation_triggers)1⁨ED⁩غير مدعوم⁨high⁩للحركة فقط.
الحركات المدفوعة بالمؤشّر (pointer_animations_1)1⁨ED⁩غير مدعوم⁨high⁩حدث إدخال في وقت التشغيل؛ غير منطبق.
الحركات المدفوعة بالتمرير (scroll_animations_1)1⁨ED⁩غير مدعوم⁨high⁩سلوك تمرير في وقت التشغيل؛ غير منطبق.
‏⁨Worklet⁩ الحركة في ⁨CSS⁩ (css_animation_worklet)1⁨ED⁩غير مدعوم⁨high⁩⁨Worklet⁩ في وقت تشغيل المتصفّح.

امتدادات الإرساء / التموضع

قسم بعنوان «امتدادات الإرساء / التموضع»
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
تموضع الإرساء في ⁨CSS⁩ (css_anchor_position_1)1⁨WD⁩غير معروف⁨low⁩لا مصدر anchor().
تموضع الإرساء في ⁨CSS⁩ (css_anchor_position_2)2⁨ED⁩غير معروف⁨low⁩لا دليل.
واجهة برمجة تطبيقات التمييز في ⁨CSS⁩ (css_highlight_api_1)1⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
واجهة برمجة تطبيقات الخصائص والقيم في ⁨CSS⁩ (css_properties_values_api_1)1⁨CR⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
واجهة برمجة تطبيقات الرسم في ⁨CSS⁩ (css_paint_api_1)1⁨WD⁩غير مدعوم⁨high⁩⁨Worklet⁩ في وقت تشغيل المتصفّح.
‏⁨CSS Typed OM⁩ (css_typed_om_1)1⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.
‏⁨CSSOM⁩ (cssom_1)1⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات ⁨DOM⁩ في المتصفّح.
‏⁨CSSOM View⁩ (cssom_view_1)1⁨WD⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات ⁨DOM⁩ في المتصفّح.
‏⁨CSS Will Change⁩ (css_will_change_1)1⁨CR⁩غير مدعوم⁨high⁩تلميح تحسين للمتصفّح.
المعاملات المرتبطة في ⁨CSS⁩ (css_link_params_1)1⁨ED⁩غير معروف⁨low⁩لا دليل.
شبكة الأسطر في ⁨CSS⁩ (css_line_grid_1)1⁨NOTE⁩غير معروف⁨low⁩لا دليل.
التحجيم الإيقاعي في ⁨CSS⁩ (css_rhythm_1)1⁨ED⁩غير معروف⁨low⁩لا دليل.
العرض الدائري في ⁨CSS⁩ (css_round_display_1)1⁨ED⁩غير مدعوم⁨high⁩هدف العرض الدائري غير منطبق.
مُظلِّلات ⁨CSS⁩ (css_shaders_1)1⁨NOTE⁩غير مدعوم⁨high⁩أزاله ⁨W3C.⁩
منفذ العرض في ⁨CSS⁩ (css_viewport_1)1⁨NOTE⁩غير مدعوم⁨high⁩منفذ عرض وكيل المستخدم؛ غير منطبق.
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
استعلامات الوسائط (mediaqueries_3)3⁨REC⁩مُدَّعى⁨medium⁩CssParser/ + اختبارات تغطية استعلام الوسائط؛ لا تجهيزة مخصَّصة. استكمال #625.
استعلامات الوسائط (mediaqueries_4)4⁨CR⁩مُدَّعى⁨medium⁩@media print/prefers-color-scheme مُحلَّلان؛ بناء جملة النطاق ما زال قيد الانتظار.
استعلامات الوسائط (mediaqueries_5)5⁨WD⁩غير معروف⁨low⁩لا دليل.
وحدة ⁨W3C⁩المستوى⁨W3C⁩الحالةالثقةالدليل
‏⁨CSS⁩ المستوى 2 (css_2_1)2.1⁨REC⁩مُدَّعى⁨low⁩خط أساس موزَّع عبر src/Html/؛ لا تجهيزة مطابقة وحيدة.
‏⁨CSS⁩ المستوى 2.2 (css_2_2)2.2⁨NOTE⁩مُدَّعى⁨low⁩خط أساس موزَّع؛ لا تجهيزة مخصَّصة.
لقطة ⁨CSS 2026⁩ (css_snapshot_2026)لقطة⁨NOTE⁩مُدَّعى⁨low⁩فهرس للوحدات الأخرى؛ الحالة هي تجميع للصفوف المُشار إليها.

تظهر وحدات ⁨W3C⁩ هذه في المجموعة لكنها خارج مسار عرض ⁨CSS.⁩ عند الانطباق، تربط بها صفحات الميزات المقابلة.

وحدة ⁨W3C⁩⁨W3C⁩الحالةالثقةأين
‏⁨W3C SVG 1.1⁩ (svg_1_1)⁨REC⁩مُدَّعى⁨low⁩مجموعة فرعية من رسم ⁨SVG⁩ السطري في Renderer/PaintCommand/؛ لا تجهيزة لمصفوفة ⁨CSS.⁩
‏⁨W3C SVG 2.0⁩ (svg_2_0)⁨CR⁩غير معروف⁨low⁩خاص بمسار ⁨Premium⁩؛ لا دليل في ⁨Core.⁩
‏⁨W3C PNG⁩ الإصدار الثالث (png_3)⁨WD⁩مُدَّعى⁨low⁩فكّ ترميز ⁨PNG⁩ في وحدة Graphics/ (خارج ⁨HTML/CSS⁩).
‏⁨W3C WOFF 1.0⁩ (woff_1_0)⁨REC⁩مُدَّعى⁨low⁩‏⁨WOFF⁩ عبر مكدّس الخطوط؛ لا تجهيزة لمصفوفة ⁨CSS.⁩
‏⁨W3C WOFF 2.0⁩ (woff_2_0)⁨REC⁩مُدَّعى⁨low⁩‏⁨WOFF2⁩ عبر مكدّس الخطوط؛ لا تجهيزة لمصفوفة ⁨CSS.⁩
‏⁨W3C WCAG 2.2⁩ (wcag_2_2)⁨REC⁩مُتحقَّق منه⁨medium⁩src/Html/Aam/، tests/Unit/Accessibility/HtmlAam/ (4 ملفات) — ⁨PDF/UA-2.⁩
‏⁨W3C WAI-ARIA 1.2⁩ (wai_aria_1_2)⁨REC⁩مُتحقَّق منه⁨medium⁩tests/Unit/Accessibility/HtmlAam/ (4 ملفات).
‏⁨W3C ARIA Bundle⁩ (w3c_aria_bundle)⁨REC⁩مُدَّعى⁨low⁩حزمة إرشادية؛ الدليل الملموس هو صف ⁨WAI-ARIA.⁩
‏⁨W3C AAM Bundle⁩ (w3c_aam_bundle)⁨NOTE⁩مُدَّعى⁨low⁩يدل على الحزمة؛ الدليل هو صفّا ⁨WAI-ARIA/WCAG.⁩
‏⁨W3C ATAG 2.0⁩ (atag_2_0)⁨REC⁩غير مدعوم⁨high⁩إتاحة أداة التأليف؛ غير منطبقة.
‏⁨W3C XSL 1.1⁩ (xsl_1_1)⁨REC⁩غير مدعوم⁨high⁩نموذج التنسيق الموازي ⁨XSL-FO⁩؛ غير مُنفَّذ.
‏⁨W3C XSD 1.1⁩ الجزء 1 (xsd_1_1_part1)⁨REC⁩غير مدعوم⁨high⁩مخطط ⁨XML⁩؛ غير منطبق.
‏⁨W3C XSLT 3.0⁩ (xslt_3_0)⁨REC⁩غير مدعوم⁨high⁩لغة تحويل؛ غير منطبقة.
‏⁨Resize Observer⁩ (resize_observer_1)⁨CR⁩غير مدعوم⁨high⁩واجهة برمجة تطبيقات المتصفّح في وقت التشغيل.

لكي يرتقي صف من claimedverified:

  1. توجد مجموعة تجهيزات مخصَّصة على مستوى الخصائص تحت tests/Unit/Html/<Module>/ (3 ملفات أو أكثر) أو يُرقّى جزء جوهري من مجموعة ⁨WPT⁩ (50 تجهيزة أو أكثر) تحت tests/Wpt/corpus/ إلى اختبار يؤكّد.
  2. تؤكّد التجهيزة سلوك ⁨NextPDF⁩ مقابل قواعد ⁨W3C⁩ النحوية لخصائص الوحدة الأساسية.
  3. تجتاز التجهيزة بحتمية ضمن NextPDF\Testing\ReproducibilityProfile (structural لتجهيزات التأكيد؛ ‏bitwise فقط بمجرد توفّر خطوط أساس ⁨PDF⁩ ذهبية لكل وحدة).
  4. يتحوّل nextpdf_status الخاص بالصف في الملف داخل المستودع css-support-matrix-data.yaml إلى verified، مع تحديث fixture_path وrepro_profile وconfidence.

لكي يرتقي صف من unknownclaimed:

  1. تؤكّد جولة تدقيق دليل التنفيذ في src/Html/ (مع ذكر المسار في evidence + notes).
  2. تُفتح مشكلة استكمال وتُربط في backfill_issue.
  • تقرير حقيقة مصفوفة ⁨CSS⁩ (_css-matrix-truth-report.md، داخل المستودع) — فروق التدقيق ⁨before/after⁩، وتوزيع الثقة، وسجلّ إزالة التضخيم.
  • تدقيق تغطية خصائص ⁨CSS⁩ (architecture/css-property-coverage-audit.md، داخل المستودع) — تدقيق داخلي رباعي الحالة لكل خاصية (⁨Policy/Parsed/Applied/Rendered⁩).
  • ‏⁨ADR-027 v8.0.0⁩ كاسر (architecture/adr/ADR-027-v8-breaking.md، داخل المستودع) — إزالة آلية مصافحة إيقاف استخدام vertical-lr (القدرة محفوظة).
  • ‏⁨ADR-028 v9.0.0⁩ كاسر (architecture/adr/ADR-028-v9-breaking.md، داخل المستودع) — إزالة علامة تعداد ⁨Grid/Subgrid/⁩@container (القدرات محفوظة).
  • مشكلة تعقّب الاستكمال: https://github.com/nextpdf-labs/nextpdf/issues/614