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.
| Selo | Significado |
|---|
verified | src/Html/ + conjunto de fixtures dedicado (≥3 arquivos) ou shard WPT (≥50 fixtures); passa de forma determinística sob o perfil structural. |
claimed | Evidência de implementação em src/Html/, sem fixture dedicada. Issue de backfill rastreada. |
not-supported | Explicitamente excluído do escopo de PDF estático. Motivo registrado. |
unknown | Sem 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.
| Status | Módulos | Confiança (high / medium / low) |
|---|
| Verified | 12 | 8 / 4 / 0 |
| Claimed | 49 | 0 / 35 / 14 |
| Not supported | 67 | 62 / 5 / 0 |
| Unknown | 39 | 0 / 0 / 39 |
| Total | 167 | 70 / 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 W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Flexible Box Layout (css_flexbox_1) | 1 | CR | Verified | high | src/Html/Flex/, tests/Unit/Html/Flex/ (50 arquivos) |
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 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) | 3 | ED | Not supported | high | Masonry fora de escopo para a v5.x. |
CSS Display (css_display_3) | 3 | CR | Claimed | medium | DisplayResolver.php + testes de resolver; sem conjunto de propriedades dedicado. |
CSS Display (css_display_4) | 4 | ED | Unknown | low | Sem evidência de L4. |
CSS Positioned Layout (css_position_3) | 3 | WD | Verified | high | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 arquivos) |
CSS Positioned Layout (css_position_4) | 4 | ED | Unknown | low | position: sticky/anchor sem evidência. |
CSS Box Alignment (css_align_3) | 3 | WD | Claimed | medium | Implementado dentro dos motores Flex/Grid; sem conjunto autônomo. |
CSS Box Sizing (css_sizing_3) | 3 | CR | Claimed | low | src/Html/Length/; a auditoria da Phase 0 mostra width/height em grande parte SOMENTE-POLÍTICA. |
CSS Box Sizing (css_sizing_4) | 4 | ED | Unknown | low | Palavras-chave de tamanho intrínseco sem evidência. |
CSS Box Model (css_box_3) | 3 | WD | Claimed | medium | Cobertura de colapso de margem; modelo de caixa left/right ausente conforme a auditoria da Phase 0. Backfill #617. |
CSS Box Model (css_box_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Multi-column Layout (css_multicol_1) | 1 | CR | Claimed | medium | src/Html/MultiCol/; sem conjunto de propriedades. |
CSS Multi-column Layout (css_multicol_2) | 2 | ED | Unknown | low | Sem evidência. |
CSS Fragmentation (css_break_3) | 3 | CR | Verified | medium | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 arquivos) |
CSS Fragmentation (css_break_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Containment (css_contain_1) | 1 | REC | Not supported | medium | Sem aplicador de contain layout/paint; sem modelo de atualização em tempo real. |
CSS Containment — @container (css_contain_2) | 2 | CR | Claimed | low | Shard 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) | 3 | ED | Not supported | medium | Contenção de estilo fora de escopo. |
CSS Inline Layout (css_inline_3) | 3 | WD | Claimed | medium | src/Html/Layout/InlineLayout/ + 8 testes; initial-letter sem evidência. |
CSS Logical Properties (css_logical_1) | 1 | WD | Claimed | medium | Resolver 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) | 3 | ED | Not supported | high | Fora de escopo para a v5.x. |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Not supported | high | Paginação multirregião fora de escopo. |
CSS Exclusions (css_exclusions_1) | 1 | WD | Not supported | high | Tier C; sem compromisso de roadmap. |
CSS Regions (css_regions_1) | 1 | WD | Not supported | high | Descontinuado pelo W3C. |
CSS Template Layout (css_template_1) | 1 | NOTE | Not supported | high | Fora de escopo. |
CSS Layout API (css_layout_api_1) | 1 | WD | Not supported | high | Runtime de worklet; não aplicável. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Backgrounds and Borders (css_backgrounds_3) | 3 | CR | Claimed | medium | src/Html/Background/, BorderRenderer.php; bg-color somente em Table conforme a auditoria da Phase 0. Backfill #628. |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Borders and Box Decorations (css_borders_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Unknown | low | Sem evidência. |
CSS Masking (css_masking_1) | 1 | CR | Not supported | medium | clip-path/mask não roteados para operadores de recorte do PDF. |
CSS Shadow Module (css_shadow_1) | 1 | ED | Claimed | medium | src/Html/Shadow/ (BoxShadowRenderer); sem fixture dedicada. |
CSS Shapes (css_shapes_1) | 1 | CR | Not supported | high | shape-outside fora de escopo para a v5.x. |
CSS Shapes (css_shapes_2) | 2 | ED | Not supported | high | Fora de escopo. |
Filter Effects (filter_effects_1) | 1 | WD | Not supported | high | Primitivas de filtro SVG não roteadas para o PDF. |
Filter Effects (filter_effects_2) | 2 | ED | Not supported | high | Fora de escopo. |
Compositing and Blending (compositing_1) | 1 | CR | Claimed | medium | Mapeamento de blend-mode do PDF em PaintCommand/; um teste de blend-mode. |
Compositing (compositing_2) | 2 | ED | Unknown | low | Sem evidência. |
CSS Fill and Stroke (fill_stroke_3) | 3 | ED | Unknown | low | Sem evidência. |
Geometry Interfaces (geometry_1) | 1 | CR | Not supported | high | API de runtime DOM Matrix. |
DOMMatrix (matrix) | 1 | NOTE | Not supported | high | API de runtime do navegador. |
Motion Path (motion_1) | 1 | WD | Not supported | high | Apenas para animação. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Verified | medium | src/Html/Font/, tests/Unit/Font/ (9) + testes de FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Verified | high | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 arquivos) |
CSS Fonts (css_fonts_5) | 5 | ED | Unknown | low | font-tech() sem evidência. |
CSS Font Loading (css_font_loading_3) | 3 | WD | Not supported | high | API de runtime FontFace em JS; carregamento no lado PHP via FontResolver. |
CSS Text (css_text_3) | 3 | CR | Claimed | medium | src/Html/Text/ + 5 testes; Phase 0 FULL para align/indent/spacing, white-space somente em <pre>. Backfill #618. |
CSS Text (css_text_4) | 4 | ED | Claimed | medium | src/Html/Layout/Hyphenation/ + testes de estratégia; demais props L4 pendentes. |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Claimed | medium | src/Html/Text/; Phase 0 FULL, mas sem fixture dedicada. Backfill #619. |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Unknown | low | text-emphasis sem evidência. |
CSS Ruby (css_ruby_1) | 1 | WD | Not supported | high | Anotações Ruby fora de escopo para a v5.x. |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Claimed | medium | src/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) | 4 | ED | Unknown | low | Sem evidência. |
CSS Speech (css_speech_1) | 1 | CR | Not supported | high | Renderização sonora não aplicável. |
CSS Mobile Text Size Adjustment (css_size_adjust_1) | 1 | ED | Not supported | high | Dica de UA mobile; não aplicável. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Color (css_color_3) | 3 | REC | Claimed | medium | src/Html/Color/, NamedColors.php + testes de parser; sem fixture de módulo. Backfill #620. |
CSS Color (css_color_4) | 4 | CR | Claimed | medium | Parsing de Lab/LCH/OKLab; fidelidade de PDF-colorspace não verificada. |
CSS Color (css_color_5) | 5 | WD | Unknown | low | color-mix() sem evidência. |
CSS Color (css_color_6) | 6 | ED | Unknown | low | Sem evidência. |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Not supported | high | color-scheme orientado por UA; não aplicável. |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Not supported | high | HDR não roteado para o colorspace do PDF. |
CSS Images (css_images_3) | 3 | CR | Claimed | medium | src/Html/Gradient/ (linear/radial/conic) + testes de parser. |
CSS Images (css_images_4) | 4 | ED | Unknown | low | image()/image-set() sem evidência. |
CSS Images (css_images_5) | 5 | ED | Unknown | low | Sem evidência. |
CSS Image Animation (css_image_animation_1) | 1 | ED | Not supported | high | Apenas para animação. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Selectors (selectors_3) | 3 | REC | Claimed | medium | HasSelectorResolver.php + testes de CssRule; a fixture é um único corpus.json. Backfill #627. |
CSS Selectors (selectors_4) | 4 | WD | Claimed | medium | :is()/:where()/:not()/:has() testados; recursos avançados de L4 pendentes. |
CSS Selectors (selectors_5) | 5 | ED | Unknown | low | Sem evidência. |
CSS Non-element Selectors (selectors_nonelement_1) | 1 | WD | Not supported | high | Hooks de folha de estilo do navegador; não aplicável. |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Claimed | medium | src/Html/Pseudo/ (12) + ~10 testes de renderer; sem conjunto de módulo. |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Verified | high | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 arquivos) |
CSS Cascading (css_cascade_4) | 4 | CR | Verified | high | Cascade/Layer/ + testes de revert/layer |
CSS Cascading (css_cascade_5) | 5 | CR | Verified | high | AtRule/Layer/ + Cascade/Layer/ (conjuntos) |
CSS Cascading (css_cascade_6) | 6 | WD | Unknown | low | @scope sem evidência. |
CSS Values and Units (css_values_3) | 3 | REC | Claimed | medium | CssValueParser.php + testes unitários; a fixture é um único corpus.json. Backfill #626. |
CSS Values and Units (css_values_4) | 4 | CR | Claimed | medium | calc() implementado; min()/max()/clamp() aninhados sem evidência completa. |
CSS Values and Units (css_values_5) | 5 | ED | Unknown | low | Sem evidência. |
CSS Custom Properties (css_variables_1) | 1 | CR | Claimed | medium | src/Html/CustomProperty/ + teste de cobertura de escopo. |
CSS Custom Properties (css_variables_2) | 2 | ED | Unknown | low | Sem evidência. |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Claimed | medium | @media/@supports com parsing testado; runtime de @container preservado (ADR-028). |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Unknown | low | Sem evidência. |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Unknown | low | Sem evidência. |
CSS Namespaces (css_namespaces_3) | 3 | REC | Claimed | low | O parser tolera @namespace; sem cobertura de correspondência. |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Claimed | medium | Parsing de style inline em todo o pipeline; sem fixture dedicada. Backfill #622. |
CSS Syntax (css_syntax_3) | 3 | CR | Claimed | medium | CssParser/ + testes de grammar/fuzz; sem fixture de conformidade. Backfill #623. |
CSS Nesting (css_nesting_1) | 1 | CR | Claimed | medium | Promovido de unknown — CssNestingTest + testes de desugar/inner-scan. |
CSS Environment Variables (css_env_1) | 1 | ED | Not supported | medium | orientado por UA via env(); não aplicável. |
CSS Custom Functions and Mixins (css_mixins_1) | 1 | ED | Unknown | low | Sem evidência. |
CSS Extensions (css_extensions_1) | 1 | NOTE | Unknown | low | Sem evidência. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Lists and Counters (css_lists_3) | 3 | WD | Claimed | medium | HtmlListRenderer.php/CssCounterManager.php + 18 testes; list-style-type não aplicado a ol/ul (Phase 0). |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Claimed | medium | Estilos de contador integrados; @counter-style pendente. |
CSS Generated Content (css_content_3) | 3 | WD | Claimed | medium | CssContentSegment.php + testes de pseudo; ignora o aplicador (Phase 0). Backfill #621. |
CSS Generated Content for Paged Media (css_gcpm_3) | 3 | WD | Claimed | medium | src/Html/Gcpm/ registros + teste de captura de nota de rodapé. |
CSS Generated Content for Paged Media (css_gcpm_4) | 4 | ED | Unknown | low | Sem evidência. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Claimed | medium | Page/, PagedMedia/, PageRule.php + testes de PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ tem 1 arquivo. Backfill #624. |
CSS Paged Media (css_page_4) | 4 | NOTE | Unknown | low | Propostas futuras. |
CSS Print Profile (css_print) | 1 | NOTE | Claimed | low | O alvo de PDF estático respeita as restrições de impressão; sem fixture de conformidade. |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Not supported | high | Navegação de slideware; não aplicável. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Claimed | low | OverflowClip/ClipRect com testes; recorte somente em células de Table (Phase 0). |
CSS Overflow (css_overflow_4) | 4 | ED | Unknown | low | Sem evidência. |
CSS Overflow (css_overflow_5) | 5 | ED | Unknown | low | Sem evidência. |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Not supported | high | Runtime de rolagem; não aplicável. |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Not supported | high | Runtime de rolagem; não aplicável. |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Not supported | high | Runtime de rolagem; não aplicável. |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Not supported | high | Runtime de rolagem; não aplicável. |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Not supported | high | Runtime de UA; não aplicável. |
CSS Basic User Interface (css_ui_3) | 3 | REC | Not supported | medium | cursor/resize somente para a interface do navegador. |
CSS Basic User Interface (css_ui_4) | 4 | WD | Not supported | high | Runtime de UA; não aplicável. |
CSS Form Control Styling (css_forms_1) | 1 | ED | Not supported | high | Widgets de formulário não renderizados pelo PDF estático. |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Not supported | high | Apenas para animação. |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Not supported | high | Apenas para animação. |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Not supported | high | Runtime de UA; não aplicável. |
CSS Route Matching (css_navigation_1) | 1 | ED | Not supported | high | Runtime de UA; não aplicável. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Table (css_tables_3) | 3 | WD | Verified | high | src/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 testes de TableParser + 5 PDFs de referência sintéticos em tests/Corpus/tables/ |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Claimed | medium | Renderer/Transform/ + ApplyTransformCommand.php; sem fixture dedicada. |
CSS Transforms (css_transforms_2) | 2 | ED | Unknown | low | Transformações 3D sem evidência. |
CSS Animations (css_animations_1) | 1 | WD | Not supported | high | Linha do tempo de animação não aplicável ao PDF estático. |
CSS Animations (css_animations_2) | 2 | ED | Not supported | high | Fora de escopo. |
CSS Transitions (css_transitions_1) | 1 | WD | Not supported | high | Fora de escopo. |
CSS Transitions (css_transitions_2) | 2 | ED | Not supported | high | Fora de escopo. |
CSS Easing Functions (css_easing_1) | 1 | CR | Not supported | high | Apenas para animação. |
CSS Easing Functions (css_easing_2) | 2 | ED | Not supported | high | Apenas para animação. |
Web Animations (web_animations_1) | 1 | WD | Not supported | high | API de runtime do navegador. |
Web Animations (web_animations_2) | 2 | ED | Not supported | high | API de runtime do navegador. |
Web Animations CSS Integration (web_animations_css_integration) | 1 | ED | Not supported | high | API de runtime do navegador. |
Animation Triggers (animation_triggers) | 1 | ED | Not supported | high | Apenas para animação. |
Pointer-driven Animations (pointer_animations_1) | 1 | ED | Not supported | high | Evento de entrada em tempo de execução; não aplicável. |
Scroll-driven Animations (scroll_animations_1) | 1 | ED | Not supported | high | Runtime de rolagem; não aplicável. |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Not supported | high | Runtime de worklet do navegador. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Unknown | low | Sem código-fonte de anchor(). |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Unknown | low | Sem evidência. |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Not supported | high | API de runtime do navegador. |
CSS Properties and Values API (css_properties_values_api_1) | 1 | CR | Not supported | high | API de runtime do navegador. |
CSS Painting API (css_paint_api_1) | 1 | WD | Not supported | high | Runtime de worklet do navegador. |
CSS Typed OM (css_typed_om_1) | 1 | WD | Not supported | high | API de runtime do navegador. |
CSSOM (cssom_1) | 1 | WD | Not supported | high | API DOM do navegador. |
CSSOM View (cssom_view_1) | 1 | WD | Not supported | high | API DOM do navegador. |
CSS Will Change (css_will_change_1) | 1 | CR | Not supported | high | Dica de otimização do navegador. |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Unknown | low | Sem evidência. |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Unknown | low | Sem evidência. |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Unknown | low | Sem evidência. |
CSS Round Display (css_round_display_1) | 1 | ED | Not supported | high | Alvo de display circular não aplicável. |
CSS Shaders (css_shaders_1) | 1 | NOTE | Not supported | high | Removido pelo W3C. |
CSS Viewport (css_viewport_1) | 1 | NOTE | Not supported | high | Viewport de UA; não aplicável. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Claimed | medium | CssParser/ + testes de cobertura de media-query; sem fixture dedicada. Backfill #625. |
Media Queries (mediaqueries_4) | 4 | CR | Claimed | medium | @media print/prefers-color-scheme analisados; sintaxe de intervalo pendente. |
Media Queries (mediaqueries_5) | 5 | WD | Unknown | low | Sem evidência. |
| Módulo W3C | Nível | W3C | Status | Confiança | Evidência |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Claimed | low | Linha de base distribuída por src/Html/; sem fixture de conformidade única. |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Claimed | low | Linha de base distribuída; sem fixture dedicada. |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Claimed | low | Í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 W3C | W3C | Status | Confiança | Onde |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Claimed | low | Subconjunto de pintura de SVG inline em Renderer/PaintCommand/; sem fixture da matriz CSS. |
W3C SVG 2.0 (svg_2_0) | CR | Unknown | low | Assunto do pipeline Premium; sem evidência no core. |
W3C PNG 3rd Edition (png_3) | WD | Claimed | low | Decodificação de PNG no módulo Graphics/ (fora de HTML/CSS). |
W3C WOFF 1.0 (woff_1_0) | REC | Claimed | low | WOFF via pilha de Font; sem fixture da matriz CSS. |
W3C WOFF 2.0 (woff_2_0) | REC | Claimed | low | WOFF2 via pilha de Font; sem fixture da matriz CSS. |
W3C WCAG 2.2 (wcag_2_2) | REC | Verified | medium | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 arquivos) — PDF/UA-2. |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Verified | medium | tests/Unit/Accessibility/HtmlAam/ (4 arquivos). |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Claimed | low | Pacote de orientação; a evidência concreta é a linha WAI-ARIA. |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Claimed | low | Ponteiro de pacote; a evidência são as linhas WAI-ARIA/WCAG. |
W3C ATAG 2.0 (atag_2_0) | REC | Not supported | high | Acessibilidade de ferramenta de autoria; não aplicável. |
W3C XSL 1.1 (xsl_1_1) | REC | Not supported | high | Modelo de formatação paralelo XSL-FO; não implementado. |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Not supported | high | Esquema XML; não aplicável. |
W3C XSLT 3.0 (xslt_3_0) | REC | Not supported | high | Linguagem de transformação; não aplicável. |
Resize Observer (resize_observer_1) | CR | Not supported | high | API de runtime do navegador. |
Para uma linha evoluir de claimed → verified:
- 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.
- A fixture verifica o comportamento do NextPDF em relação à gramática do W3C para as propriedades primárias do módulo.
- 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).
- 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 unknown → claimed:
- Uma passagem de auditoria confirma a evidência de implementação em
src/Html/ (cite o caminho em evidence + notes).
- 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