NextPDF implementa il rendering CSS secondo le specifiche pubblicate dal W3C. Questa pagina elenca tutti i moduli CSS presenti nel corpus di specifiche di NextPDF e registra, per ciascun modulo, lo stato di supporto con audit di veridicità nella pipeline di rendering.
Questa revisione deriva dal truth audit della Wave 4 B2 (sezione 4.4 del piano). I badge della precedente revisione strutturale erano segnaposto non verificati. Ogni riga di questa pagina è stata rivalutata rispetto alle evidenze reali su disco (src/Html/, tests/, tests/Wpt/corpus/), agli ADR delle modifiche incompatibili v8/v9 e all’audit interno della copertura delle proprietà CSS. L’onestà ha avuto la precedenza sulla copertura: quando l’audit ha abbassato un badge, il badge è stato effettivamente abbassato.
Secondo il contratto di verifica, quattro badge classificano ciascuna riga:
- Verified — implementazione in
src/Html/ più una fixture automatizzata dedicata e sostanziale: una suite a livello di proprietà di tre o più file in tests/Unit/Html/<Module>/, oppure uno shard del corpus Web Platform Tests di cinquanta o più fixture in tests/Wpt/corpus/. Non è ancora collegata alcuna baseline PDF golden a un singolo modulo CSS; per questo le righe verified utilizzano il profilo di riproducibilità structural (equivalenza di asserzione PHPUnit), mai bitwise.
- Claimed — il comportamento del modulo è implementato in
src/Html/ (con percorso del sorgente citato), ma la fixture dedicata è esigua, condivisa o assente. Ogni riga claimed con un’implementazione concreta ha una issue di backfill.
- Not supported — fuori ambito per la pipeline di rendering PDF statico. API esclusivamente runtime/browser, runtime di scrolling/animation e lavori dismessi dal W3C. Il motivo è registrato.
- Unknown — il modulo è presente nel corpus, ma non è stato possibile determinare alcuna evidenza di implementazione o di fixture. L’audit non ha mai formulato ipotesi al rialzo per migliorare il conteggio.
Il badge partial della revisione strutturale è stato ritirato: ogni riga precedentemente partial è stata rivalutata come claimed (implementazione presente, nessuna fixture dedicata) o verified.
| Badge | Significato |
|---|
verified | src/Html/ + suite di fixture dedicata (≥3 file) o shard WPT (≥50 fixture); supera i test in modo deterministico con il profilo structural. |
claimed | Evidenza di implementazione in src/Html/, nessun fixture dedicato. Issue di backfill tracciata. |
not-supported | Esplicitamente escluso dall’ambito PDF statico. Motivo registrato. |
unknown | Nessuna evidenza determinabile. Nessuna ipotesi al rialzo. |
La colonna Confidence è un indicatore onesto e non binario della solidità dell’evidenza per il badge indicato (high / medium / low), indipendente dal badge stesso.
NextPDF supporta i moduli CSS elencati di seguito ai livelli indicati. Le righe Verified dispongono di una suite di fixture automatizzata dedicata o di uno shard sostanziale del corpus WPT che attesta il comportamento di NextPDF, e superano i test in modo deterministico con il profilo di riproducibilità structural. Le righe Claimed presentano evidenza di implementazione in src/Html/, ma non hanno ancora una fixture dedicata; ciascuna è tracciata da una issue di backfill nella issue di tracciamento #614. Le righe Not supported documentano confini di ambito espliciti per il target PDF statico.
In questa revisione non esiste alcuna baseline PDF golden per singolo modulo CSS; nessuna riga dichiara riproducibilità a livello di byte. Il contratto di verifica vieta le righe vuote: quando il supporto non può essere determinato, la riga è unknown.
| Stato | Moduli | Confidence (high / medium / low) |
|---|
| Verified | 12 | 8 / 4 / 0 |
| Claimed | 49 | 0 / 35 / 14 |
| Not supported | 67 | 62 / 5 / 0 |
| Unknown | 39 | 0 / 0 / 39 |
| Totale | 167 | 70 / 44 / 53 |
Il blocco summary della revisione strutturale era internamente incoerente: dichiarava un totale di 148 (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), ma il file conteneva in realtà 167 righe di modulo le cui etichette sommavano a 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Questo audit ha corretto il totale al valore reale di 167 e ha rivalutato ogni riga rispetto alle evidenze su disco: Verified è sceso da un 34 dichiarato a un 12 comprovato. Tale riduzione è il risultato corretto di un audit onesto, non una regressione. Il delta before/after completo si trova nel file sidecar interno al repository _css-matrix-truth-report.md.
La revisione strutturale aveva etichettato erroneamente tre funzionalità attive come rimosse o not-supported. ADR-027 e ADR-028 hanno rimosso dall’enum ExperimentalFeature solo i marcatori opt-in; le funzionalità stesse restano LIVE e attive per impostazione predefinita:
- Subgrid (
css_grid_2) — LIVE; CssFeatureFlags::$layoutSubgrid attivo per impostazione predefinita. Era stato erroneamente etichettato come “subgrid rimosso definitivamente in v9.0.0”.
- Query
@container (css_contain_2) — il dispatch runtime è rimasto esplicitamente invariato con ADR-028; l’opt-out tramite flag è preservato. Era stato erroneamente etichettato come “rimosso definitivamente in v9.0.0”.
writing-mode: vertical-lr (css_writing_modes_3) — attivo per impostazione predefinita e Stable da v7.0.0; ADR-027 ha promosso solo l’handshake di deprecazione. Era stato erroneamente etichettato come “deprecato/rimosso in v8.0.0”.
Il set machine-readable delle righe per modulo risiede nel file interno al repository css-support-matrix-data.yaml ed è la fonte di verità. Questa pagina è la proiezione human-readable, raggruppata per categoria. I componenti Astro usano direttamente il file YAML durante la build della documentazione.
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Flexible Box Layout (css_flexbox_1) | 1 | CR | Verified | high | src/Html/Flex/, tests/Unit/Html/Flex/ (50 file) |
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/ + shard WPT da 80 fixture + 1 test di integrazione. LIVE e attivo per impostazione predefinita (ADR-028 ha rimosso solo il marcatore enum). |
CSS Grid Layout — Masonry (css_grid_3) | 3 | ED | Not supported | high | Masonry fuori ambito per v5.x. |
CSS Display (css_display_3) | 3 | CR | Claimed | medium | DisplayResolver.php + test del resolver; nessuna suite di proprietà dedicata. |
CSS Display (css_display_4) | 4 | ED | Unknown | low | Nessuna evidenza L4. |
CSS Positioned Layout (css_position_3) | 3 | WD | Verified | high | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 file) |
CSS Positioned Layout (css_position_4) | 4 | ED | Unknown | low | position: sticky/anchor non evidenziati. |
CSS Box Alignment (css_align_3) | 3 | WD | Claimed | medium | Implementato all’interno dei motori Flex/Grid; nessuna suite autonoma. |
CSS Box Sizing (css_sizing_3) | 3 | CR | Claimed | low | src/Html/Length/; l’audit Phase 0 mostra che width/height sono in gran parte POLICY-ONLY. |
CSS Box Sizing (css_sizing_4) | 4 | ED | Unknown | low | Parole chiave di dimensione intrinseca non evidenziate. |
CSS Box Model (css_box_3) | 3 | WD | Claimed | medium | Copertura del margin-collapse; il box model left/right manca secondo l’audit Phase 0. Backfill #617. |
CSS Box Model (css_box_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Multi-column Layout (css_multicol_1) | 1 | CR | Claimed | medium | src/Html/MultiCol/; nessuna suite di proprietà. |
CSS Multi-column Layout (css_multicol_2) | 2 | ED | Unknown | low | Nessuna evidenza. |
CSS Fragmentation (css_break_3) | 3 | CR | Verified | medium | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 file) |
CSS Fragmentation (css_break_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Containment (css_contain_1) | 1 | REC | Not supported | medium | Nessun applicatore contain per layout/paint; nessun modello di aggiornamento dinamico. |
CSS Containment — @container (css_contain_2) | 2 | CR | Claimed | low | Shard WPT da 114 fixture + modello di layout conservato ADR-017/021. Runtime LIVE (ADR-028 ha rimosso solo il marcatore enum). |
CSS Containment (css_contain_3) | 3 | ED | Not supported | medium | Style containment fuori ambito. |
CSS Inline Layout (css_inline_3) | 3 | WD | Claimed | medium | src/Html/Layout/InlineLayout/ + 8 test; initial-letter non evidenziato. |
CSS Logical Properties (css_logical_1) | 1 | WD | Claimed | medium | Resolver WritingMode da logico a fisico; nessun fixture dedicato. I valori logici text-align: start/end si risolvono rispetto a direction — con direction: rtl, start è il bordo destro — e vengono applicati nelle celle di tabella. |
CSS Page Floats (css_page_floats_3) | 3 | ED | Not supported | high | Fuori ambito per v5.x. |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Not supported | high | Paginazione multi-regione fuori ambito. |
CSS Exclusions (css_exclusions_1) | 1 | WD | Not supported | high | Tier C; nessun impegno nella roadmap. |
CSS Regions (css_regions_1) | 1 | WD | Not supported | high | Dismesso dal W3C. |
CSS Template Layout (css_template_1) | 1 | NOTE | Not supported | high | Fuori ambito. |
CSS Layout API (css_layout_api_1) | 1 | WD | Not supported | high | Runtime worklet; non applicabile. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Backgrounds and Borders (css_backgrounds_3) | 3 | CR | Claimed | medium | src/Html/Background/, BorderRenderer.php; bg-color solo per Table secondo l’audit Phase 0. Backfill #628. |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Borders and Box Decorations (css_borders_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Unknown | low | Nessuna evidenza. |
CSS Masking (css_masking_1) | 1 | CR | Not supported | medium | clip-path/mask non instradati verso gli operatori di clip PDF. |
CSS Shadow Module (css_shadow_1) | 1 | ED | Claimed | medium | src/Html/Shadow/ (BoxShadowRenderer); nessun fixture dedicato. |
CSS Shapes (css_shapes_1) | 1 | CR | Not supported | high | shape-outside fuori ambito per v5.x. |
CSS Shapes (css_shapes_2) | 2 | ED | Not supported | high | Fuori ambito. |
Filter Effects (filter_effects_1) | 1 | WD | Not supported | high | Le primitive di filtro SVG non vengono instradate verso il PDF. |
Filter Effects (filter_effects_2) | 2 | ED | Not supported | high | Fuori ambito. |
Compositing and Blending (compositing_1) | 1 | CR | Claimed | medium | Mappatura della blend-mode al PDF in PaintCommand/; un test sulla blend-mode. |
Compositing (compositing_2) | 2 | ED | Unknown | low | Nessuna evidenza. |
CSS Fill and Stroke (fill_stroke_3) | 3 | ED | Unknown | low | Nessuna evidenza. |
Geometry Interfaces (geometry_1) | 1 | CR | Not supported | high | API runtime DOM Matrix. |
DOMMatrix (matrix) | 1 | NOTE | Not supported | high | API runtime del browser. |
Motion Path (motion_1) | 1 | WD | Not supported | high | Solo animazione. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Verified | medium | src/Html/Font/, tests/Unit/Font/ (9) + test FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Verified | high | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 file) |
CSS Fonts (css_fonts_5) | 5 | ED | Unknown | low | font-tech() non evidenziato. |
CSS Font Loading (css_font_loading_3) | 3 | WD | Not supported | high | API runtime JS FontFace; caricamento lato PHP tramite FontResolver. |
CSS Text (css_text_3) | 3 | CR | Claimed | medium | src/Html/Text/ + 5 test; Phase 0 FULL per align/indent/spacing, white-space solo <pre>. Backfill #618. |
CSS Text (css_text_4) | 4 | ED | Claimed | medium | src/Html/Layout/Hyphenation/ + test di strategia; altre proprietà L4 in sospeso. |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Claimed | medium | src/Html/Text/; Phase 0 FULL ma nessun fixture dedicato. Backfill #619. |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Unknown | low | text-emphasis non evidenziato. |
CSS Ruby (css_ruby_1) | 1 | WD | Not supported | high | Annotazioni ruby fuori ambito per v5.x. |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Claimed | medium | src/Html/Layout/WritingMode/ (7 test) + shard WPT da 140 fixture. vertical-lr LIVE e attivo per impostazione predefinita (ADR-027). direction: rtl è funzionale — riordino bidirezionale UAX#9 più shaping contestuale dell’arabo, con allineamento al lato iniziale nelle celle di tabella. L’allineamento dei blocchi non di tabella e justify non sono ancora applicati, e l’attributo HTML dir non viene mappato (usare il CSS direction). Vedere Eseguire il rendering di HTML arabo da destra a sinistra. Backfill #629. |
CSS Writing Modes (css_writing_modes_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Speech (css_speech_1) | 1 | CR | Not supported | high | Rendering aurale non applicabile. |
CSS Mobile Text Size Adjustment (css_size_adjust_1) | 1 | ED | Not supported | high | Suggerimento UA mobile; non applicabile. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Color (css_color_3) | 3 | REC | Claimed | medium | src/Html/Color/, NamedColors.php + test del parser; nessun fixture di modulo. Backfill #620. |
CSS Color (css_color_4) | 4 | CR | Claimed | medium | Parsing Lab/LCH/OKLab; la fedeltà del color space PDF non viene verificata. |
CSS Color (css_color_5) | 5 | WD | Unknown | low | color-mix() non evidenziato. |
CSS Color (css_color_6) | 6 | ED | Unknown | low | Nessuna evidenza. |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Not supported | high | color-scheme guidato dall’UA; non applicabile. |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Not supported | high | HDR non instradato verso il color space PDF. |
CSS Images (css_images_3) | 3 | CR | Claimed | medium | src/Html/Gradient/ (linear/radial/conic) + test del parser. |
CSS Images (css_images_4) | 4 | ED | Unknown | low | image()/image-set() non evidenziati. |
CSS Images (css_images_5) | 5 | ED | Unknown | low | Nessuna evidenza. |
CSS Image Animation (css_image_animation_1) | 1 | ED | Not supported | high | Solo animazione. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Selectors (selectors_3) | 3 | REC | Claimed | medium | HasSelectorResolver.php + test CssRule; il fixture è un singolo corpus.json. Backfill #627. |
CSS Selectors (selectors_4) | 4 | WD | Claimed | medium | :is()/:where()/:not()/:has() testati; funzionalità L4 avanzate in sospeso. |
CSS Selectors (selectors_5) | 5 | ED | Unknown | low | Nessuna evidenza. |
CSS Non-element Selectors (selectors_nonelement_1) | 1 | WD | Not supported | high | Hook dei fogli di stile del browser; non applicabile. |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Claimed | medium | src/Html/Pseudo/ (12) + ~10 test del renderer; nessuna suite di modulo. |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Verified | high | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 file) |
CSS Cascading (css_cascade_4) | 4 | CR | Verified | high | Cascade/Layer/ + test revert/layer |
CSS Cascading (css_cascade_5) | 5 | CR | Verified | high | AtRule/Layer/ + Cascade/Layer/ suite |
CSS Cascading (css_cascade_6) | 6 | WD | Unknown | low | @scope non evidenziato. |
CSS Values and Units (css_values_3) | 3 | REC | Claimed | medium | CssValueParser.php + unit test; il fixture è un singolo corpus.json. Backfill #626. |
CSS Values and Units (css_values_4) | 4 | CR | Claimed | medium | calc() implementato; min()/max()/clamp() annidati non pienamente evidenziati. |
CSS Values and Units (css_values_5) | 5 | ED | Unknown | low | Nessuna evidenza. |
CSS Custom Properties (css_variables_1) | 1 | CR | Claimed | medium | src/Html/CustomProperty/ + test di copertura dello scope. |
CSS Custom Properties (css_variables_2) | 2 | ED | Unknown | low | Nessuna evidenza. |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Claimed | medium | @media/@supports con parsing testato; runtime @container preservato (ADR-028). |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Unknown | low | Nessuna evidenza. |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Unknown | low | Nessuna evidenza. |
CSS Namespaces (css_namespaces_3) | 3 | REC | Claimed | low | Il parser tollera @namespace; nessuna copertura per il matching. |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Claimed | medium | Parsing di style inline lungo tutta la pipeline; nessun fixture dedicato. Backfill #622. |
CSS Syntax (css_syntax_3) | 3 | CR | Claimed | medium | CssParser/ + test grammar/fuzz; nessun fixture di conformità. Backfill #623. |
CSS Nesting (css_nesting_1) | 1 | CR | Claimed | medium | Promosso da unknown — CssNestingTest + test desugar/inner-scan. |
CSS Environment Variables (css_env_1) | 1 | ED | Not supported | medium | Funzione env() guidata dallo UA; non applicabile. |
CSS Custom Functions and Mixins (css_mixins_1) | 1 | ED | Unknown | low | Nessuna evidenza. |
CSS Extensions (css_extensions_1) | 1 | NOTE | Unknown | low | Nessuna evidenza. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Lists and Counters (css_lists_3) | 3 | WD | Claimed | medium | HtmlListRenderer.php/CssCounterManager.php + 18 test; list-style-type non applicato a ol/ul (Phase 0). |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Claimed | medium | Stili di contatore predefiniti; @counter-style in sospeso. |
CSS Generated Content (css_content_3) | 3 | WD | Claimed | medium | CssContentSegment.php + test pseudo; bypassa l’applicatore (Phase 0). Backfill #621. |
CSS Generated Content for Paged Media (css_gcpm_3) | 3 | WD | Claimed | medium | src/Html/Gcpm/ registry + test di acquisizione delle note a piè di pagina. |
CSS Generated Content for Paged Media (css_gcpm_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Claimed | medium | Page/, PagedMedia/, PageRule.php + test PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ contiene 1 file. Backfill #624. |
CSS Paged Media (css_page_4) | 4 | NOTE | Unknown | low | Proposte future. |
CSS Print Profile (css_print) | 1 | NOTE | Claimed | low | Il target PDF statico rispetta i vincoli di stampa; nessun fixture di conformità. |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Not supported | high | Navigazione di tipo slideware; non applicabile. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Claimed | low | OverflowClip/ClipRect con test; clipping solo per le celle di tabella (Phase 0). |
CSS Overflow (css_overflow_4) | 4 | ED | Unknown | low | Nessuna evidenza. |
CSS Overflow (css_overflow_5) | 5 | ED | Unknown | low | Nessuna evidenza. |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Not supported | high | Runtime di scrolling; non applicabile. |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Not supported | high | Runtime di scrolling; non applicabile. |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Not supported | high | Runtime di scrolling; non applicabile. |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Not supported | high | Runtime di scrolling; non applicabile. |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Not supported | high | Runtime UA; non applicabile. |
CSS Basic User Interface (css_ui_3) | 3 | REC | Not supported | medium | cursor/resize solo per la UI del browser. |
CSS Basic User Interface (css_ui_4) | 4 | WD | Not supported | high | Runtime UA; non applicabile. |
CSS Form Control Styling (css_forms_1) | 1 | ED | Not supported | high | I widget dei form non vengono renderizzati dal PDF statico. |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Not supported | high | Solo animazione. |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Not supported | high | Solo animazione. |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Not supported | high | Runtime UA; non applicabile. |
CSS Route Matching (css_navigation_1) | 1 | ED | Not supported | high | Runtime UA; non applicabile. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Table (css_tables_3) | 3 | WD | Verified | high | src/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 test TableParser + 5 PDF golden sintetici in tests/Corpus/tables/ |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Claimed | medium | Renderer/Transform/ + ApplyTransformCommand.php; nessun fixture dedicato. |
CSS Transforms (css_transforms_2) | 2 | ED | Unknown | low | Transform 3D non evidenziati. |
CSS Animations (css_animations_1) | 1 | WD | Not supported | high | La timeline di animazione non è applicabile al PDF statico. |
CSS Animations (css_animations_2) | 2 | ED | Not supported | high | Fuori ambito. |
CSS Transitions (css_transitions_1) | 1 | WD | Not supported | high | Fuori ambito. |
CSS Transitions (css_transitions_2) | 2 | ED | Not supported | high | Fuori ambito. |
CSS Easing Functions (css_easing_1) | 1 | CR | Not supported | high | Solo animazione. |
CSS Easing Functions (css_easing_2) | 2 | ED | Not supported | high | Solo animazione. |
Web Animations (web_animations_1) | 1 | WD | Not supported | high | API runtime del browser. |
Web Animations (web_animations_2) | 2 | ED | Not supported | high | API runtime del browser. |
Web Animations CSS Integration (web_animations_css_integration) | 1 | ED | Not supported | high | API runtime del browser. |
Animation Triggers (animation_triggers) | 1 | ED | Not supported | high | Solo animazione. |
Pointer-driven Animations (pointer_animations_1) | 1 | ED | Not supported | high | Evento di input a runtime; non applicabile. |
Scroll-driven Animations (scroll_animations_1) | 1 | ED | Not supported | high | Runtime di scrolling; non applicabile. |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Not supported | high | Runtime worklet del browser. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Unknown | low | Nessun sorgente anchor(). |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Unknown | low | Nessuna evidenza. |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Not supported | high | API runtime del browser. |
CSS Properties and Values API (css_properties_values_api_1) | 1 | CR | Not supported | high | API runtime del browser. |
CSS Painting API (css_paint_api_1) | 1 | WD | Not supported | high | Runtime worklet del browser. |
CSS Typed OM (css_typed_om_1) | 1 | WD | Not supported | high | API runtime del browser. |
CSSOM (cssom_1) | 1 | WD | Not supported | high | API DOM del browser. |
CSSOM View (cssom_view_1) | 1 | WD | Not supported | high | API DOM del browser. |
CSS Will Change (css_will_change_1) | 1 | CR | Not supported | high | Suggerimento di ottimizzazione del browser. |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Unknown | low | Nessuna evidenza. |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Unknown | low | Nessuna evidenza. |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Unknown | low | Nessuna evidenza. |
CSS Round Display (css_round_display_1) | 1 | ED | Not supported | high | Target per display rotondi non applicabile. |
CSS Shaders (css_shaders_1) | 1 | NOTE | Not supported | high | Rimosso dal W3C. |
CSS Viewport (css_viewport_1) | 1 | NOTE | Not supported | high | Viewport UA; non applicabile. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Claimed | medium | CssParser/ + test di copertura delle media query; nessun fixture dedicato. Backfill #625. |
Media Queries (mediaqueries_4) | 4 | CR | Claimed | medium | @media print/prefers-color-scheme sottoposti a parsing; sintassi range in sospeso. |
Media Queries (mediaqueries_5) | 5 | WD | Unknown | low | Nessuna evidenza. |
| Modulo W3C | Livello | W3C | Stato | Confidence | Evidenza |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Claimed | low | Baseline distribuita in src/Html/; nessun singolo fixture di conformità. |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Claimed | low | Baseline distribuita; nessun fixture dedicato. |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Claimed | low | Indice di altri moduli; lo stato aggrega le righe referenziate. |
Questi moduli W3C compaiono nel corpus, ma sono al di fuori dell’ambito della pipeline di rendering CSS. Sono collegati dalle pagine delle funzionalità corrispondenti, ove applicabile.
| Modulo W3C | W3C | Stato | Confidence | Dove |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Claimed | low | Sottoinsieme di paint SVG inline in Renderer/PaintCommand/; nessun fixture per la matrice CSS. |
W3C SVG 2.0 (svg_2_0) | CR | Unknown | low | Parte della pipeline Premium; nessuna evidenza nel core. |
W3C PNG 3rd Edition (png_3) | WD | Claimed | low | Decodifica PNG nel modulo Graphics/ (al di fuori di HTML/CSS). |
W3C WOFF 1.0 (woff_1_0) | REC | Claimed | low | WOFF tramite lo stack Font; nessun fixture per la matrice CSS. |
W3C WOFF 2.0 (woff_2_0) | REC | Claimed | low | WOFF2 tramite lo stack Font; nessun fixture per la matrice CSS. |
W3C WCAG 2.2 (wcag_2_2) | REC | Verified | medium | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 file) — PDF/UA-2. |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Verified | medium | tests/Unit/Accessibility/HtmlAam/ (4 file). |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Claimed | low | Bundle di linee guida; l’evidenza concreta è la riga WAI-ARIA. |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Claimed | low | Puntatore al bundle; l’evidenza è nelle righe WAI-ARIA/WCAG. |
W3C ATAG 2.0 (atag_2_0) | REC | Not supported | high | Accessibilità degli strumenti di authoring; non applicabile. |
W3C XSL 1.1 (xsl_1_1) | REC | Not supported | high | Modello di formattazione parallelo XSL-FO; non implementato. |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Not supported | high | Schema XML; non applicabile. |
W3C XSLT 3.0 (xslt_3_0) | REC | Not supported | high | Linguaggio di trasformazione; non applicabile. |
Resize Observer (resize_observer_1) | CR | Not supported | high | API runtime del browser. |
Perché una riga passi da claimed a → verified:
- Esiste una suite di fixture dedicata a livello di proprietà in
tests/Unit/Html/<Module>/ (≥3 file) oppure uno shard sostanziale del corpus WPT (≥50 fixture) in tests/Wpt/corpus/ viene promosso in un test con asserzioni.
- Il fixture verifica il comportamento di NextPDF rispetto alla grammatica W3C per le proprietà principali del modulo.
- La fixture supera i test in modo deterministico con un
NextPDF\Testing\ReproducibilityProfile (structural per le fixture con asserzioni; bitwise solo una volta che esistono le baseline PDF golden per il singolo modulo).
- Il valore
nextpdf_status della riga nel file interno al repository css-support-matrix-data.yaml passa a verified con l’aggiornamento di fixture_path, repro_profile e confidence.
Perché una riga passi da unknown a → claimed:
- Una fase di audit conferma l’evidenza di implementazione in
src/Html/ (con il percorso citato in evidence + notes).
- Viene aperta una issue di backfill e collegata in
backfill_issue.
- CSS matrix truth report (
_css-matrix-truth-report.md, interno al repository) — delta dell’audit before/after, distribuzione della confidence, log di de-inflazione.
- CSS property coverage audit (
architecture/css-property-coverage-audit.md, interno al repository) — audit interno a quattro stati per ogni proprietà (Policy/Parsed/Applied/Rendered).
- ADR-027 v8.0.0 BREAKING (
architecture/adr/ADR-027-v8-breaking.md, interno al repository) — promozione dell’handshake di deprecazione di vertical-lr (funzionalità preservata).
- ADR-028 v9.0.0 BREAKING (
architecture/adr/ADR-028-v9-breaking.md, interno al repository) — rimozione dei marcatori enum di Grid/Subgrid/@container (funzionalità preservate).
- Backfill tracking issue: https://github.com/nextpdf-labs/nextpdf/issues/614