Pular para o conteúdo

Matriz de suporte a CSS

O NextPDF implementa a renderização de Cascading Style Sheets (CSS) com base em especificações publicadas pelo World Wide Web Consortium (W3C). Use esta página para consultar cada módulo CSS do corpus de especificações do NextPDF e o status de suporte auditado quanto à veracidade desse módulo no pipeline de renderização.

Esta revisão vem da auditoria de veracidade da Wave 4 B2 (seção 4.4 do plano). A revisão estrutural anterior usava selos provisórios não verificados. A auditoria reclassificou cada linha com base em evidências reais em disco (src/Html/, tests/, tests/Wpt/corpus/), nos registros de decisão de arquitetura (ADRs) com mudanças incompatíveis v8/v9 e na auditoria interna de cobertura de propriedades CSS. A auditoria priorizou a honestidade em vez da cobertura: quando as evidências apontavam para um selo inferior, o selo era rebaixado.

Quatro selos classificam cada linha sob o contrato de verificação:

  • Verified — Implementação em src/Html/ mais uma fixture automatizada dedicada e substantiva: ou um conjunto de três ou mais arquivos no nível de propriedade em tests/Unit/Html/<Module>/, ou um shard do corpus de Web Platform Tests (WPT) com cinquenta ou mais fixtures em tests/Wpt/corpus/. Ainda não há nenhuma baseline de PDF (Portable Document Format) de referência por módulo CSS conectada; portanto, as linhas verificadas usam o perfil de reprodutibilidade structural (equivalência de asserções do PHPUnit), nunca bitwise.
  • Claimed — O comportamento do módulo está implementado em src/Html/ (caminho de origem citado), mas a fixture dedicada é tênue, compartilhada ou inexistente. Cada linha reivindicada com uma implementação concreta tem uma issue de backfill.
  • Not supported — O pipeline de renderização de PDF estático não inclui este módulo: APIs runtime/browser-only, runtimes de scrolling/animation e trabalhos descontinuados pelo W3C. A linha registra o motivo.
  • Unknown — O módulo está no corpus, mas a auditoria não encontrou evidência de implementação nem de fixture. A auditoria nunca elevou um palpite para melhorar a contagem.

O selo partial da revisão estrutural foi aposentado: cada linha antes parcial foi reclassificada como claimed (implementação presente, sem fixture dedicada) ou verified.

SeloSignificado
verifiedsrc/Html/ + conjunto de fixtures dedicado (≥3 arquivos) ou shard WPT (≥50 fixtures); passa de forma determinística sob o perfil structural.
claimedEvidência de implementação em src/Html/, sem fixture dedicada. Issue de backfill rastreada.
not-supportedExplicitamente excluído do escopo de PDF estático. Motivo registrado.
unknownSem evidência determinável. Sem promoção por palpite.

A coluna Confidence é um indicador honesto e não binário da evidência por trás do selo declarado (high / medium / low). Ela é independente do próprio selo.

O NextPDF oferece suporte aos módulos CSS listados abaixo nos níveis indicados. As linhas Verified têm um conjunto de fixtures automatizado dedicado ou um shard substantivo do corpus WPT que verifica o comportamento do NextPDF e passa de forma determinística sob o perfil de reprodutibilidade structural. As linhas Claimed têm evidência de implementação em src/Html/, mas ainda não têm fixture dedicada; cada linha é rastreada por uma issue de backfill na issue de rastreamento #614. As linhas Not supported documentam limites de escopo explícitos para o alvo de PDF estático.

Nenhuma linha reivindica reprodutibilidade em nível de byte porque esta revisão não tem baseline PDF de referência por módulo CSS. O contrato de verificação proíbe linhas vazias: quando o suporte não pode ser determinado, a linha é unknown.

StatusMódulosConfiança (high / medium / low)
Verified128 / 4 / 0
Claimed490 / 35 / 14
Not supported6762 / 5 / 0
Unknown390 / 0 / 39
Total16770 / 44 / 53

O bloco summary da revisão estrutural era internamente inconsistente: declarava 148 no total (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), enquanto o arquivo continha 167 linhas de módulo cujos rótulos somavam 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Esta auditoria corrigiu o total para os 167 reais e reclassificou cada linha com base em evidências em disco: o número de Verified caiu de 34 reivindicados para 12 comprovados. Essa redução é o resultado correto de uma auditoria honesta, não uma regressão. O delta completo before/after está no arquivo auxiliar _css-matrix-truth-report.md no repositório.

A revisão estrutural rotulou incorretamente três capacidades ativas como removidas ou não suportadas. O ADR-027 e o ADR-028 removeram do enum ExperimentalFeature apenas os marcadores de opt-in; as capacidades permanecem ATIVAS por padrão:

  • Subgrid (css_grid_2) — ATIVO; CssFeatureFlags::$layoutSubgrid ligado por padrão. Foi rotulado incorretamente como “subgrid hard-removed v9.0.0”.
  • Consultas @container (css_contain_2) — despacho em tempo de execução explicitamente mantido pelo ADR-028; opt-out via flag preservado. Foi rotulado incorretamente como “hard-removed v9.0.0”.
  • writing-mode: vertical-lr (css_writing_modes_3) — Stable por padrão desde a v7.0.0; o ADR-027 graduou apenas o handshake de descontinuação. Foi rotulado incorretamente como “deprecated/removed v8.0.0”.

O conjunto de linhas por módulo, legível por máquina, fica no arquivo css-support-matrix-data.yaml no repositório, que é a fonte da verdade. Esta página é a projeção legível por pessoas, agrupada por categoria. Os componentes Astro consomem os dados YAML diretamente durante o build da documentação.

Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Flexible Box Layout (css_flexbox_1)1CRVerifiedhighsrc/Html/Flex/, tests/Unit/Html/Flex/ (50 arquivos)
CSS Grid Layout (css_grid_1)1RECVerifiedhighsrc/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654)
CSS Grid Layout — Subgrid (css_grid_2)2CRClaimedmediumsrc/Html/Grid/Subgrid/ + shard WPT de 80 fixtures + 1 teste de integração. ATIVO por padrão (o ADR-028 removeu apenas o marcador do enum).
CSS Grid Layout — Masonry (css_grid_3)3EDNot supportedhighMasonry fora de escopo para a v5.x.
CSS Display (css_display_3)3CRClaimedmediumDisplayResolver.php + testes de resolver; sem conjunto de propriedades dedicado.
CSS Display (css_display_4)4EDUnknownlowSem evidência de L4.
CSS Positioned Layout (css_position_3)3WDVerifiedhighsrc/Html/Positioned/, tests/Unit/Html/Positioned/ (8 arquivos)
CSS Positioned Layout (css_position_4)4EDUnknownlowposition: sticky/anchor sem evidência.
CSS Box Alignment (css_align_3)3WDClaimedmediumImplementado dentro dos motores Flex/Grid; sem conjunto autônomo.
CSS Box Sizing (css_sizing_3)3CRClaimedlowsrc/Html/Length/; a auditoria da Phase 0 mostra width/height em grande parte SOMENTE-POLÍTICA.
CSS Box Sizing (css_sizing_4)4EDUnknownlowPalavras-chave de tamanho intrínseco sem evidência.
CSS Box Model (css_box_3)3WDClaimedmediumCobertura de colapso de margem; modelo de caixa left/right ausente conforme a auditoria da Phase 0. Backfill #617.
CSS Box Model (css_box_4)4EDUnknownlowSem evidência.
CSS Multi-column Layout (css_multicol_1)1CRClaimedmediumsrc/Html/MultiCol/; sem conjunto de propriedades.
CSS Multi-column Layout (css_multicol_2)2EDUnknownlowSem evidência.
CSS Fragmentation (css_break_3)3CRVerifiedmediumsrc/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 arquivos)
CSS Fragmentation (css_break_4)4EDUnknownlowSem evidência.
CSS Containment (css_contain_1)1RECNot supportedmediumSem aplicador de contain layout/paint; sem modelo de atualização em tempo real.
CSS Containment — @container (css_contain_2)2CRClaimedlowShard WPT de 114 fixtures + modelo de layout retido dos ADR-017/021. Runtime ATIVO (o ADR-028 removeu apenas o marcador do enum).
CSS Containment (css_contain_3)3EDNot supportedmediumContenção de estilo fora de escopo.
CSS Inline Layout (css_inline_3)3WDClaimedmediumsrc/Html/Layout/InlineLayout/ + 8 testes; initial-letter sem evidência.
CSS Logical Properties (css_logical_1)1WDClaimedmediumResolver WritingMode lógico→físico; sem fixture dedicada. O text-align: start/end lógico é resolvido em relação a direction — sob direction: rtl, start é a borda direita — e é aplicado em células de tabela.
CSS Page Floats (css_page_floats_3)3EDNot supportedhighFora de escopo para a v5.x.
CSS Pagination Templates (css_page_templates_3)3EDNot supportedhighPaginação multirregião fora de escopo.
CSS Exclusions (css_exclusions_1)1WDNot supportedhighTier C; sem compromisso de roadmap.
CSS Regions (css_regions_1)1WDNot supportedhighDescontinuado pelo W3C.
CSS Template Layout (css_template_1)1NOTENot supportedhighFora de escopo.
CSS Layout API (css_layout_api_1)1WDNot supportedhighRuntime de worklet; não aplicável.

Modelo de caixa — planos de fundo, bordas, efeitos

Seção intitulada “Modelo de caixa — planos de fundo, bordas, efeitos”
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Backgrounds and Borders (css_backgrounds_3)3CRClaimedmediumsrc/Html/Background/, BorderRenderer.php; bg-color somente em Table conforme a auditoria da Phase 0. Backfill #628.
CSS Backgrounds (css_backgrounds_4)4EDUnknownlowSem evidência.
CSS Borders and Box Decorations (css_borders_4)4EDUnknownlowSem evidência.
CSS Gap Decorations (css_gaps_1)1EDUnknownlowSem evidência.
CSS Masking (css_masking_1)1CRNot supportedmediumclip-path/mask não roteados para operadores de recorte do PDF.
CSS Shadow Module (css_shadow_1)1EDClaimedmediumsrc/Html/Shadow/ (BoxShadowRenderer); sem fixture dedicada.
CSS Shapes (css_shapes_1)1CRNot supportedhighshape-outside fora de escopo para a v5.x.
CSS Shapes (css_shapes_2)2EDNot supportedhighFora de escopo.
Filter Effects (filter_effects_1)1WDNot supportedhighPrimitivas de filtro SVG não roteadas para o PDF.
Filter Effects (filter_effects_2)2EDNot supportedhighFora de escopo.
Compositing and Blending (compositing_1)1CRClaimedmediumMapeamento de blend-mode do PDF em PaintCommand/; um teste de blend-mode.
Compositing (compositing_2)2EDUnknownlowSem evidência.
CSS Fill and Stroke (fill_stroke_3)3EDUnknownlowSem evidência.
Geometry Interfaces (geometry_1)1CRNot supportedhighAPI de runtime DOM Matrix.
DOMMatrix (matrix)1NOTENot supportedhighAPI de runtime do navegador.
Motion Path (motion_1)1WDNot supportedhighApenas para animação.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Fonts (css_fonts_3)3RECVerifiedmediumsrc/Html/Font/, tests/Unit/Font/ (9) + testes de FontResolver
CSS Fonts (css_fonts_4)4CRVerifiedhighsrc/Html/FontFace/, tests/Unit/Html/FontFace/ (31 arquivos)
CSS Fonts (css_fonts_5)5EDUnknownlowfont-tech() sem evidência.
CSS Font Loading (css_font_loading_3)3WDNot supportedhighAPI de runtime FontFace em JS; carregamento no lado PHP via FontResolver.
CSS Text (css_text_3)3CRClaimedmediumsrc/Html/Text/ + 5 testes; Phase 0 FULL para align/indent/spacing, white-space somente em <pre>. Backfill #618.
CSS Text (css_text_4)4EDClaimedmediumsrc/Html/Layout/Hyphenation/ + testes de estratégia; demais props L4 pendentes.
CSS Text Decoration (css_text_decor_3)3CRClaimedmediumsrc/Html/Text/; Phase 0 FULL, mas sem fixture dedicada. Backfill #619.
CSS Text Decoration (css_text_decor_4)4EDUnknownlowtext-emphasis sem evidência.
CSS Ruby (css_ruby_1)1WDNot supportedhighAnotações Ruby fora de escopo para a v5.x.
CSS Writing Modes (css_writing_modes_3)3RECClaimedmediumsrc/Html/Layout/WritingMode/ (7 testes) + shard WPT de 140 fixtures. vertical-lr ATIVO por padrão (ADR-027). direction: rtl é funcional — reordenação bidirecional UAX#9 mais shaping contextual de árabe, com alinhamento ao início (start) em células de tabela. O alinhamento de blocos fora de tabela e justify ainda não são aplicados, e o atributo HTML dir não é mapeado (use o CSS direction). Consulte Render right-to-left Arabic HTML. Backfill #629.
CSS Writing Modes (css_writing_modes_4)4EDUnknownlowSem evidência.
CSS Speech (css_speech_1)1CRNot supportedhighRenderização sonora não aplicável.
CSS Mobile Text Size Adjustment (css_size_adjust_1)1EDNot supportedhighDica de UA mobile; não aplicável.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Color (css_color_3)3RECClaimedmediumsrc/Html/Color/, NamedColors.php + testes de parser; sem fixture de módulo. Backfill #620.
CSS Color (css_color_4)4CRClaimedmediumParsing de Lab/LCH/OKLab; fidelidade de PDF-colorspace não verificada.
CSS Color (css_color_5)5WDUnknownlowcolor-mix() sem evidência.
CSS Color (css_color_6)6EDUnknownlowSem evidência.
CSS Color Adjustment (css_color_adjust_1)1CRNot supportedhighcolor-scheme orientado por UA; não aplicável.
CSS Color HDR (css_color_hdr_1)1EDNot supportedhighHDR não roteado para o colorspace do PDF.
CSS Images (css_images_3)3CRClaimedmediumsrc/Html/Gradient/ (linear/radial/conic) + testes de parser.
CSS Images (css_images_4)4EDUnknownlowimage()/image-set() sem evidência.
CSS Images (css_images_5)5EDUnknownlowSem evidência.
CSS Image Animation (css_image_animation_1)1EDNot supportedhighApenas para animação.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Selectors (selectors_3)3RECClaimedmediumHasSelectorResolver.php + testes de CssRule; a fixture é um único corpus.json. Backfill #627.
CSS Selectors (selectors_4)4WDClaimedmedium:is()/:where()/:not()/:has() testados; recursos avançados de L4 pendentes.
CSS Selectors (selectors_5)5EDUnknownlowSem evidência.
CSS Non-element Selectors (selectors_nonelement_1)1WDNot supportedhighHooks de folha de estilo do navegador; não aplicável.
CSS Pseudo-Elements (css_pseudo_4)4WDClaimedmediumsrc/Html/Pseudo/ (12) + ~10 testes de renderer; sem conjunto de módulo.
CSS Cascading and Inheritance (css_cascade_3)3RECVerifiedhighsrc/Html/Cascade/, tests/Unit/Html/Cascade/ (9 arquivos)
CSS Cascading (css_cascade_4)4CRVerifiedhighCascade/Layer/ + testes de revert/layer
CSS Cascading (css_cascade_5)5CRVerifiedhighAtRule/Layer/ + Cascade/Layer/ (conjuntos)
CSS Cascading (css_cascade_6)6WDUnknownlow@scope sem evidência.
CSS Values and Units (css_values_3)3RECClaimedmediumCssValueParser.php + testes unitários; a fixture é um único corpus.json. Backfill #626.
CSS Values and Units (css_values_4)4CRClaimedmediumcalc() implementado; min()/max()/clamp() aninhados sem evidência completa.
CSS Values and Units (css_values_5)5EDUnknownlowSem evidência.
CSS Custom Properties (css_variables_1)1CRClaimedmediumsrc/Html/CustomProperty/ + teste de cobertura de escopo.
CSS Custom Properties (css_variables_2)2EDUnknownlowSem evidência.
CSS Conditional Rules (css_conditional_3)3CRClaimedmedium@media/@supports com parsing testado; runtime de @container preservado (ADR-028).
CSS Conditional Rules (css_conditional_4)4EDUnknownlowSem evidência.
CSS Conditional Rules (css_conditional_5)5EDUnknownlowSem evidência.
CSS Conditional Values (css_conditional_values_1)1EDUnknownlowSem evidência.
CSS Namespaces (css_namespaces_3)3RECClaimedlowO parser tolera @namespace; sem cobertura de correspondência.
CSS Style Attributes (css_style_attr_1)1CRClaimedmediumParsing de style inline em todo o pipeline; sem fixture dedicada. Backfill #622.
CSS Syntax (css_syntax_3)3CRClaimedmediumCssParser/ + testes de grammar/fuzz; sem fixture de conformidade. Backfill #623.
CSS Nesting (css_nesting_1)1CRClaimedmediumPromovido de unknown — CssNestingTest + testes de desugar/inner-scan.
CSS Environment Variables (css_env_1)1EDNot supportedmediumorientado por UA via env(); não aplicável.
CSS Custom Functions and Mixins (css_mixins_1)1EDUnknownlowSem evidência.
CSS Extensions (css_extensions_1)1NOTEUnknownlowSem evidência.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Lists and Counters (css_lists_3)3WDClaimedmediumHtmlListRenderer.php/CssCounterManager.php + 18 testes; list-style-type não aplicado a ol/ul (Phase 0).
CSS Counter Styles (css_counter_styles_3)3CRClaimedmediumEstilos de contador integrados; @counter-style pendente.
CSS Generated Content (css_content_3)3WDClaimedmediumCssContentSegment.php + testes de pseudo; ignora o aplicador (Phase 0). Backfill #621.
CSS Generated Content for Paged Media (css_gcpm_3)3WDClaimedmediumsrc/Html/Gcpm/ registros + teste de captura de nota de rodapé.
CSS Generated Content for Paged Media (css_gcpm_4)4EDUnknownlowSem evidência.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Paged Media (css_page_3)3WDClaimedmediumPage/, PagedMedia/, PageRule.php + testes de PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ tem 1 arquivo. Backfill #624.
CSS Paged Media (css_page_4)4NOTEUnknownlowPropostas futuras.
CSS Print Profile (css_print)1NOTEClaimedlowO alvo de PDF estático respeita as restrições de impressão; sem fixture de conformidade.
CSS Presentation Levels (css_preslev_1)1NOTENot supportedhighNavegação de slideware; não aplicável.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Overflow (css_overflow_3)3WDClaimedlowOverflowClip/ClipRect com testes; recorte somente em células de Table (Phase 0).
CSS Overflow (css_overflow_4)4EDUnknownlowSem evidência.
CSS Overflow (css_overflow_5)5EDUnknownlowSem evidência.
CSS Overscroll Behavior (css_overscroll_1)1CRNot supportedhighRuntime de rolagem; não aplicável.
CSS Scroll Anchoring (css_scroll_anchoring_1)1WDNot supportedhighRuntime de rolagem; não aplicável.
CSS Scroll Snap (css_scroll_snap_1)1RECNot supportedhighRuntime de rolagem; não aplicável.
CSS Scroll Snap (css_scroll_snap_2)2WDNot supportedhighRuntime de rolagem; não aplicável.
CSS Scrollbars Styling (css_scrollbars_1)1CRNot supportedhighRuntime de UA; não aplicável.
CSS Basic User Interface (css_ui_3)3RECNot supportedmediumcursor/resize somente para a interface do navegador.
CSS Basic User Interface (css_ui_4)4WDNot supportedhighRuntime de UA; não aplicável.
CSS Form Control Styling (css_forms_1)1EDNot supportedhighWidgets de formulário não renderizados pelo PDF estático.
CSS View Transitions (css_view_transitions_1)1WDNot supportedhighApenas para animação.
CSS View Transitions (css_view_transitions_2)2EDNot supportedhighApenas para animação.
CSS Spatial Navigation (css_nav_1)1NOTENot supportedhighRuntime de UA; não aplicável.
CSS Route Matching (css_navigation_1)1EDNot supportedhighRuntime de UA; não aplicável.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Table (css_tables_3)3WDVerifiedhighsrc/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 testes de TableParser + 5 PDFs de referência sintéticos em tests/Corpus/tables/
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Transforms (css_transforms_1)1CRClaimedmediumRenderer/Transform/ + ApplyTransformCommand.php; sem fixture dedicada.
CSS Transforms (css_transforms_2)2EDUnknownlowTransformações 3D sem evidência.
CSS Animations (css_animations_1)1WDNot supportedhighLinha do tempo de animação não aplicável ao PDF estático.
CSS Animations (css_animations_2)2EDNot supportedhighFora de escopo.
CSS Transitions (css_transitions_1)1WDNot supportedhighFora de escopo.
CSS Transitions (css_transitions_2)2EDNot supportedhighFora de escopo.
CSS Easing Functions (css_easing_1)1CRNot supportedhighApenas para animação.
CSS Easing Functions (css_easing_2)2EDNot supportedhighApenas para animação.
Web Animations (web_animations_1)1WDNot supportedhighAPI de runtime do navegador.
Web Animations (web_animations_2)2EDNot supportedhighAPI de runtime do navegador.
Web Animations CSS Integration (web_animations_css_integration)1EDNot supportedhighAPI de runtime do navegador.
Animation Triggers (animation_triggers)1EDNot supportedhighApenas para animação.
Pointer-driven Animations (pointer_animations_1)1EDNot supportedhighEvento de entrada em tempo de execução; não aplicável.
Scroll-driven Animations (scroll_animations_1)1EDNot supportedhighRuntime de rolagem; não aplicável.
CSS Animation Worklet (css_animation_worklet)1EDNot supportedhighRuntime de worklet do navegador.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Anchor Positioning (css_anchor_position_1)1WDUnknownlowSem código-fonte de anchor().
CSS Anchor Positioning (css_anchor_position_2)2EDUnknownlowSem evidência.
CSS Highlight API (css_highlight_api_1)1WDNot supportedhighAPI de runtime do navegador.
CSS Properties and Values API (css_properties_values_api_1)1CRNot supportedhighAPI de runtime do navegador.
CSS Painting API (css_paint_api_1)1WDNot supportedhighRuntime de worklet do navegador.
CSS Typed OM (css_typed_om_1)1WDNot supportedhighAPI de runtime do navegador.
CSSOM (cssom_1)1WDNot supportedhighAPI DOM do navegador.
CSSOM View (cssom_view_1)1WDNot supportedhighAPI DOM do navegador.
CSS Will Change (css_will_change_1)1CRNot supportedhighDica de otimização do navegador.
CSS Linked Parameters (css_link_params_1)1EDUnknownlowSem evidência.
CSS Line Grid (css_line_grid_1)1NOTEUnknownlowSem evidência.
CSS Rhythmic Sizing (css_rhythm_1)1EDUnknownlowSem evidência.
CSS Round Display (css_round_display_1)1EDNot supportedhighAlvo de display circular não aplicável.
CSS Shaders (css_shaders_1)1NOTENot supportedhighRemovido pelo W3C.
CSS Viewport (css_viewport_1)1NOTENot supportedhighViewport de UA; não aplicável.
Módulo W3CNívelW3CStatusConfiançaEvidência
Media Queries (mediaqueries_3)3RECClaimedmediumCssParser/ + testes de cobertura de media-query; sem fixture dedicada. Backfill #625.
Media Queries (mediaqueries_4)4CRClaimedmedium@media print/prefers-color-scheme analisados; sintaxe de intervalo pendente.
Media Queries (mediaqueries_5)5WDUnknownlowSem evidência.
Módulo W3CNívelW3CStatusConfiançaEvidência
CSS Level 2 (css_2_1)2.1RECClaimedlowLinha de base distribuída por src/Html/; sem fixture de conformidade única.
CSS Level 2.2 (css_2_2)2.2NOTEClaimedlowLinha de base distribuída; sem fixture dedicada.
CSS Snapshot 2026 (css_snapshot_2026)snapshotNOTEClaimedlowÍndice de outros módulos; o status é o agregado das linhas referenciadas.

Estes módulos do W3C aparecem no corpus, mas estão fora do pipeline de renderização CSS. Quando aplicável, as páginas de recurso correspondentes apontam para eles.

Módulo W3CW3CStatusConfiançaOnde
W3C SVG 1.1 (svg_1_1)RECClaimedlowSubconjunto de pintura de SVG inline em Renderer/PaintCommand/; sem fixture da matriz CSS.
W3C SVG 2.0 (svg_2_0)CRUnknownlowAssunto do pipeline Premium; sem evidência no core.
W3C PNG 3rd Edition (png_3)WDClaimedlowDecodificação de PNG no módulo Graphics/ (fora de HTML/CSS).
W3C WOFF 1.0 (woff_1_0)RECClaimedlowWOFF via pilha de Font; sem fixture da matriz CSS.
W3C WOFF 2.0 (woff_2_0)RECClaimedlowWOFF2 via pilha de Font; sem fixture da matriz CSS.
W3C WCAG 2.2 (wcag_2_2)RECVerifiedmediumsrc/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 arquivos) — PDF/UA-2.
W3C WAI-ARIA 1.2 (wai_aria_1_2)RECVerifiedmediumtests/Unit/Accessibility/HtmlAam/ (4 arquivos).
W3C ARIA Bundle (w3c_aria_bundle)RECClaimedlowPacote de orientação; a evidência concreta é a linha WAI-ARIA.
W3C AAM Bundle (w3c_aam_bundle)NOTEClaimedlowPonteiro de pacote; a evidência são as linhas WAI-ARIA/WCAG.
W3C ATAG 2.0 (atag_2_0)RECNot supportedhighAcessibilidade de ferramenta de autoria; não aplicável.
W3C XSL 1.1 (xsl_1_1)RECNot supportedhighModelo de formatação paralelo XSL-FO; não implementado.
W3C XSD 1.1 Part 1 (xsd_1_1_part1)RECNot supportedhighEsquema XML; não aplicável.
W3C XSLT 3.0 (xslt_3_0)RECNot supportedhighLinguagem de transformação; não aplicável.
Resize Observer (resize_observer_1)CRNot supportedhighAPI de runtime do navegador.

Para uma linha evoluir de claimedverified:

  1. Um conjunto de fixtures dedicado no nível de propriedade reside em tests/Unit/Html/<Module>/ (≥3 arquivos) ou um shard substantivo do corpus WPT (≥50 fixtures) em tests/Wpt/corpus/ e promovido a um teste que faz asserções.
  2. A fixture verifica o comportamento do NextPDF em relação à gramática do W3C para as propriedades primárias do módulo.
  3. A fixture passa de forma determinística sob um NextPDF\Testing\ReproducibilityProfile (structural para fixtures de asserção; bitwise somente quando existirem baselines PDF de referência por módulo).
  4. O nextpdf_status da linha no arquivo css-support-matrix-data.yaml no repositório muda para verified, com fixture_path, repro_profile e confidence atualizados.

Para uma linha evoluir de unknownclaimed:

  1. Uma passagem de auditoria confirma a evidência de implementação em src/Html/ (cite o caminho em evidence + notes).
  2. Uma issue de backfill é aberta e vinculada em backfill_issue.
  • Relatório de veracidade da matriz CSS (_css-matrix-truth-report.md, no repositório) — deltas before/after da auditoria, distribuição de confiança, registro de deflação.
  • Auditoria de cobertura de propriedades CSS (architecture/css-property-coverage-audit.md, no repositório) — auditoria interna de quatro estados por propriedade (Policy/Parsed/Applied/Rendered).
  • ADR-027 v8.0.0 BREAKING (architecture/adr/ADR-027-v8-breaking.md, no repositório) — graduação do handshake de descontinuação de vertical-lr (capacidade preservada).
  • ADR-028 v9.0.0 BREAKING (architecture/adr/ADR-028-v9-breaking.md, no repositório) — remoção do marcador de enum de Grid/Subgrid/@container (capacidades preservadas).
  • Issue de rastreamento de backfill: https://github.com/nextpdf-labs/nextpdf/issues/614