NextPDF เรนเดอร์ Cascading Style Sheets (CSS) ตามข้อกำหนดที่เผยแพร่โดย World Wide Web Consortium (W3C) ใช้หน้านี้เพื่อตรวจสอบโมดูล CSS ทั้งหมดในคลังข้อกำหนดของ NextPDF และสถานะการรองรับที่ผ่านการตรวจสอบข้อเท็จจริงของแต่ละโมดูลในไปป์ไลน์การเรนเดอร์
การปรับปรุงนี้มาจากการตรวจสอบข้อเท็จจริง Wave 4 B2 (แผนหัวข้อ 4.4) การปรับปรุงเชิงโครงสร้างก่อนหน้านี้ใช้ป้ายตัวยึดที่ยังไม่ผ่านการตรวจสอบ การตรวจสอบครั้งนี้จึงจัดระดับทุกแถวใหม่เทียบกับหลักฐานจริงบนดิสก์ (src/Html/, tests/, tests/Wpt/corpus/) บันทึกการตัดสินใจทางสถาปัตยกรรมของการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ v8/v9 (ADRs) และการตรวจสอบความครอบคลุมคุณสมบัติ CSS ภายใน การตรวจสอบให้ความสำคัญกับความซื่อตรงมากกว่าความครอบคลุม เมื่อหลักฐานทำให้ป้ายต้องลดระดับ ป้ายก็ถูกลดระดับตามนั้น
ใช้ป้ายสี่แบบเพื่อจำแนกแต่ละแถวภายใต้สัญญาการตรวจสอบ:
- Verified — มีการพัฒนาใน
src/Html/ พร้อมกับฟิกซ์เจอร์อัตโนมัติเฉพาะที่มีเนื้อหาสำคัญ ได้แก่ ชุดทดสอบระดับคุณสมบัติที่มีไฟล์สามไฟล์ขึ้นไปภายใต้ tests/Unit/Html/<Module>/ หรือชาร์ดคลัง Web Platform Tests (WPT) ที่มีฟิกซ์เจอร์ห้าสิบรายการขึ้นไปภายใต้ tests/Wpt/corpus/ ขณะนี้ยังไม่มีการเชื่อมต่อ baseline แบบโกลเดน Portable Document Format (PDF) แยกตามโมดูล CSS ดังนั้นแถวที่ verified จึงใช้โปรไฟล์ความสามารถในการทำซ้ำ structural (เทียบเท่าการยืนยันใน PHPUnit) ไม่ใช่ bitwise
- Claimed — พฤติกรรมของโมดูลมีการพัฒนาใน
src/Html/ (อ้างอิงเส้นทางต้นทาง) แต่ฟิกซ์เจอร์เฉพาะมีน้อย ใช้ร่วมกัน หรือไม่มี แต่ละแถวที่ claimed ซึ่งมีการพัฒนาเป็นรูปธรรมจะมี issue สำหรับการเติมย้อนหลัง
- Not supported — ไปป์ไลน์การเรนเดอร์ PDF แบบสแตติกไม่รวมโมดูลนี้ เช่น runtime/browser-only API, scrolling/animation runtime และงานที่ W3C ยกเลิกแล้ว แถวดังกล่าวมีการบันทึกเหตุผลไว้
- Unknown — โมดูลอยู่ในคลัง แต่การตรวจสอบไม่พบหลักฐานการพัฒนาหรือฟิกซ์เจอร์ การตรวจสอบไม่เคยคาดเดาให้สูงขึ้นเพื่อเพิ่มจำนวน
จากการปรับปรุงเชิงโครงสร้าง: partial badge ถูกยกเลิกแล้ว ทุกแถวที่เคยเป็น partial ถูกจัดระดับใหม่เป็น claimed (มีการพัฒนา แต่ไม่มีฟิกซ์เจอร์เฉพาะ) หรือ verified ทั้งหมด
| ป้าย | ความหมาย |
|---|
verified | src/Html/ + ชุดฟิกซ์เจอร์เฉพาะ (≥3 ไฟล์) หรือชาร์ด WPT (≥50 ฟิกซ์เจอร์) ผ่านได้อย่างกำหนดได้ภายใต้โปรไฟล์ structural ดังกล่าว |
claimed | มีหลักฐานการพัฒนาใน src/Html/ แต่ไม่มีฟิกซ์เจอร์เฉพาะ มีการติดตาม issue สำหรับการเติมย้อนหลัง |
not-supported | ถูกแยกออกจากขอบเขต PDF แบบสแตติกอย่างชัดเจน มีการบันทึกเหตุผลไว้ |
unknown | ไม่มีหลักฐานที่ระบุได้ ไม่มีการคาดเดาให้สูงขึ้น |
คอลัมน์ Confidence เป็นสัญญาณที่ซื่อตรงและไม่ใช่ค่าไบนารีสำหรับหลักฐานเบื้องหลังป้ายที่ระบุ (high / medium / low) ค่านี้เป็นอิสระจากตัวป้ายเอง
NextPDF รองรับโมดูล CSS ที่แสดงด้านล่างในระดับที่ระบุ แถว Verified มีชุดฟิกซ์เจอร์อัตโนมัติเฉพาะหรือชาร์ดคลัง WPT ที่มีเนื้อหาสำคัญซึ่งยืนยันพฤติกรรมของ NextPDF และผ่านได้อย่างกำหนดได้ภายใต้โปรไฟล์ความสามารถในการทำซ้ำ structural แถว Claimed มีหลักฐานการพัฒนาใน src/Html/ แต่ยังไม่มีฟิกซ์เจอร์เฉพาะ แต่ละแถวถูกติดตามด้วย issue สำหรับการเติมย้อนหลังภายใต้ tracking issue #614 แถว Not supported บันทึกขอบเขตที่ชัดเจนสำหรับเป้าหมาย PDF แบบสแตติก
ไม่มีแถวใดอ้างความสามารถในการทำซ้ำระดับไบต์ เนื่องจากการปรับปรุงนี้ไม่มี baseline PDF แบบโกลเดนต่อโมดูล CSS สัญญาการตรวจสอบห้ามแถวที่ว่างเปล่า เมื่อไม่สามารถระบุการรองรับได้ แถวนั้นจะเป็น unknown แทนการว่างเปล่า
| สถานะ | โมดูล | ความเชื่อมั่น (high / medium / low) |
|---|
| ผ่านการตรวจสอบแล้ว | 12 | 8 / 4 / 0 |
| อ้างว่ารองรับ | 49 | 0 / 35 / 14 |
| ไม่รองรับ | 67 | 62 / 5 / 0 |
| ไม่ทราบ | 39 | 0 / 0 / 39 |
| รวม | 167 | 70 / 44 / 53 |
จากการปรับปรุงเชิงโครงสร้าง: summary block ไม่สอดคล้องกันภายใน โดยระบุยอดรวม 148 (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown) ขณะที่ไฟล์มี 167 module rows ซึ่งเมื่อนับป้ายกำกับรวมได้เป็น 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown การตรวจสอบนี้แก้ไขยอดรวมให้ถูกต้องเป็น 167 และจัดระดับทุกแถวใหม่เทียบกับหลักฐานบนดิสก์: Verified ลดลงจาก 34 ที่เคยอ้างไว้เหลือ 12 รายการที่มีหลักฐานรองรับ การลดลงนี้เป็นผลที่ถูกต้องของการตรวจสอบที่ซื่อตรง ไม่ใช่การถดถอย ส่วนต่าง before/after แบบเต็มอยู่ในไฟล์ _css-matrix-truth-report.md ที่อยู่ในรีโป
การปรับปรุงเชิงโครงสร้างติดป้ายความสามารถที่ยังใช้งานได้สามรายการอย่างผิดพลาดว่าถูกนำออกหรือไม่รองรับ ADR-027 และ ADR-028 นำออกเพียง ExperimentalFeature enum opt-in markers เท่านั้น ความสามารถเหล่านี้ยังคง LIVE และเปิดใช้งานโดยค่าเริ่มต้น:
- Subgrid (
css_grid_2) — LIVE; CssFeatureFlags::$layoutSubgrid เปิดใช้งานโดยค่าเริ่มต้น รายการนี้ถูกติดป้ายผิดว่า “subgrid hard-removed v9.0.0”
@container queries (css_contain_2) — ADR-028 ระบุชัดเจนว่าไม่ได้เปลี่ยนการจัดส่งรันไทม์ และยังคงการ opt-out ของแฟล็กไว้ รายการนี้ถูกติดป้ายผิดว่า “hard-removed v9.0.0”
writing-mode: vertical-lr (css_writing_modes_3) — เปิดใช้งานโดยค่าเริ่มต้นและเสถียรตั้งแต่ v7.0.0; ADR-027 ปรับเฉพาะ deprecation handshake เท่านั้น รายการนี้ถูกติดป้ายผิดว่า “deprecated/removed v8.0.0”
ชุดแถวต่อโมดูลที่อ่านได้ด้วยเครื่องอยู่ในไฟล์ css-support-matrix-data.yaml ภายในรีโป ซึ่งเป็นแหล่งความจริง หน้านี้เป็นการแสดงผลสำหรับผู้อ่าน โดยจัดกลุ่มตามหมวดหมู่ คอมโพเนนต์ Astro ใช้ข้อมูล YAML โดยตรงระหว่างการบิลด์เอกสาร
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Flexible Box Layout — เค้าโครงกล่องแบบยืดหยุ่น (css_flexbox_1) | 1 | CR | Verified | high | src/Html/Flex/, tests/Unit/Html/Flex/ (50 ไฟล์) |
CSS Grid Layout (css_grid_1) | 1 | REC | Verified | high | src/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654) |
CSS Grid Layout — Subgrid — เค้าโครงกริดแบบซับกริด (css_grid_2) | 2 | CR | Claimed | medium | src/Html/Grid/Subgrid/ + ชาร์ด WPT 80 ฟิกซ์เจอร์ + การทดสอบการรวม 1 รายการ LIVE เปิดใช้งานโดยค่าเริ่มต้น (ADR-028 นำออกเพียงตัวมาร์ก enum เท่านั้น) |
CSS Grid Layout — Masonry — เค้าโครงกริดแบบ Masonry (css_grid_3) | 3 | ED | Not supported | high | Masonry อยู่นอกขอบเขตสำหรับ v5.x |
CSS Display (css_display_3) | 3 | CR | Claimed | medium | DisplayResolver.php + การทดสอบรีโซลเวอร์ ไม่มีชุดทดสอบคุณสมบัติเฉพาะ |
CSS Display (css_display_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน L4 |
CSS Positioned Layout (css_position_3) | 3 | WD | Verified | high | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 ไฟล์) |
CSS Positioned Layout (css_position_4) | 4 | ED | Unknown | low | position: sticky/anchor ไม่มีหลักฐาน |
CSS Box Alignment (css_align_3) | 3 | WD | Claimed | medium | มีการพัฒนาภายในเอนจิน Flex/Grid ไม่มีชุดทดสอบแยกต่างหาก |
CSS Box Sizing (css_sizing_3) | 3 | CR | Claimed | low | src/Html/Length/; การตรวจสอบ Phase 0 แสดงว่า width/height ส่วนใหญ่เป็น POLICY-ONLY |
CSS Box Sizing (css_sizing_4) | 4 | ED | Unknown | low | ไม่มีหลักฐานคีย์เวิร์ดขนาด intrinsic |
CSS Box Model (css_box_3) | 3 | WD | Claimed | medium | ขาดความครอบคลุม margin-collapse left/right ของโมเดลกล่องตามการตรวจสอบ Phase 0 Backfill #617 |
CSS Box Model (css_box_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Multi-column Layout (css_multicol_1) | 1 | CR | Claimed | medium | src/Html/MultiCol/; ไม่มีชุดทดสอบคุณสมบัติ |
CSS Multi-column Layout (css_multicol_2) | 2 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Fragmentation (css_break_3) | 3 | CR | Verified | medium | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 ไฟล์) |
CSS Fragmentation (css_break_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Containment (css_contain_1) | 1 | REC | Not supported | medium | ไม่มี contain layout/paint applicator และไม่มีโมเดลอัปเดตแบบเรียลไทม์ |
CSS Containment — @container (css_contain_2) | 2 | CR | Claimed | low | ชาร์ด WPT 114 ฟิกซ์เจอร์ + โมเดล retained-layout ของ ADR-017/021 รันไทม์ LIVE (ADR-028 นำออกเพียงตัวมาร์ก enum เท่านั้น) |
CSS Containment (css_contain_3) | 3 | ED | Not supported | medium | การจำกัดสไตล์อยู่นอกขอบเขต |
CSS Inline Layout (css_inline_3) | 3 | WD | Claimed | medium | src/Html/Layout/InlineLayout/ + การทดสอบ 8 รายการ initial-letter ไม่มีหลักฐาน |
CSS Logical Properties (css_logical_1) | 1 | WD | Claimed | medium | รีโซลเวอร์ WritingMode logical→physical ไม่มีฟิกซ์เจอร์เฉพาะ text-align: start/end เชิงตรรกะถูกแก้เทียบกับ direction — ภายใต้ direction: rtl นั้น start คือขอบด้านขวา — และนำไปใช้ในเซลล์ตารางแล้ว |
CSS Page Floats (css_page_floats_3) | 3 | ED | Not supported | high | อยู่นอกขอบเขตสำหรับ v5.x |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Not supported | high | การแบ่งหน้าหลายภูมิภาคอยู่นอกขอบเขต |
CSS Exclusions (css_exclusions_1) | 1 | WD | Not supported | high | Tier C ไม่มีข้อผูกพันในโรดแมป |
CSS Regions (css_regions_1) | 1 | WD | Not supported | high | ยกเลิกโดย W3C |
CSS Template Layout (css_template_1) | 1 | NOTE | Not supported | high | อยู่นอกขอบเขต |
CSS Layout API (css_layout_api_1) | 1 | WD | Not supported | high | รันไทม์เวิร์กเล็ตไม่สามารถใช้ได้ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Backgrounds and Borders (css_backgrounds_3) | 3 | CR | Claimed | medium | src/Html/Background/, BorderRenderer.php; bg-color ใช้เฉพาะกับ Table ตามการตรวจสอบ Phase 0 Backfill #628 |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Borders and Box Decorations (css_borders_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Masking (css_masking_1) | 1 | CR | Not supported | medium | clip-path/mask ไม่ถูกส่งไปยังตัวดำเนินการคลิปของ PDF |
CSS Shadow Module (css_shadow_1) | 1 | ED | Claimed | medium | src/Html/Shadow/ (BoxShadowRenderer) ไม่มีฟิกซ์เจอร์เฉพาะ |
CSS Shapes (css_shapes_1) | 1 | CR | Not supported | high | shape-outside อยู่นอกขอบเขตสำหรับ v5.x |
CSS Shapes (css_shapes_2) | 2 | ED | Not supported | high | อยู่นอกขอบเขต |
Filter Effects (filter_effects_1) | 1 | WD | Not supported | high | ไม่ได้ส่ง filter primitive ของ SVG ไปยัง PDF |
Filter Effects (filter_effects_2) | 2 | ED | Not supported | high | อยู่นอกขอบเขต |
Compositing and Blending (compositing_1) | 1 | CR | Claimed | medium | การจับคู่ blend-mode ของ PDF ใน PaintCommand/; การทดสอบ blend-mode 1 รายการ |
Compositing (compositing_2) | 2 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Fill and Stroke (fill_stroke_3) | 3 | ED | Unknown | low | ไม่มีหลักฐาน |
Geometry Interfaces (geometry_1) | 1 | CR | Not supported | high | API รันไทม์ของ DOM Matrix |
DOMMatrix (matrix) | 1 | NOTE | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
Motion Path (motion_1) | 1 | WD | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Verified | medium | src/Html/Font/, tests/Unit/Font/ (9) + การทดสอบ FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Verified | high | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 ไฟล์) |
CSS Fonts (css_fonts_5) | 5 | ED | Unknown | low | font-tech() ไม่มีหลักฐาน |
CSS Font Loading (css_font_loading_3) | 3 | WD | Not supported | high | JS FontFace API เป็นรันไทม์ ส่วนการโหลดฝั่ง PHP ทำผ่าน FontResolver |
CSS Text (css_text_3) | 3 | CR | Claimed | medium | src/Html/Text/ + การทดสอบ 5 รายการ Phase 0 FULL สำหรับ align/indent/spacing, white-space <pre> เท่านั้น Backfill #618 |
CSS Text (css_text_4) | 4 | ED | Claimed | medium | src/Html/Layout/Hyphenation/ + การทดสอบกลยุทธ์ คุณสมบัติ L4 อื่นยังรอดำเนินการ |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Claimed | medium | src/Html/Text/; Phase 0 FULL แต่ไม่มีฟิกซ์เจอร์เฉพาะ Backfill #619 |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Unknown | low | text-emphasis ไม่มีหลักฐาน |
CSS Ruby (css_ruby_1) | 1 | WD | Not supported | high | คำอธิบายประกอบ Ruby อยู่นอกขอบเขตสำหรับ v5.x |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Claimed | medium | src/Html/Layout/WritingMode/ (7 การทดสอบ) + ชาร์ด WPT 140 ฟิกซ์เจอร์ vertical-lr LIVE เปิดใช้งานโดยค่าเริ่มต้น (ADR-027) direction: rtl ใช้งานได้จริง — การจัดเรียงสองทิศทางตาม UAX#9 รวมกับการ shape ตามบริบทของอาหรับ พร้อมการจัดแนวชิดด้าน start ของเซลล์ตาราง ยังไม่ได้ใช้การจัดแนวบล็อกที่ไม่ใช่ตารางและ justify และแอตทริบิวต์ dir ของ HTML ไม่ถูกแมป (ใช้ CSS direction) ดู Render right-to-left Arabic HTML Backfill #629 |
CSS Writing Modes (css_writing_modes_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Speech (css_speech_1) | 1 | CR | Not supported | high | การเรนเดอร์เสียงไม่สามารถใช้ได้ |
CSS Mobile Text Size Adjustment (css_size_adjust_1) | 1 | ED | Not supported | high | คำใบ้ UA สำหรับมือถือไม่สามารถใช้ได้ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Color (css_color_3) | 3 | REC | Claimed | medium | src/Html/Color/, NamedColors.php + การทดสอบตัวแยกวิเคราะห์ ไม่มีฟิกซ์เจอร์ของโมดูล Backfill #620 |
CSS Color (css_color_4) | 4 | CR | Claimed | medium | มีการแยกวิเคราะห์ Lab/LCH/OKLab แต่ยังไม่ได้ยืนยันความเที่ยงตรงของคัลเลอร์สเปซ PDF |
CSS Color (css_color_5) | 5 | WD | Unknown | low | color-mix() ไม่มีหลักฐาน |
CSS Color (css_color_6) | 6 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Not supported | high | color-scheme ขับเคลื่อนโดย UA จึงไม่สามารถใช้ได้ |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Not supported | high | ไม่ได้ส่ง HDR ไปยังคัลเลอร์สเปซของ PDF |
CSS Images (css_images_3) | 3 | CR | Claimed | medium | src/Html/Gradient/ (linear/radial/conic) + การทดสอบตัวแยกวิเคราะห์ |
CSS Images (css_images_4) | 4 | ED | Unknown | low | image()/image-set() ไม่มีหลักฐาน |
CSS Images (css_images_5) | 5 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Image Animation (css_image_animation_1) | 1 | ED | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Selectors (selectors_3) | 3 | REC | Claimed | medium | HasSelectorResolver.php + การทดสอบ CssRule โดยมีฟิกซ์เจอร์เป็นไฟล์ corpus.json Backfill #627 |
CSS Selectors (selectors_4) | 4 | WD | Claimed | medium | :is()/:where()/:not()/:has() ทดสอบแล้ว L4 ขั้นสูงยังรอดำเนินการ |
CSS Selectors (selectors_5) | 5 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Non-element Selectors (selectors_nonelement_1) | 1 | WD | Not supported | high | ฮุก browser-stylesheet ไม่สามารถใช้ได้ |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Claimed | medium | src/Html/Pseudo/ (12) + การทดสอบเรนเดอเรอร์ ~10 รายการ ไม่มีชุดทดสอบของโมดูล |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Verified | high | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 ไฟล์) |
CSS Cascading (css_cascade_4) | 4 | CR | Verified | high | Cascade/Layer/ + revert/layer การทดสอบ |
CSS Cascading (css_cascade_5) | 5 | CR | Verified | high | AtRule/Layer/ + Cascade/Layer/ ชุดทดสอบ |
CSS Cascading (css_cascade_6) | 6 | WD | Unknown | low | @scope ไม่มีหลักฐาน |
CSS Values and Units (css_values_3) | 3 | REC | Claimed | medium | CssValueParser.php + การทดสอบยูนิต ฟิกซ์เจอร์เป็นไฟล์เดียว corpus.json Backfill #626 |
CSS Values and Units (css_values_4) | 4 | CR | Claimed | medium | calc() มีการพัฒนาแล้ว ส่วน min()/max()/clamp() แบบซ้อนกันยังไม่มีหลักฐานครบถ้วน |
CSS Values and Units (css_values_5) | 5 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Custom Properties (css_variables_1) | 1 | CR | Claimed | medium | src/Html/CustomProperty/ + การทดสอบความครอบคลุมขอบเขต |
CSS Custom Properties (css_variables_2) | 2 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Claimed | medium | @media/@supports ทดสอบการแยกวิเคราะห์แล้ว @container คงรันไทม์ไว้ (ADR-028) |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Namespaces (css_namespaces_3) | 3 | REC | Claimed | low | ตัวแยกวิเคราะห์ยอมรับ @namespace; ไม่มีความครอบคลุมการจับคู่ |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Claimed | medium | การแยกวิเคราะห์ style ครอบคลุมทั่วทั้งไปป์ไลน์ ไม่มีฟิกซ์เจอร์เฉพาะ Backfill #622 |
CSS Syntax (css_syntax_3) | 3 | CR | Claimed | medium | CssParser/ + การทดสอบ grammar/fuzz ไม่มีฟิกซ์เจอร์การปฏิบัติตามมาตรฐาน Backfill #623 |
CSS Nesting (css_nesting_1) | 1 | CR | Claimed | medium | เลื่อนระดับจาก unknown — CssNestingTest + การทดสอบ desugar/inner-scan |
CSS Environment Variables (css_env_1) | 1 | ED | Not supported | medium | ขับเคลื่อนโดย UA env(); ไม่สามารถใช้ได้ |
CSS Custom Functions and Mixins (css_mixins_1) | 1 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Extensions (css_extensions_1) | 1 | NOTE | Unknown | low | ไม่มีหลักฐาน |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Lists and Counters (css_lists_3) | 3 | WD | Claimed | medium | HtmlListRenderer.php/CssCounterManager.php + การทดสอบ 18 รายการ ไม่ได้ใช้ list-style-type กับ ol/ul (Phase 0) |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Claimed | medium | สไตล์ตัวนับในตัว @counter-style ยังรอดำเนินการ |
CSS Generated Content (css_content_3) | 3 | WD | Claimed | medium | CssContentSegment.php + การทดสอบ pseudo โดยข้ามตัวนำไปใช้ (Phase 0) Backfill #621 |
CSS Generated Content for Paged Media (css_gcpm_3) | 3 | WD | Claimed | medium | src/Html/Gcpm/ รีจิสทรี + การทดสอบการดักจับเชิงอรรถ |
CSS Generated Content for Paged Media (css_gcpm_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Claimed | medium | Page/, PagedMedia/, PageRule.php + การทดสอบ PageRuleParser/PageMarginBox tests/Unit/Html/Page/ มี 1 ไฟล์ Backfill #624 |
CSS Paged Media (css_page_4) | 4 | NOTE | Unknown | low | ข้อเสนอในอนาคต |
CSS Print Profile (css_print) | 1 | NOTE | Claimed | low | เป้าหมาย PDF แบบสแตติกปฏิบัติตามข้อจำกัดการพิมพ์ ไม่มีฟิกซ์เจอร์การปฏิบัติตามมาตรฐาน |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Not supported | high | การนำทางแบบสไลด์แวร์ไม่สามารถใช้ได้ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Claimed | low | OverflowClip/ClipRect การทดสอบ การคลิปเฉพาะเซลล์ตารางเท่านั้น (Phase 0) |
CSS Overflow (css_overflow_4) | 4 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Overflow (css_overflow_5) | 5 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Not supported | high | รันไทม์การเลื่อนไม่สามารถใช้ได้ |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Not supported | high | รันไทม์การเลื่อนไม่สามารถใช้ได้ |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Not supported | high | รันไทม์การเลื่อนไม่สามารถใช้ได้ |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Not supported | high | รันไทม์การเลื่อนไม่สามารถใช้ได้ |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Not supported | high | รันไทม์ UA ไม่สามารถใช้ได้ |
CSS Basic User Interface (css_ui_3) | 3 | REC | Not supported | medium | cursor/resize UI ของเบราว์เซอร์เท่านั้น |
CSS Basic User Interface (css_ui_4) | 4 | WD | Not supported | high | รันไทม์ UA ไม่สามารถใช้ได้ |
CSS Form Control Styling (css_forms_1) | 1 | ED | Not supported | high | PDF แบบสแตติกไม่เรนเดอร์วิดเจ็ตฟอร์ม |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Not supported | high | รันไทม์ UA ไม่สามารถใช้ได้ |
CSS Route Matching (css_navigation_1) | 1 | ED | Not supported | high | รันไทม์ UA ไม่สามารถใช้ได้ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Table (css_tables_3) | 3 | WD | Verified | high | src/Html/Table/, tests/Unit/Html/Table/ (17) + การทดสอบ TableParser ~60 รายการ + golden PDF สังเคราะห์ 5 ไฟล์ใน tests/Corpus/tables/ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Claimed | medium | Renderer/Transform/ + ApplyTransformCommand.php; ไม่มีฟิกซ์เจอร์เฉพาะ |
CSS Transforms (css_transforms_2) | 2 | ED | Unknown | low | ไม่มีหลักฐานการแปลงแบบ 3D |
CSS Animations (css_animations_1) | 1 | WD | Not supported | high | ไทม์ไลน์แอนิเมชันไม่สามารถใช้ได้กับ PDF แบบสแตติก |
CSS Animations (css_animations_2) | 2 | ED | Not supported | high | อยู่นอกขอบเขต |
CSS Transitions (css_transitions_1) | 1 | WD | Not supported | high | อยู่นอกขอบเขต |
CSS Transitions (css_transitions_2) | 2 | ED | Not supported | high | อยู่นอกขอบเขต |
CSS Easing Functions (css_easing_1) | 1 | CR | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
CSS Easing Functions (css_easing_2) | 2 | ED | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
Web Animations (web_animations_1) | 1 | WD | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
Web Animations (web_animations_2) | 2 | ED | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
Web Animations CSS Integration (web_animations_css_integration) | 1 | ED | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
Animation Triggers (animation_triggers) | 1 | ED | Not supported | high | เฉพาะแอนิเมชันเท่านั้น |
Pointer-driven Animations (pointer_animations_1) | 1 | ED | Not supported | high | อีเวนต์อินพุตรันไทม์ไม่สามารถใช้ได้ |
Scroll-driven Animations (scroll_animations_1) | 1 | ED | Not supported | high | รันไทม์การเลื่อนไม่สามารถใช้ได้ |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Not supported | high | รันไทม์เวิร์กเล็ตของเบราว์เซอร์ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Unknown | low | ไม่มี anchor() ต้นทาง |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
CSS Properties and Values API (css_properties_values_api_1) | 1 | CR | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
CSS Painting API (css_paint_api_1) | 1 | WD | Not supported | high | รันไทม์เวิร์กเล็ตของเบราว์เซอร์ |
CSS Typed OM (css_typed_om_1) | 1 | WD | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
CSSOM (cssom_1) | 1 | WD | Not supported | high | API DOM ของเบราว์เซอร์ |
CSSOM View (cssom_view_1) | 1 | WD | Not supported | high | API DOM ของเบราว์เซอร์ |
CSS Will Change (css_will_change_1) | 1 | CR | Not supported | high | คำใบ้การเพิ่มประสิทธิภาพของเบราว์เซอร์ |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Unknown | low | ไม่มีหลักฐาน |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Unknown | low | ไม่มีหลักฐาน |
CSS Round Display (css_round_display_1) | 1 | ED | Not supported | high | เป้าหมายจอแสดงผลแบบวงกลมไม่สามารถใช้ได้ |
CSS Shaders (css_shaders_1) | 1 | NOTE | Not supported | high | นำออกโดย W3C |
CSS Viewport (css_viewport_1) | 1 | NOTE | Not supported | high | viewport ของ UA ไม่สามารถใช้ได้ |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Claimed | medium | CssParser/ + การทดสอบความครอบคลุม media-query แต่ไม่มีฟิกซ์เจอร์เฉพาะ Backfill #625 |
Media Queries (mediaqueries_4) | 4 | CR | Claimed | medium | @media print/prefers-color-scheme แยกวิเคราะห์แล้ว ไวยากรณ์ range ยังรอดำเนินการ |
Media Queries (mediaqueries_5) | 5 | WD | Unknown | low | ไม่มีหลักฐาน |
| โมดูล W3C | ระดับ | ระยะ W3C | สถานะ | ความเชื่อมั่น | หลักฐาน |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Claimed | low | พื้นฐานแบบกระจายทั่ว src/Html/; ไม่มีฟิกซ์เจอร์การปฏิบัติตามมาตรฐานเดียว |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Claimed | low | พื้นฐานแบบกระจาย ไม่มีฟิกซ์เจอร์เฉพาะ |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Claimed | low | ดัชนีของโมดูลอื่น สถานะเป็นการรวมของแถวที่อ้างถึง |
โมดูล W3C เหล่านี้ปรากฏในคลัง แต่อยู่นอกไปป์ไลน์การเรนเดอร์ CSS เมื่อเหมาะสม หน้าฟีเจอร์ที่เกี่ยวข้องจะลิงก์ไปยังโมดูลเหล่านี้
| โมดูล W3C | W3C | สถานะ | ความเชื่อมั่น | ที่ไหน |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Claimed | low | ชุดย่อยการวาด SVG แบบอินไลน์ใน Renderer/PaintCommand/; ไม่มีฟิกซ์เจอร์ CSS-matrix |
W3C SVG 2.0 (svg_2_0) | CR | Unknown | low | เป็นเรื่องของไปป์ไลน์ Premium ไม่มีหลักฐานใน Core |
W3C PNG 3rd Edition (png_3) | WD | Claimed | low | การถอดรหัส PNG ใน Graphics/ โมดูล (อยู่นอก HTML/CSS) |
W3C WOFF 1.0 (woff_1_0) | REC | Claimed | low | WOFF ผ่านสแตก Font ไม่มีฟิกซ์เจอร์ CSS-matrix |
W3C WOFF 2.0 (woff_2_0) | REC | Claimed | low | WOFF2 ผ่านสแตก Font ไม่มีฟิกซ์เจอร์ CSS-matrix |
W3C WCAG 2.2 (wcag_2_2) | REC | Verified | medium | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 ไฟล์) — PDF/UA-2 |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Verified | medium | tests/Unit/Accessibility/HtmlAam/ (4 ไฟล์) |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Claimed | low | บันเดิลคำแนะนำ หลักฐานที่เป็นรูปธรรมคือแถว WAI-ARIA |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Claimed | low | ตัวชี้บันเดิล หลักฐานคือแถว WAI-ARIA/WCAG |
W3C ATAG 2.0 (atag_2_0) | REC | Not supported | high | การเข้าถึงของเครื่องมือสร้างเนื้อหา ไม่สามารถใช้ได้ |
W3C XSL 1.1 (xsl_1_1) | REC | Not supported | high | โมเดลการจัดรูปแบบคู่ขนาน XSL-FO ไม่ได้พัฒนา |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Not supported | high | สคีมา XML ไม่สามารถใช้ได้ |
W3C XSLT 3.0 (xslt_3_0) | REC | Not supported | high | ภาษาการแปลง ไม่สามารถใช้ได้ |
Resize Observer (resize_observer_1) | CR | Not supported | high | API รันไทม์ของเบราว์เซอร์ |
เพื่อให้แถวเลื่อนระดับจาก claimed → verified:
- มีชุดฟิกซ์เจอร์ระดับคุณสมบัติเฉพาะอยู่ภายใต้
tests/Unit/Html/<Module>/ (≥3 ไฟล์) หรือชาร์ดคลัง WPT ที่มีเนื้อหาสำคัญ (≥50 ฟิกซ์เจอร์) ภายใต้ tests/Wpt/corpus/ ถูกเลื่อนเป็นการทดสอบที่ยืนยันค่า
- ฟิกซ์เจอร์ยืนยันพฤติกรรมของ NextPDF เทียบกับไวยากรณ์ W3C สำหรับคุณสมบัติหลักของโมดูล
- ฟิกซ์เจอร์ผ่านอย่างกำหนดได้ภายใต้
NextPDF\Testing\ReproducibilityProfile (structural สำหรับฟิกซ์เจอร์การยืนยันค่า bitwise เฉพาะเมื่อมี baseline PDF แบบโกลเดนต่อโมดูลแล้วเท่านั้น)
- ค่า
nextpdf_status ในไฟล์ css-support-matrix-data.yaml ที่อยู่ในรีโปจะเปลี่ยนเป็น verified พร้อมกับ fixture_path, repro_profile และ confidence ได้รับการอัปเดต
เพื่อให้แถวเลื่อนระดับจาก unknown → claimed:
- รอบการตรวจสอบยืนยันหลักฐานการพัฒนาใน
src/Html/ (อ้างอิงเส้นทางใน evidence + notes)
- มีการเปิด issue สำหรับการเติมย้อนหลังและลิงก์ไว้ในฟิลด์
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 BREAKING (
architecture/adr/ADR-027-v8-breaking.md, อยู่ในรีโป) — vertical-lr การปรับ deprecation-handshake (คงความสามารถไว้)
- ADR-028 v9.0.0 BREAKING (
architecture/adr/ADR-028-v9-breaking.md, อยู่ในรีโป) — Grid/Subgrid/@container การนำตัวมาร์ก enum ออก (คงความสามารถไว้)
- Issue ติดตามการเติมย้อนหลัง: https://github.com/nextpdf-labs/nextpdf/issues/614