Ir al contenido

Matriz de compatibilidad de CSS

NextPDF implementa el renderizado de CSS conforme a las especificaciones publicadas por el W3C. Esta página enumera cada módulo de CSS del corpus de especificaciones de NextPDF y registra el estado de compatibilidad auditado por veracidad de cada módulo en el pipeline de renderizado.

Esta revisión es el resultado de la auditoría de veracidad de la Wave 4 B2 (sección 4.4 del plan). Las insignias de la revisión estructural anterior eran marcadores de posición sin verificar. Cada fila se reclasificó a partir de evidencia real en disco (src/Html/, tests/, tests/Wpt/corpus/), los ADR de cambios incompatibles v8/v9 y la auditoría interna de cobertura de propiedades de CSS. Se priorizó la honestidad sobre la cobertura: cuando la auditoría exigió rebajar una insignia, se rebajó.

Cuatro insignias clasifican cada fila según el contrato de verificación:

  • Verificado — implementación en src/Html/ más un fixture automatizado, dedicado y sustancial: una suite de nivel de propiedad con tres o más archivos en tests/Unit/Html/<Module>/, o un fragmento de corpus de Web Platform Tests con cincuenta o más fixtures en tests/Wpt/corpus/. Todavía no hay una línea base de PDF de referencia conectada por módulo de CSS, por lo que las filas verificadas usan el perfil de reproducibilidad structural (equivalencia de aserciones de PHPUnit), nunca bitwise.
  • Declarado — el comportamiento del módulo está implementado en src/Html/ (se cita la ruta de origen), pero el fixture dedicado es escaso, compartido o inexistente. Cada fila declarada con una implementación concreta tiene una incidencia de relleno asociada.
  • No compatible — fuera de alcance para el pipeline de renderizado de PDF estático. Incluye API exclusivas del tiempo de ejecución o del navegador, motores en tiempo de ejecución para scrolling/animation y trabajo descontinuado por el W3C. El motivo queda registrado.
  • Desconocido — el módulo está en el corpus, pero no se pudo determinar evidencia de implementación ni de fixture. La auditoría nunca infirió al alza para mejorar el recuento.

La insignia partial de la revisión estructural se retiró: cada fila marcada anteriormente como partial se reclasificó como claimed (implementación presente, sin fixture dedicado) o verified.

InsigniaSignificado
verifiedsrc/Html/ + suite de fixtures dedicada (≥3 archivos) o fragmento de WPT (≥50 fixtures); pasa de forma determinista bajo el perfil structural.
claimedEvidencia de implementación en src/Html/, sin fixture dedicado. Incidencia de relleno con seguimiento.
not-supportedExcluido explícitamente del alcance del PDF estático. Motivo registrado.
unknownSin evidencia determinable. No se infirió al alza.

La columna Confianza es una señal honesta y no binaria de qué tan sólida es la evidencia para la insignia indicada (high / medium / low), independiente de la insignia en sí.

NextPDF es compatible con los módulos de CSS que se enumeran a continuación en los niveles indicados. Las filas marcadas como Verificado cuentan con una suite de fixtures automatizada dedicada o con un fragmento de corpus de WPT sustancial que valida el comportamiento de NextPDF, y pasan de forma determinista bajo el perfil de reproducibilidad structural. Las filas marcadas como Declarado tienen evidencia de implementación en src/Html/, pero todavía no tienen fixture dedicado; cada una recibe seguimiento mediante una incidencia de relleno en la incidencia de seguimiento #614. Las filas marcadas como No compatible documentan límites de alcance explícitos para el destino de PDF estático.

No hay una línea base de PDF de referencia por módulo de CSS en esta revisión; ninguna fila declara reproducibilidad a nivel de byte. Las filas vacías están prohibidas por el contrato de verificación: cuando no se puede determinar la compatibilidad, la fila es unknown.

EstadoMódulosConfianza (alto / medio / bajo)
Verificado128 / 4 / 0
Declarado490 / 35 / 14
No compatible6762 / 5 / 0
Desconocido390 / 0 / 39
Total16770 / 44 / 53

El bloque summary de la revisión estructural presentaba inconsistencias internas: declaraba 148 en total (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), pero el archivo en realidad contenía 167 filas de módulos cuyas propias etiquetas sumaban 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Esta auditoría corrigió el total al valor real de 167 y reclasificó cada fila frente a la evidencia en disco: la categoría Verificado pasó de 34 declarados a 12 fundamentados. Esa reducción es el resultado correcto de una auditoría honesta, no una regresión. El delta completo before/after está en el archivo complementario _css-matrix-truth-report.md del repositorio.

La revisión estructural etiquetó incorrectamente tres capacidades activas como eliminadas o no compatibles. El ADR-027 y el ADR-028 eliminaron del enum ExperimentalFeature únicamente los marcadores de adhesión; las capacidades en sí siguen ACTIVAS de forma predeterminada:

  • Subgrid (css_grid_2) — ACTIVO; CssFeatureFlags::$layoutSubgrid activado de forma predeterminada. Se había etiquetado incorrectamente como «subgrid eliminado a la fuerza en v9.0.0».
  • Consultas @container (css_contain_2) — el despacho en tiempo de ejecución queda explícitamente sin cambios por el ADR-028; se preserva la exclusión por marca. Se había etiquetado incorrectamente como «eliminado a la fuerza en v9.0.0».
  • writing-mode: vertical-lr (css_writing_modes_3) — estable y activo de forma predeterminada desde v7.0.0; el ADR-027 solo graduó el protocolo de obsolescencia. Se había etiquetado incorrectamente como «obsoleto/eliminado en v8.0.0».

El conjunto legible por máquina de filas por módulo reside en el archivo css-support-matrix-data.yaml del repositorio y es la fuente de verdad. Esta página es la proyección legible para humanos, agrupada por categoría. Los componentes de Astro consumen el YAML directamente durante la compilación de la documentación.

Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Flexible Box Layout (css_flexbox_1)1CRVerificadoaltosrc/Html/Flex/, tests/Unit/Html/Flex/ (50 archivos)
CSS Grid Layout (css_grid_1)1RECVerificadoaltosrc/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654)
CSS Grid Layout — Subgrid (css_grid_2)2CRDeclaradomediosrc/Html/Grid/Subgrid/ + fragmento de WPT de 80 fixtures + 1 prueba de integración. ACTIVO de forma predeterminada (el ADR-028 eliminó únicamente el marcador del enum).
CSS Grid Layout — Masonry (css_grid_3)3EDNo compatiblealtoMasonry queda fuera de alcance para v5.x.
CSS Display (css_display_3)3CRDeclaradomedioDisplayResolver.php + pruebas del resolutor; sin suite dedicada de propiedades.
CSS Display (css_display_4)4EDDesconocidobajoSin evidencia para L4.
CSS Positioned Layout (css_position_3)3WDVerificadoaltosrc/Html/Positioned/, tests/Unit/Html/Positioned/ (8 archivos)
CSS Positioned Layout (css_position_4)4EDDesconocidobajoposition: sticky/anchor no están evidenciados.
CSS Box Alignment (css_align_3)3WDDeclaradomedioImplementado en los motores de Flex/Grid; sin suite independiente.
CSS Box Sizing (css_sizing_3)3CRDeclaradobajosrc/Html/Length/; la auditoría de la Fase 0 muestra que width/height son, en gran medida, SOLO-POLÍTICA.
CSS Box Sizing (css_sizing_4)4EDDesconocidobajoLas palabras clave de tamaño intrínseco no están evidenciadas.
CSS Box Model (css_box_3)3WDDeclaradomedioCobertura del colapso de márgenes; falta el modelo de caja left/right según la auditoría de la Fase 0. Relleno #617.
CSS Box Model (css_box_4)4EDDesconocidobajoSin evidencia.
CSS Multi-column Layout (css_multicol_1)1CRDeclaradomediosrc/Html/MultiCol/; sin suite de propiedades.
CSS Multi-column Layout (css_multicol_2)2EDDesconocidobajoSin evidencia.
CSS Fragmentation (css_break_3)3CRVerificadomediosrc/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 archivos)
CSS Fragmentation (css_break_4)4EDDesconocidobajoSin evidencia.
CSS Containment (css_contain_1)1RECNo compatiblemedioSin aplicador de contain layout/paint; sin modelo de actualización en vivo.
CSS Containment — @container (css_contain_2)2CRDeclaradobajoFragmento de WPT de 114 fixtures + modelo de disposición retenida del ADR-017/021. Tiempo de ejecución ACTIVO (el ADR-028 eliminó únicamente el marcador del enum).
CSS Containment (css_contain_3)3EDNo compatiblemedioLa contención de estilo queda fuera de alcance.
CSS Inline Layout (css_inline_3)3WDDeclaradomediosrc/Html/Layout/InlineLayout/ + 8 pruebas; initial-letter no está evidenciado.
CSS Logical Properties (css_logical_1)1WDDeclaradomedioResolutor lógico→físico para WritingMode; sin fixture dedicado. Los valores lógicos text-align: start/end se resuelven en función de direction —bajo direction: rtl, start es el borde derecho— y se aplican en las celdas de tabla.
CSS Page Floats (css_page_floats_3)3EDNo compatiblealtoFuera de alcance para v5.x.
CSS Pagination Templates (css_page_templates_3)3EDNo compatiblealtoLa paginación multirregión queda fuera de alcance.
CSS Exclusions (css_exclusions_1)1WDNo compatiblealtoNivel C; sin compromiso en la hoja de ruta.
CSS Regions (css_regions_1)1WDNo compatiblealtoDescontinuado por el W3C.
CSS Template Layout (css_template_1)1NOTENo compatiblealtoFuera de alcance.
CSS Layout API (css_layout_api_1)1WDNo compatiblealtoTiempo de ejecución de worklet; no aplicable.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Backgrounds and Borders (css_backgrounds_3)3CRDeclaradomediosrc/Html/Background/, BorderRenderer.php; bg-color solo se aplica en tablas según la auditoría de la Fase 0. Relleno #628.
CSS Backgrounds (css_backgrounds_4)4EDDesconocidobajoSin evidencia.
CSS Borders and Box Decorations (css_borders_4)4EDDesconocidobajoSin evidencia.
CSS Gap Decorations (css_gaps_1)1EDDesconocidobajoSin evidencia.
CSS Masking (css_masking_1)1CRNo compatiblemedioclip-path/mask no se enrutan a los operadores de recorte de PDF.
CSS Shadow Module (css_shadow_1)1EDDeclaradomediosrc/Html/Shadow/ (BoxShadowRenderer); sin fixture dedicado.
CSS Shapes (css_shapes_1)1CRNo compatiblealtoshape-outside queda fuera de alcance para v5.x.
CSS Shapes (css_shapes_2)2EDNo compatiblealtoFuera de alcance.
Filter Effects (filter_effects_1)1WDNo compatiblealtoLas primitivas de filtro SVG no se enrutan a PDF.
Filter Effects (filter_effects_2)2EDNo compatiblealtoFuera de alcance.
Compositing and Blending (compositing_1)1CRDeclaradomedioAsignación de modos de fusión de PDF en PaintCommand/; una prueba de modo de fusión.
Compositing (compositing_2)2EDDesconocidobajoSin evidencia.
CSS Fill and Stroke (fill_stroke_3)3EDDesconocidobajoSin evidencia.
Geometry Interfaces (geometry_1)1CRNo compatiblealtoAPI DOM Matrix de tiempo de ejecución.
DOMMatrix (matrix)1NOTENo compatiblealtoAPI de tiempo de ejecución del navegador.
Motion Path (motion_1)1WDNo compatiblealtoSolo animación.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Fonts (css_fonts_3)3RECVerificadomediosrc/Html/Font/, tests/Unit/Font/ (9) + pruebas de FontResolver
CSS Fonts (css_fonts_4)4CRVerificadoaltosrc/Html/FontFace/, tests/Unit/Html/FontFace/ (31 archivos)
CSS Fonts (css_fonts_5)5EDDesconocidobajofont-tech() no está evidenciado.
CSS Font Loading (css_font_loading_3)3WDNo compatiblealtoAPI FontFace de JS en tiempo de ejecución; la carga queda del lado de PHP mediante FontResolver.
CSS Text (css_text_3)3CRDeclaradomediosrc/Html/Text/ + 5 pruebas; Fase 0 COMPLETA para align/indent/spacing, white-space solo para <pre>. Relleno #618.
CSS Text (css_text_4)4EDDeclaradomediosrc/Html/Layout/Hyphenation/ + pruebas de estrategia; otras propiedades de L4 pendientes.
CSS Text Decoration (css_text_decor_3)3CRDeclaradomediosrc/Html/Text/; Fase 0 COMPLETA pero sin fixture dedicado. Relleno #619.
CSS Text Decoration (css_text_decor_4)4EDDesconocidobajotext-emphasis no está evidenciado.
CSS Ruby (css_ruby_1)1WDNo compatiblealtoLas anotaciones Ruby quedan fuera de alcance para v5.x.
CSS Writing Modes (css_writing_modes_3)3RECDeclaradomediosrc/Html/Layout/WritingMode/ (7 pruebas) + fragmento de WPT de 140 fixtures. vertical-lr ACTIVO de forma predeterminada (ADR-027). direction: rtl es funcional: reordenación bidireccional UAX#9 más shaping contextual del árabe, con alineación al inicio en las celdas de tabla. La alineación de bloques que no son de tabla y justify todavía no se aplican, y el atributo HTML dir no se asigna (usar el CSS direction). Consulta Renderizar HTML árabe de derecha a izquierda. Relleno #629.
CSS Writing Modes (css_writing_modes_4)4EDDesconocidobajoSin evidencia.
CSS Speech (css_speech_1)1CRNo compatiblealtoEl renderizado auditivo no es aplicable.
CSS Mobile Text Size Adjustment (css_size_adjust_1)1EDNo compatiblealtoSugerencia del UA para teléfonos; no aplicable.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Color (css_color_3)3RECDeclaradomediosrc/Html/Color/, NamedColors.php + pruebas del parser; sin fixture de módulo. Relleno #620.
CSS Color (css_color_4)4CRDeclaradomedioAnálisis de Lab/LCH/OKLab; no se afirma la fidelidad del espacio de color de PDF.
CSS Color (css_color_5)5WDDesconocidobajocolor-mix() no está evidenciado.
CSS Color (css_color_6)6EDDesconocidobajoSin evidencia.
CSS Color Adjustment (css_color_adjust_1)1CRNo compatiblealtocolor-scheme gobernado por el UA; no aplicable.
CSS Color HDR (css_color_hdr_1)1EDNo compatiblealtoEl HDR no se enruta al espacio de color de PDF.
CSS Images (css_images_3)3CRDeclaradomediosrc/Html/Gradient/ (lineal/radial/cónico) + pruebas del parser.
CSS Images (css_images_4)4EDDesconocidobajoimage()/image-set() no están evidenciados.
CSS Images (css_images_5)5EDDesconocidobajoSin evidencia.
CSS Image Animation (css_image_animation_1)1EDNo compatiblealtoSolo animación.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Selectors (selectors_3)3RECDeclaradomedioHasSelectorResolver.php + pruebas de CssRule; el fixture es un único corpus.json. Relleno #627.
CSS Selectors (selectors_4)4WDDeclaradomedio:is()/:where()/:not()/:has() probados; queda pendiente L4 avanzado.
CSS Selectors (selectors_5)5EDDesconocidobajoSin evidencia.
CSS Non-element Selectors (selectors_nonelement_1)1WDNo compatiblealtoEnlaces de hoja de estilos del navegador; no aplicable.
CSS Pseudo-Elements (css_pseudo_4)4WDDeclaradomediosrc/Html/Pseudo/ (12) + ~10 pruebas del renderer; sin suite de módulo.
CSS Cascading and Inheritance (css_cascade_3)3RECVerificadoaltosrc/Html/Cascade/, tests/Unit/Html/Cascade/ (9 archivos)
CSS Cascading (css_cascade_4)4CRVerificadoaltoCascade/Layer/ + pruebas de revert/layer
CSS Cascading (css_cascade_5)5CRVerificadoaltoAtRule/Layer/ + Cascade/Layer/ suites
CSS Cascading (css_cascade_6)6WDDesconocidobajo@scope no está evidenciado.
CSS Values and Units (css_values_3)3RECDeclaradomedioCssValueParser.php + pruebas unitarias; el fixture es un único corpus.json. Relleno #626.
CSS Values and Units (css_values_4)4CRDeclaradomediocalc() implementado; min()/max()/clamp() anidados no están completamente evidenciados.
CSS Values and Units (css_values_5)5EDDesconocidobajoSin evidencia.
CSS Custom Properties (css_variables_1)1CRDeclaradomediosrc/Html/CustomProperty/ + prueba de cobertura de ámbito.
CSS Custom Properties (css_variables_2)2EDDesconocidobajoSin evidencia.
CSS Conditional Rules (css_conditional_3)3CRDeclaradomedioAnálisis de @media/@supports probado; @container en tiempo de ejecución preservado (ADR-028).
CSS Conditional Rules (css_conditional_4)4EDDesconocidobajoSin evidencia.
CSS Conditional Rules (css_conditional_5)5EDDesconocidobajoSin evidencia.
CSS Conditional Values (css_conditional_values_1)1EDDesconocidobajoSin evidencia.
CSS Namespaces (css_namespaces_3)3RECDeclaradobajoEl parser tolera @namespace; sin cobertura de coincidencia.
CSS Style Attributes (css_style_attr_1)1CRDeclaradomedioAnálisis de style en línea a lo largo del pipeline; sin fixture dedicado. Relleno #622.
CSS Syntax (css_syntax_3)3CRDeclaradomedioCssParser/ + pruebas de grammar/fuzz; sin fixture de conformidad. Relleno #623.
CSS Nesting (css_nesting_1)1CRDeclaradomedioPromovido desde unknown — CssNestingTest + pruebas de desugar/inner-scan.
CSS Environment Variables (css_env_1)1EDNo compatiblemedioenv() gobernado por el UA; no aplicable.
CSS Custom Functions and Mixins (css_mixins_1)1EDDesconocidobajoSin evidencia.
CSS Extensions (css_extensions_1)1NOTEDesconocidobajoSin evidencia.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Lists and Counters (css_lists_3)3WDDeclaradomedioHtmlListRenderer.php/CssCounterManager.php + 18 pruebas; list-style-type no se aplica a ol/ul (Fase 0).
CSS Counter Styles (css_counter_styles_3)3CRDeclaradomedioEstilos de contador integrados; @counter-style pendiente.
CSS Generated Content (css_content_3)3WDDeclaradomedioCssContentSegment.php + pruebas de pseudoelementos; omite el aplicador (Fase 0). Relleno #621.
CSS Generated Content for Paged Media (css_gcpm_3)3WDDeclaradomediosrc/Html/Gcpm/ registros + una prueba de captura de notas al pie.
CSS Generated Content for Paged Media (css_gcpm_4)4EDDesconocidobajoSin evidencia.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Paged Media (css_page_3)3WDDeclaradomedioPage/, PagedMedia/, PageRule.php + pruebas de PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ tiene 1 archivo. Relleno #624.
CSS Paged Media (css_page_4)4NOTEDesconocidobajoPropuestas futuras.
CSS Print Profile (css_print)1NOTEDeclaradobajoEl destino de PDF estático respeta las restricciones de impresión; sin fixture de conformidad.
CSS Presentation Levels (css_preslev_1)1NOTENo compatiblealtoNavegación de presentaciones; no aplicable.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Overflow (css_overflow_3)3WDDeclaradobajoPruebas de OverflowClip/ClipRect; recorte solo en celdas de tabla (Fase 0).
CSS Overflow (css_overflow_4)4EDDesconocidobajoSin evidencia.
CSS Overflow (css_overflow_5)5EDDesconocidobajoSin evidencia.
CSS Overscroll Behavior (css_overscroll_1)1CRNo compatiblealtoTiempo de ejecución de desplazamiento; no aplicable.
CSS Scroll Anchoring (css_scroll_anchoring_1)1WDNo compatiblealtoTiempo de ejecución de desplazamiento; no aplicable.
CSS Scroll Snap (css_scroll_snap_1)1RECNo compatiblealtoTiempo de ejecución de desplazamiento; no aplicable.
CSS Scroll Snap (css_scroll_snap_2)2WDNo compatiblealtoTiempo de ejecución de desplazamiento; no aplicable.
CSS Scrollbars Styling (css_scrollbars_1)1CRNo compatiblealtoTiempo de ejecución del UA; no aplicable.
CSS Basic User Interface (css_ui_3)3RECNo compatiblemediocursor/resize son solo de interfaz del navegador.
CSS Basic User Interface (css_ui_4)4WDNo compatiblealtoTiempo de ejecución del UA; no aplicable.
CSS Form Control Styling (css_forms_1)1EDNo compatiblealtoEl PDF estático no renderiza controles de formulario.
CSS View Transitions (css_view_transitions_1)1WDNo compatiblealtoSolo animación.
CSS View Transitions (css_view_transitions_2)2EDNo compatiblealtoSolo animación.
CSS Spatial Navigation (css_nav_1)1NOTENo compatiblealtoTiempo de ejecución del UA; no aplicable.
CSS Route Matching (css_navigation_1)1EDNo compatiblealtoTiempo de ejecución del UA; no aplicable.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Table (css_tables_3)3WDVerificadoaltosrc/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 pruebas de TableParser + 5 PDF de referencia sintéticos en tests/Corpus/tables/
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Transforms (css_transforms_1)1CRDeclaradomedioRenderer/Transform/ + ApplyTransformCommand.php; sin fixture dedicado.
CSS Transforms (css_transforms_2)2EDDesconocidobajoLas transformaciones 3D no están evidenciadas.
CSS Animations (css_animations_1)1WDNo compatiblealtoLa línea de tiempo de animación no es aplicable al PDF estático.
CSS Animations (css_animations_2)2EDNo compatiblealtoFuera de alcance.
CSS Transitions (css_transitions_1)1WDNo compatiblealtoFuera de alcance.
CSS Transitions (css_transitions_2)2EDNo compatiblealtoFuera de alcance.
CSS Easing Functions (css_easing_1)1CRNo compatiblealtoSolo animación.
CSS Easing Functions (css_easing_2)2EDNo compatiblealtoSolo animación.
Web Animations (web_animations_1)1WDNo compatiblealtoAPI de tiempo de ejecución del navegador.
Web Animations (web_animations_2)2EDNo compatiblealtoAPI de tiempo de ejecución del navegador.
Web Animations CSS Integration (web_animations_css_integration)1EDNo compatiblealtoAPI de tiempo de ejecución del navegador.
Animation Triggers (animation_triggers)1EDNo compatiblealtoSolo animación.
Pointer-driven Animations (pointer_animations_1)1EDNo compatiblealtoEvento de entrada en tiempo de ejecución; no aplicable.
Scroll-driven Animations (scroll_animations_1)1EDNo compatiblealtoTiempo de ejecución de desplazamiento; no aplicable.
CSS Animation Worklet (css_animation_worklet)1EDNo compatiblealtoTiempo de ejecución de worklet del navegador.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Anchor Positioning (css_anchor_position_1)1WDDesconocidobajoSin fuente para anchor().
CSS Anchor Positioning (css_anchor_position_2)2EDDesconocidobajoSin evidencia.
CSS Highlight API (css_highlight_api_1)1WDNo compatiblealtoAPI de tiempo de ejecución del navegador.
CSS Properties and Values API (css_properties_values_api_1)1CRNo compatiblealtoAPI de tiempo de ejecución del navegador.
CSS Painting API (css_paint_api_1)1WDNo compatiblealtoTiempo de ejecución de worklet del navegador.
CSS Typed OM (css_typed_om_1)1WDNo compatiblealtoAPI de tiempo de ejecución del navegador.
CSSOM (cssom_1)1WDNo compatiblealtoAPI del DOM del navegador.
CSSOM View (cssom_view_1)1WDNo compatiblealtoAPI del DOM del navegador.
CSS Will Change (css_will_change_1)1CRNo compatiblealtoSugerencia de optimización del navegador.
CSS Linked Parameters (css_link_params_1)1EDDesconocidobajoSin evidencia.
CSS Line Grid (css_line_grid_1)1NOTEDesconocidobajoSin evidencia.
CSS Rhythmic Sizing (css_rhythm_1)1EDDesconocidobajoSin evidencia.
CSS Round Display (css_round_display_1)1EDNo compatiblealtoEl destino de pantalla redonda no es aplicable.
CSS Shaders (css_shaders_1)1NOTENo compatiblealtoEliminado por el W3C.
CSS Viewport (css_viewport_1)1NOTENo compatiblealtoViewport del UA; no aplicable.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
Media Queries (mediaqueries_3)3RECDeclaradomedioCssParser/ + pruebas de cobertura de consultas de medios; sin fixture dedicado. Relleno #625.
Media Queries (mediaqueries_4)4CRDeclaradomedio@media print/prefers-color-scheme analizados; sintaxis de rangos pendiente.
Media Queries (mediaqueries_5)5WDDesconocidobajoSin evidencia.
Módulo W3CNivelW3CEstadoConfianzaEvidencia
CSS Level 2 (css_2_1)2.1RECDeclaradobajoBase distribuida en src/Html/; sin un único fixture de conformidad.
CSS Level 2.2 (css_2_2)2.2NOTEDeclaradobajoBase distribuida; sin fixture dedicado.
CSS Snapshot 2026 (css_snapshot_2026)snapshotNOTEDeclaradobajoÍndice de otros módulos; el estado es el agregado de las filas referenciadas.

Estos módulos del W3C aparecen en el corpus, pero quedan fuera del alcance del pipeline de renderizado de CSS. Se enlazan desde las páginas de funcionalidad correspondientes cuando procede.

Módulo W3CW3CEstadoConfianzaDónde
W3C SVG 1.1 (svg_1_1)RECDeclaradobajoSubconjunto de pintado de SVG en línea en Renderer/PaintCommand/; sin fixture de la matriz de CSS.
W3C SVG 2.0 (svg_2_0)CRDesconocidobajoPertenece al pipeline de Premium; sin evidencia en Core.
W3C PNG 3rd Edition (png_3)WDDeclaradobajoDecodificación de PNG en el módulo Graphics/ (fuera de HTML/CSS).
W3C WOFF 1.0 (woff_1_0)RECDeclaradobajoWOFF mediante la pila de fuentes; sin fixture de la matriz de CSS.
W3C WOFF 2.0 (woff_2_0)RECDeclaradobajoWOFF2 mediante la pila de fuentes; sin fixture de la matriz de CSS.
W3C WCAG 2.2 (wcag_2_2)RECVerificadomediosrc/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 archivos) — PDF/UA-2.
W3C WAI-ARIA 1.2 (wai_aria_1_2)RECVerificadomediotests/Unit/Accessibility/HtmlAam/ (4 archivos).
W3C ARIA Bundle (w3c_aria_bundle)RECDeclaradobajoPaquete de orientación; la evidencia concreta es la fila de WAI-ARIA.
W3C AAM Bundle (w3c_aam_bundle)NOTEDeclaradobajoPuntero al paquete; la evidencia son las filas de WAI-ARIA/WCAG.
W3C ATAG 2.0 (atag_2_0)RECNo compatiblealtoAccesibilidad de la herramienta de autoría; no aplicable.
W3C XSL 1.1 (xsl_1_1)RECNo compatiblealtoModelo de formato paralelo XSL-FO; no implementado.
W3C XSD 1.1 Part 1 (xsd_1_1_part1)RECNo compatiblealtoEsquema XML; no aplicable.
W3C XSLT 3.0 (xslt_3_0)RECNo compatiblealtoLenguaje de transformación; no aplicable.
Resize Observer (resize_observer_1)CRNo compatiblealtoAPI de tiempo de ejecución del navegador.

Para que una fila ascienda de claimed a verified:

  1. Una suite de fixtures dedicada a nivel de propiedad reside en tests/Unit/Html/<Module>/ (≥3 archivos) o se promueve un fragmento de corpus de WPT sustancial (≥50 fixtures) en tests/Wpt/corpus/ a una prueba con aserciones.
  2. El fixture valida el comportamiento de NextPDF frente a la gramática del W3C para las propiedades principales del módulo.
  3. El fixture pasa de forma determinista bajo un NextPDF\Testing\ReproducibilityProfile (structural para los fixtures de aserciones; bitwise solo una vez que existan líneas base de PDF de referencia por módulo).
  4. El nextpdf_status de la fila en el archivo css-support-matrix-data.yaml del repositorio cambia a verified con fixture_path, repro_profile y confidence actualizados.

Para que una fila ascienda de unknown a claimed:

  1. Una auditoría confirma evidencia de implementación en src/Html/ (con la ruta citada en evidence + notes).
  2. Se abre una incidencia de relleno y se enlaza en backfill_issue.
  • Informe de veracidad de la matriz de CSS (_css-matrix-truth-report.md, en el repositorio) — deltas de auditoría before/after, distribución de confianza, registro de desinflado.
  • Auditoría de cobertura de propiedades de CSS (architecture/css-property-coverage-audit.md, en el repositorio) — auditoría interna de cuatro estados por propiedad (Policy/Parsed/Applied/Rendered).
  • ADR-027 v8.0.0 BREAKING (architecture/adr/ADR-027-v8-breaking.md, en el repositorio) — graduación del protocolo de obsolescencia de vertical-lr (capacidad preservada).
  • ADR-028 v9.0.0 BREAKING (architecture/adr/ADR-028-v9-breaking.md, en el repositorio) — eliminación del marcador del enum Grid/Subgrid/@container (capacidades preservadas).
  • Incidencia de seguimiento del relleno: https://github.com/nextpdf-labs/nextpdf/issues/614