NextPDF mengimplementasikan rendering Cascading Style Sheets (CSS) berdasarkan spesifikasi World Wide Web Consortium (W3C) yang diterbitkan. Gunakan halaman ini untuk meninjau setiap modul CSS dalam korpus spesifikasi NextPDF beserta status dukungan modul tersebut yang telah diaudit kebenarannya dalam alur rendering.
Revisi ini berasal dari audit kebenaran Wave 4 B2 (rencana bagian 4.4). Revisi struktural sebelumnya memakai lencana placeholder yang belum diverifikasi. Audit ini menilai ulang setiap baris terhadap bukti nyata di disk (src/Html/, tests/, tests/Wpt/corpus/), catatan keputusan arsitektur (ADR) untuk breaking change v8/v9, dan audit cakupan properti CSS internal. Audit memprioritaskan kejujuran di atas cakupan: jika bukti mengharuskan sebuah lencana diturunkan, lencana tersebut diturunkan.
Empat lencana berikut mengklasifikasikan setiap baris menurut kontrak verifikasi:
- Terverifikasi — Implementasi di
src/Html/ disertai fikstur otomatis khusus yang substantif: baik suite tingkat properti berisi tiga berkas atau lebih di bawah tests/Unit/Html/<Module>/, maupun shard korpus Web Platform Tests (WPT) berisi lima puluh fikstur atau lebih di bawah tests/Wpt/corpus/. Belum tersedia baseline golden Portable Document Format (PDF) per modul CSS, sehingga baris terverifikasi menggunakan profil reproduktibilitas structural (kesetaraan asersi PHPUnit), tidak pernah bitwise.
- Diklaim — Perilaku modul diimplementasikan di
src/Html/ (jalur sumber dikutip), tetapi cakupan fikstur khususnya minim, digunakan bersama, atau tidak ada. Setiap baris berstatus diklaim yang memiliki implementasi konkret memiliki satu isu backfill.
- Tidak didukung — Alur rendering PDF statis tidak menyertakan modul ini: API runtime/browser-only, runtime scrolling/animation, dan pekerjaan yang telah dihentikan W3C. Baris tersebut mencatat alasannya.
- Tidak diketahui — Modul ada dalam korpus, tetapi audit tidak menemukan bukti implementasi atau fikstur. Audit tidak pernah menaikkan status berdasarkan tebakan sekadar untuk memperbesar jumlah.
Lencana partial dari revisi struktural tidak lagi digunakan: setiap baris partial lama dinilai ulang menjadi claimed (implementasi ada, tidak ada fikstur khusus) atau verified.
| Lencana | Arti |
|---|
verified | src/Html/ + suite fikstur khusus (≥3 berkas) atau shard WPT (≥50 fikstur); lulus secara deterministik dengan profil structural. |
claimed | Ada bukti implementasi di src/Html/, tetapi tidak ada fikstur khusus. Isu backfill dilacak. |
not-supported | Dikecualikan secara eksplisit dari cakupan PDF statis. Alasannya dicatat. |
unknown | Tidak ada bukti yang dapat ditentukan. Status tidak dinaikkan berdasarkan tebakan. |
Kolom Keyakinan adalah sinyal non-biner yang secara jujur mencerminkan bukti di balik lencana yang dinyatakan (high / medium / low). Nilai ini independen dari lencana itu sendiri.
NextPDF mendukung modul CSS yang tercantum di bawah ini pada level yang dicatat. Baris Terverifikasi memiliki suite fikstur otomatis khusus atau shard korpus WPT substantif yang menegaskan perilaku NextPDF dan lulus secara deterministik dengan profil reproduktibilitas structural. Baris Diklaim memiliki bukti implementasi di src/Html/, tetapi belum memiliki fikstur khusus; setiap baris dilacak melalui satu isu backfill di bawah isu pelacakan #614. Baris Tidak didukung mendokumentasikan batas cakupan eksplisit untuk target PDF statis.
Tidak ada baris yang mengklaim reproduktibilitas tingkat bita karena revisi ini belum memiliki baseline golden PDF per modul CSS. Kontrak verifikasi melarang baris tanpa status: ketika dukungan tidak dapat ditentukan, baris tersebut ditetapkan sebagai unknown.
| Status | Modul | Keyakinan (high / medium / low) |
|---|
| Terverifikasi | 12 | 8 / 4 / 0 |
| Diklaim | 49 | 0 / 35 / 14 |
| Tidak didukung | 67 | 62 / 5 / 0 |
| Tidak diketahui | 39 | 0 / 0 / 39 |
| Total | 167 | 70 / 44 / 53 |
Pada revisi struktural, blok summary tidak konsisten secara internal: blok itu menyatakan total 148 (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), sementara berkasnya berisi 167 baris modul dengan label berjumlah 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Audit ini mengoreksi totalnya menjadi 167 yang sebenarnya dan menilai ulang setiap baris terhadap bukti di disk: Terverifikasi turun dari 34 yang diklaim menjadi 12 yang terbukti. Pengurangan itu adalah hasil yang benar dari audit yang jujur, bukan regresi. Delta before/after lengkap tersedia dalam sidecar _css-matrix-truth-report.md di dalam repo.
Revisi struktural salah melabeli tiga kapabilitas aktif sebagai dihapus atau tidak didukung. ADR-027 dan ADR-028 hanya menghapus penanda opt-in enum ExperimentalFeature; kapabilitasnya tetap AKTIF dan default-on:
- Subgrid (
css_grid_2) — AKTIF; CssFeatureFlags::$layoutSubgrid aktif secara default. Ini salah dilabeli “subgrid hard-removed v9.0.0”.
- Kueri
@container (css_contain_2) — dispatch runtime secara eksplisit tidak diubah oleh ADR-028; opt-out flag dipertahankan. Ini salah dilabeli “hard-removed v9.0.0”.
writing-mode: vertical-lr (css_writing_modes_3) — default-on stabil sejak v7.0.0; ADR-027 hanya mengakhiri handshake deprekasi. Ini salah dilabeli “deprecated/removed v8.0.0”.
Rowset per modul yang dapat dibaca mesin berada dalam css-support-matrix-data.yaml di dalam repo dan menjadi sumber kebenaran. Halaman ini adalah proyeksi yang dapat dibaca manusia dan dikelompokkan menurut kategori. Komponen Astro mengonsumsi data YAML secara langsung selama build dokumentasi.
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Flexible Box Layout (css_flexbox_1) | 1 | CR | Terverifikasi | high | src/Html/Flex/, tests/Unit/Html/Flex/ (50 berkas) |
CSS Grid Layout (css_grid_1) | 1 | REC | Terverifikasi | high | src/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654) |
CSS Grid Layout — Subgrid (css_grid_2) | 2 | CR | Diklaim | medium | src/Html/Grid/Subgrid/ + shard WPT 80-fikstur + 1 uji integrasi. AKTIF default-on (ADR-028 hanya menghapus penanda enum). |
CSS Grid Layout — Masonry (css_grid_3) | 3 | ED | Tidak didukung | high | Masonry di luar cakupan untuk v5.x. |
CSS Display (css_display_3) | 3 | CR | Diklaim | medium | DisplayResolver.php + uji resolver; tidak ada suite properti khusus. |
CSS Display (css_display_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti L4. |
CSS Positioned Layout (css_position_3) | 3 | WD | Terverifikasi | high | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 berkas) |
CSS Positioned Layout (css_position_4) | 4 | ED | Tidak diketahui | low | position: sticky/anchor tidak terbukti. |
CSS Box Alignment (css_align_3) | 3 | WD | Diklaim | medium | Diimplementasikan dalam mesin Flex/Grid; tidak ada suite mandiri. |
CSS Box Sizing (css_sizing_3) | 3 | CR | Diklaim | low | src/Html/Length/; audit Phase 0 menunjukkan width/height sebagian besar masih POLICY-ONLY. |
CSS Box Sizing (css_sizing_4) | 4 | ED | Tidak diketahui | low | Kata kunci ukuran intrinsik tidak terbukti. |
CSS Box Model (css_box_3) | 3 | WD | Diklaim | medium | Cakupan margin-collapse; model kotak left/right hilang menurut audit Phase 0. Backfill #617. |
CSS Box Model (css_box_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Multi-column Layout (css_multicol_1) | 1 | CR | Diklaim | medium | src/Html/MultiCol/; tidak ada suite properti. |
CSS Multi-column Layout (css_multicol_2) | 2 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Fragmentation (css_break_3) | 3 | CR | Terverifikasi | medium | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 berkas) |
CSS Fragmentation (css_break_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Containment (css_contain_1) | 1 | REC | Tidak didukung | medium | Tidak ada aplikator contain layout/paint; tidak ada model live-update. |
CSS Containment — @container (css_contain_2) | 2 | CR | Diklaim | low | Shard WPT 114-fikstur + model retained-layout ADR-017/021. Runtime AKTIF (ADR-028 hanya menghapus penanda enum). |
CSS Containment (css_contain_3) | 3 | ED | Tidak didukung | medium | Containment gaya di luar cakupan. |
CSS Inline Layout (css_inline_3) | 3 | WD | Diklaim | medium | src/Html/Layout/InlineLayout/ + 8 uji; initial-letter tidak terbukti. |
CSS Logical Properties (css_logical_1) | 1 | WD | Diklaim | medium | Resolver WritingMode logis→fisik; tidak ada fikstur khusus. text-align: start/end logis diselesaikan terhadap direction — di bawah direction: rtl, start adalah tepi kanan — dan diterapkan dalam sel tabel. |
CSS Page Floats (css_page_floats_3) | 3 | ED | Tidak didukung | high | Di luar cakupan untuk v5.x. |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Tidak didukung | high | Penomoran halaman multiregion di luar cakupan. |
CSS Exclusions (css_exclusions_1) | 1 | WD | Tidak didukung | high | Tier C; tidak ada komitmen peta jalan. |
CSS Regions (css_regions_1) | 1 | WD | Tidak didukung | high | Dihentikan oleh W3C. |
CSS Template Layout (css_template_1) | 1 | NOTE | Tidak didukung | high | Di luar cakupan. |
CSS Layout API (css_layout_api_1) | 1 | WD | Tidak didukung | high | Runtime worklet; tidak berlaku. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Backgrounds and Borders (css_backgrounds_3) | 3 | CR | Diklaim | medium | src/Html/Background/, BorderRenderer.php; bg-color hanya berlaku untuk Tabel menurut audit Phase 0. Backfill #628. |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Borders and Box Decorations (css_borders_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Masking (css_masking_1) | 1 | CR | Tidak didukung | medium | clip-path/mask tidak dirutekan ke operator clip PDF. |
CSS Shadow Module (css_shadow_1) | 1 | ED | Diklaim | medium | src/Html/Shadow/ (BoxShadowRenderer); tidak ada fikstur khusus. |
CSS Shapes (css_shapes_1) | 1 | CR | Tidak didukung | high | shape-outside di luar cakupan untuk v5.x. |
CSS Shapes (css_shapes_2) | 2 | ED | Tidak didukung | high | Di luar cakupan. |
Filter Effects (filter_effects_1) | 1 | WD | Tidak didukung | high | Primitif filter SVG tidak dirutekan ke PDF. |
Filter Effects (filter_effects_2) | 2 | ED | Tidak didukung | high | Di luar cakupan. |
Compositing and Blending (compositing_1) | 1 | CR | Diklaim | medium | Pemetaan blend-mode PDF di PaintCommand/; ada satu uji blend-mode. |
Compositing (compositing_2) | 2 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Fill and Stroke (fill_stroke_3) | 3 | ED | Tidak diketahui | low | Tidak ada bukti. |
Geometry Interfaces (geometry_1) | 1 | CR | Tidak didukung | high | API runtime DOM Matrix. |
DOMMatrix (matrix) | 1 | NOTE | Tidak didukung | high | API runtime peramban. |
Motion Path (motion_1) | 1 | WD | Tidak didukung | high | Hanya animasi. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Terverifikasi | medium | src/Html/Font/, tests/Unit/Font/ (9) + uji FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Terverifikasi | high | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 berkas) |
CSS Fonts (css_fonts_5) | 5 | ED | Tidak diketahui | low | font-tech() tidak terbukti. |
CSS Font Loading (css_font_loading_3) | 3 | WD | Tidak didukung | high | API runtime FontFace JS; pemuatan sisi PHP melalui FontResolver. |
CSS Text (css_text_3) | 3 | CR | Diklaim | medium | src/Html/Text/ + 5 uji; Phase 0 FULL untuk align/indent/spacing, white-space hanya-<pre>. Backfill #618. |
CSS Text (css_text_4) | 4 | ED | Diklaim | medium | src/Html/Layout/Hyphenation/ + uji strategi; properti L4 lainnya tertunda. |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Diklaim | medium | src/Html/Text/; Phase 0 FULL tetapi tidak ada fikstur khusus. Backfill #619. |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Tidak diketahui | low | text-emphasis tidak terbukti. |
CSS Ruby (css_ruby_1) | 1 | WD | Tidak didukung | high | Anotasi Ruby di luar cakupan untuk v5.x. |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Diklaim | medium | src/Html/Layout/WritingMode/ (7 uji) + shard WPT 140-fikstur. vertical-lr AKTIF default-on (ADR-027). direction: rtl berfungsi — penyusunan ulang dwiarah UAX#9 ditambah shaping kontekstual Arab, dengan perataan-awal sel-tabel. Perataan blok non-tabel dan justify belum diterapkan, dan atribut HTML dir tidak dipetakan (gunakan CSS direction). Lihat Render right-to-left Arabic HTML. Backfill #629. |
CSS Writing Modes (css_writing_modes_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Speech (css_speech_1) | 1 | CR | Tidak didukung | high | Perenderan aural tidak berlaku. |
CSS Mobile Text Size Adjustment (css_size_adjust_1) | 1 | ED | Tidak didukung | high | Petunjuk UA seluler; tidak berlaku. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Color (css_color_3) | 3 | REC | Diklaim | medium | src/Html/Color/, NamedColors.php + uji parser; tidak ada fikstur modul. Backfill #620. |
CSS Color (css_color_4) | 4 | CR | Diklaim | medium | Penguraian Lab/LCH/OKLab; fidelitas ruang warna PDF tidak ditegaskan. |
CSS Color (css_color_5) | 5 | WD | Tidak diketahui | low | color-mix() tidak terbukti. |
CSS Color (css_color_6) | 6 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Tidak didukung | high | color-scheme digerakkan UA; tidak berlaku. |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Tidak didukung | high | HDR tidak dirutekan ke ruang warna PDF. |
CSS Images (css_images_3) | 3 | CR | Diklaim | medium | src/Html/Gradient/ (linear/radial/conic) + uji parser. |
CSS Images (css_images_4) | 4 | ED | Tidak diketahui | low | image()/image-set() tidak terbukti. |
CSS Images (css_images_5) | 5 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Image Animation (css_image_animation_1) | 1 | ED | Tidak didukung | high | Hanya animasi. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Selectors (selectors_3) | 3 | REC | Diklaim | medium | HasSelectorResolver.php + uji CssRule; fiksturnya adalah satu corpus.json tunggal. Backfill #627. |
CSS Selectors (selectors_4) | 4 | WD | Diklaim | medium | :is()/:where()/:not()/:has() diuji; L4 lanjutan tertunda. |
CSS Selectors (selectors_5) | 5 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Non-element Selectors (selectors_nonelement_1) | 1 | WD | Tidak didukung | high | Kait lembar gaya peramban; tidak berlaku. |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Diklaim | medium | src/Html/Pseudo/ (12) + ~10 uji renderer; tidak ada suite modul. |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Terverifikasi | high | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 berkas) |
CSS Cascading (css_cascade_4) | 4 | CR | Terverifikasi | high | Cascade/Layer/ + uji revert/layer |
CSS Cascading (css_cascade_5) | 5 | CR | Terverifikasi | high | AtRule/Layer/ + suite Cascade/Layer/ |
CSS Cascading (css_cascade_6) | 6 | WD | Tidak diketahui | low | @scope tidak terbukti. |
CSS Values and Units (css_values_3) | 3 | REC | Diklaim | medium | CssValueParser.php + uji unit; fiksturnya adalah satu corpus.json tunggal. Backfill #626. |
CSS Values and Units (css_values_4) | 4 | CR | Diklaim | medium | calc() diimplementasikan; min()/max()/clamp() bersarang belum sepenuhnya terbukti. |
CSS Values and Units (css_values_5) | 5 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Custom Properties (css_variables_1) | 1 | CR | Diklaim | medium | src/Html/CustomProperty/ + uji cakupan scope. |
CSS Custom Properties (css_variables_2) | 2 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Diklaim | medium | Penguraian @media/@supports diuji; runtime @container dipertahankan (ADR-028). |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Namespaces (css_namespaces_3) | 3 | REC | Diklaim | low | Parser menoleransi @namespace; tidak ada cakupan pencocokan. |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Diklaim | medium | Penguraian style inline di seluruh alur; tidak ada fikstur khusus. Backfill #622. |
CSS Syntax (css_syntax_3) | 3 | CR | Diklaim | medium | CssParser/ + uji grammar/fuzz; tidak ada fikstur konformansi. Backfill #623. |
CSS Nesting (css_nesting_1) | 1 | CR | Diklaim | medium | Naik dari unknown — CssNestingTest + uji desugar/inner-scan. |
CSS Environment Variables (css_env_1) | 1 | ED | Tidak didukung | medium | env() digerakkan UA; tidak berlaku. |
CSS Custom Functions and Mixins (css_mixins_1) | 1 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Extensions (css_extensions_1) | 1 | NOTE | Tidak diketahui | low | Tidak ada bukti. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Lists and Counters (css_lists_3) | 3 | WD | Diklaim | medium | HtmlListRenderer.php/CssCounterManager.php + 18 uji; list-style-type tidak diterapkan ke ol/ul (Phase 0). |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Diklaim | medium | Gaya penghitung bawaan; @counter-style tertunda. |
CSS Generated Content (css_content_3) | 3 | WD | Diklaim | medium | CssContentSegment.php + uji pseudo; melewati aplikator (Phase 0). Backfill #621. |
CSS Generated Content for Paged Media (css_gcpm_3) | 3 | WD | Diklaim | medium | src/Html/Gcpm/ registri + uji footnote-capture. |
CSS Generated Content for Paged Media (css_gcpm_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Diklaim | medium | Page/, PagedMedia/, PageRule.php + uji PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ memiliki 1 berkas. Backfill #624. |
CSS Paged Media (css_page_4) | 4 | NOTE | Tidak diketahui | low | Usulan mendatang. |
CSS Print Profile (css_print) | 1 | NOTE | Diklaim | low | Target PDF statis menghormati kendala cetak; tidak ada fikstur konformansi. |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Tidak didukung | high | Navigasi slideware; tidak berlaku. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Diklaim | low | OverflowClip/ClipRect diuji; clipping hanya pada sel Tabel (Phase 0). |
CSS Overflow (css_overflow_4) | 4 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Overflow (css_overflow_5) | 5 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Tidak didukung | high | Runtime pengguliran; tidak berlaku. |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Tidak didukung | high | Runtime pengguliran; tidak berlaku. |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Tidak didukung | high | Runtime pengguliran; tidak berlaku. |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Tidak didukung | high | Runtime pengguliran; tidak berlaku. |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Tidak didukung | high | Runtime UA; tidak berlaku. |
CSS Basic User Interface (css_ui_3) | 3 | REC | Tidak didukung | medium | cursor/resize hanya untuk UI peramban. |
CSS Basic User Interface (css_ui_4) | 4 | WD | Tidak didukung | high | Runtime UA; tidak berlaku. |
CSS Form Control Styling (css_forms_1) | 1 | ED | Tidak didukung | high | Widget formulir tidak dirender oleh PDF statis. |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Tidak didukung | high | Hanya animasi. |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Tidak didukung | high | Hanya animasi. |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Tidak didukung | high | Runtime UA; tidak berlaku. |
CSS Route Matching (css_navigation_1) | 1 | ED | Tidak didukung | high | Runtime UA; tidak berlaku. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Table (css_tables_3) | 3 | WD | Terverifikasi | high | src/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 uji TableParser + 5 golden PDF sintetis di tests/Corpus/tables/ |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Diklaim | medium | Renderer/Transform/ + ApplyTransformCommand.php; tidak ada fikstur khusus. |
CSS Transforms (css_transforms_2) | 2 | ED | Tidak diketahui | low | Transformasi 3D tidak terbukti. |
CSS Animations (css_animations_1) | 1 | WD | Tidak didukung | high | Timeline animasi tidak berlaku untuk PDF statis. |
CSS Animations (css_animations_2) | 2 | ED | Tidak didukung | high | Di luar cakupan. |
CSS Transitions (css_transitions_1) | 1 | WD | Tidak didukung | high | Di luar cakupan. |
CSS Transitions (css_transitions_2) | 2 | ED | Tidak didukung | high | Di luar cakupan. |
CSS Easing Functions (css_easing_1) | 1 | CR | Tidak didukung | high | Hanya animasi. |
CSS Easing Functions (css_easing_2) | 2 | ED | Tidak didukung | high | Hanya animasi. |
Web Animations (web_animations_1) | 1 | WD | Tidak didukung | high | API runtime peramban. |
Web Animations (web_animations_2) | 2 | ED | Tidak didukung | high | API runtime peramban. |
Web Animations CSS Integration (web_animations_css_integration) | 1 | ED | Tidak didukung | high | API runtime peramban. |
Animation Triggers (animation_triggers) | 1 | ED | Tidak didukung | high | Hanya animasi. |
Pointer-driven Animations (pointer_animations_1) | 1 | ED | Tidak didukung | high | Peristiwa masukan runtime; tidak berlaku. |
Scroll-driven Animations (scroll_animations_1) | 1 | ED | Tidak didukung | high | Runtime pengguliran; tidak berlaku. |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Tidak didukung | high | Runtime worklet peramban. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Tidak diketahui | low | Tidak ada sumber anchor(). |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Tidak didukung | high | API runtime peramban. |
CSS Properties and Values API (css_properties_values_api_1) | 1 | CR | Tidak didukung | high | API runtime peramban. |
CSS Painting API (css_paint_api_1) | 1 | WD | Tidak didukung | high | Runtime worklet peramban. |
CSS Typed OM (css_typed_om_1) | 1 | WD | Tidak didukung | high | API runtime peramban. |
CSSOM (cssom_1) | 1 | WD | Tidak didukung | high | API DOM peramban. |
CSSOM View (cssom_view_1) | 1 | WD | Tidak didukung | high | API DOM peramban. |
CSS Will Change (css_will_change_1) | 1 | CR | Tidak didukung | high | Petunjuk optimasi peramban. |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Tidak diketahui | low | Tidak ada bukti. |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Tidak diketahui | low | Tidak ada bukti. |
CSS Round Display (css_round_display_1) | 1 | ED | Tidak didukung | high | Target tampilan bundar tidak berlaku. |
CSS Shaders (css_shaders_1) | 1 | NOTE | Tidak didukung | high | Dihapus oleh W3C. |
CSS Viewport (css_viewport_1) | 1 | NOTE | Tidak didukung | high | Viewport UA; tidak berlaku. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Diklaim | medium | CssParser/ + uji cakupan media-query; tidak ada fikstur khusus. Backfill #625. |
Media Queries (mediaqueries_4) | 4 | CR | Diklaim | medium | @media print/prefers-color-scheme diuraikan; sintaks rentang tertunda. |
Media Queries (mediaqueries_5) | 5 | WD | Tidak diketahui | low | Tidak ada bukti. |
| Modul W3C | Level | W3C | Status | Keyakinan | Bukti |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Diklaim | low | Dasar terdistribusi di seluruh src/Html/; tidak ada fikstur konformansi tunggal. |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Diklaim | low | Dasar terdistribusi; tidak ada fikstur khusus. |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Diklaim | low | Indeks modul lain; status adalah agregat dari baris yang dirujuk. |
Modul W3C ini muncul dalam korpus tetapi berada di luar alur rendering CSS. Jika berlaku, halaman fitur terkait menautkannya.
| Modul W3C | W3C | Status | Keyakinan | Lokasi |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Diklaim | low | Subset paint SVG inline di Renderer/PaintCommand/; tidak ada fikstur matriks CSS. |
W3C SVG 2.0 (svg_2_0) | CR | Tidak diketahui | low | Ranah alur Premium; tidak ada bukti core. |
W3C PNG 3rd Edition (png_3) | WD | Diklaim | low | Dekode PNG di modul Graphics/ (di luar HTML/CSS). |
W3C WOFF 1.0 (woff_1_0) | REC | Diklaim | low | WOFF melalui tumpukan Font; tidak ada fikstur matriks CSS. |
W3C WOFF 2.0 (woff_2_0) | REC | Diklaim | low | WOFF2 melalui tumpukan Font; tidak ada fikstur matriks CSS. |
W3C WCAG 2.2 (wcag_2_2) | REC | Terverifikasi | medium | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 berkas) — PDF/UA-2. |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Terverifikasi | medium | tests/Unit/Accessibility/HtmlAam/ (4 berkas). |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Diklaim | low | Bundel panduan; bukti konkretnya adalah baris WAI-ARIA. |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Diklaim | low | Penunjuk bundel; buktinya adalah baris WAI-ARIA/WCAG. |
W3C ATAG 2.0 (atag_2_0) | REC | Tidak didukung | high | Aksesibilitas alat authoring; tidak berlaku. |
W3C XSL 1.1 (xsl_1_1) | REC | Tidak didukung | high | Model pemformatan paralel XSL-FO; tidak diimplementasikan. |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Tidak didukung | high | Skema XML; tidak berlaku. |
W3C XSLT 3.0 (xslt_3_0) | REC | Tidak didukung | high | Bahasa transformasi; tidak berlaku. |
Resize Observer (resize_observer_1) | CR | Tidak didukung | high | API runtime peramban. |
Agar sebuah baris dapat naik dari claimed → verified:
- Suite fikstur tingkat-properti khusus berada di bawah
tests/Unit/Html/<Module>/ (≥3 berkas) atau shard korpus WPT substantif (≥50 fikstur) di bawah tests/Wpt/corpus/ dinaikkan menjadi uji yang melakukan asersi.
- Fikstur mengasersi perilaku NextPDF terhadap tata bahasa W3C untuk properti utama modul tersebut.
- Fikstur lulus secara deterministik di bawah
NextPDF\Testing\ReproducibilityProfile (structural untuk fikstur asersi; bitwise hanya setelah baseline golden PDF per modul tersedia).
nextpdf_status baris tersebut dalam css-support-matrix-data.yaml di dalam repo berubah menjadi verified, dengan fixture_path, repro_profile, dan confidence diperbarui.
Agar sebuah baris dapat naik dari unknown → claimed:
- Sebuah pass audit mengonfirmasi bukti implementasi di
src/Html/ (jalurnya dikutip dalam evidence + notes).
- Sebuah isu backfill dibuka dan ditautkan dalam
backfill_issue.
- Laporan kebenaran matriks CSS (
_css-matrix-truth-report.md, di dalam repo) — delta audit before/after, distribusi keyakinan, log deflasi.
- Audit cakupan properti CSS (
architecture/css-property-coverage-audit.md, di dalam repo) — audit empat keadaan per properti internal (Policy/Parsed/Applied/Rendered).
- ADR-027 v8.0.0 BREAKING (
architecture/adr/ADR-027-v8-breaking.md, di dalam repo) — pengakhiran handshake-deprekasi vertical-lr (kapabilitas dipertahankan).
- ADR-028 v9.0.0 BREAKING (
architecture/adr/ADR-028-v9-breaking.md, di dalam repo) — penghapusan penanda-enum Grid/Subgrid/@container (kapabilitas dipertahankan).
- Isu pelacakan backfill: https://github.com/nextpdf-labs/nextpdf/issues/614