콘텐츠로 이동
getnextpdf.com

CSS 지원 매트릭스

NextPDF는 W3C 발행 명세에 따라 CSS 렌더링을 구현합니다. 이 페이지는 NextPDF의 명세 코퍼스에 포함된 모든 CSS 모듈을 열거하고, 렌더링 파이프라인에서 각 모듈의 진실-감사된 지원 상태를 기록합니다.

이 개정판은 Wave 4 B2 진실 감사(계획 4.4 절)의 산출물입니다. 이전 구조 개정판의 배지는 검증되지 않은 자리표시자였습니다. 여기의 모든 행은 실제 디스크상의 증거(src/Html/, tests/, tests/Wpt/corpus/), v8/v9 호환성 파괴(breaking-change) ADR, 내부 CSS 속성 커버리지 감사를 기준으로 다시 등급이 매겨졌습니다. 커버리지보다 정직성이 우선되었습니다. 감사 결과 배지를 낮춰야 하는 경우에는 그대로 낮췄습니다.

검증 계약에 따라 각 행은 네 가지 배지로 분류됩니다:

  • Verifiedsrc/Html/ 구현 실질적인 전용 자동화 픽스처: tests/Unit/Html/<Module>/ 아래의 세 개 이상의 파일로 구성된 속성 수준 스위트, 또는 tests/Wpt/corpus/ 아래의 50개 이상 픽스처로 구성된 Web Platform Tests 코퍼스 샤드. CSS 모듈별 골든 PDF 기준선은 아직 연결되어 있지 않으므로, verified 행은 structural 재현성 프로필(PHPUnit 어서션 동등성)을 사용하며 절대 bitwise를 사용하지 않습니다.
  • Claimed — 모듈 동작이 src/Html/에 구현되어 있지만(소스 경로가 인용됨) 전용 픽스처가 빈약하거나 공유되어 있거나 없습니다. 구체적인 구현이 있는 각 claimed 행에는 백필(backfill) 이슈가 연결되어 있습니다.
  • Not supported — 정적 PDF 렌더링 파이프라인의 범위를 벗어납니다. 런타임/브라우저 전용 API, scrolling/animation 런타임, W3C에서 중단된 작업이 여기에 해당합니다. 사유가 기록됩니다.
  • Unknown — 모듈이 코퍼스에는 포함되어 있으나 구현 또는 픽스처 증거를 확인할 수 없습니다. 감사에서는 집계를 늘리기 위해 등급을 상향 추정한 적이 없습니다.

구조 개정판의 partial 배지는 폐기되었습니다. 이전의 모든 partial 행은 claimed(구현은 있으나 전용 픽스처 없음) 또는 verified로 다시 등급이 매겨졌습니다.

배지의미
verifiedsrc/Html/ + 전용 픽스처 스위트(파일 3개 이상) 또는 WPT 샤드(픽스처 50개 이상). structural 프로필에서 결정론적으로 통과합니다.
claimed구현 증거는 src/Html/에 있으나 전용 픽스처는 없습니다. 백필 이슈가 추적됩니다.
not-supported정적 PDF 범위에서 명시적으로 제외됩니다. 사유가 기록됩니다.
unknown확인 가능한 증거가 없습니다. 등급을 상향 추정하지 않습니다.

여기서 Confidence 열은 표시된 배지를 뒷받침하는 증거가 얼마나 강한지 나타내는, 배지 자체와 독립적인 정직한 비이진 신호(high / medium / low)입니다.

NextPDF는 아래에 나열된 CSS 모듈을 명시된 수준으로 지원합니다. Verified 행에는 NextPDF의 동작을 어서션하는 전용 자동화 픽스처 스위트 또는 실질적인 WPT 코퍼스 샤드가 있으며, structural 재현성 프로필에서 결정론적으로 통과합니다. Claimed 행에는 src/Html/에 구현 증거가 있으나 아직 전용 픽스처가 없습니다. 각 행은 tracking issue #614 아래의 백필 이슈로 추적됩니다. Not supported 행은 정적 PDF 대상의 명시적 범위 경계를 문서화합니다.

이 개정판에는 CSS 모듈별 골든 PDF 기준선이 없습니다. 어떤 행도 바이트 수준 재현성을 주장하지 않습니다. 검증 계약상 빈 행은 금지됩니다. 지원 여부를 확인할 수 없는 경우 해당 행은 unknown입니다.

상태모듈 수신뢰도(high / medium / low)
Verified128 / 4 / 0
Claimed490 / 35 / 14
Not supported6762 / 5 / 0
Unknown390 / 0 / 39
합계16770 / 44 / 53

구조 개정판의 summary 블록은 내부적으로 일관성이 없었습니다. 총 148개(verified 18 / partial 11 / claimed 11 / not-supported 53 / unknown 55)라고 선언했으나, 파일에는 실제로 167개 모듈 행이 있었고 자체 레이블 기준 집계는 verified 34 / partial 13 / claimed 13 / not-supported 68 / unknown 39였습니다. 이 감사는 총계를 실제 값인 167로 바로잡고 모든 행을 디스크상의 증거를 기준으로 다시 등급화했습니다. Verified는 주장된 34에서 입증된 12로 줄었습니다. 이 감소는 정직한 감사의 올바른 결과이며 퇴보가 아닙니다. 전체 before/after 델타는 리포지토리 내 _css-matrix-truth-report.md 사이드카에 있습니다.

구조 개정판은 세 가지 활성 기능을 제거되었거나 지원되지 않는 것으로 잘못 표시했습니다. ADR-027과 ADR-028은 ExperimentalFeature 열거형의 옵트인 마커만 제거했습니다. 기능 자체는 기본값으로 켜진 LIVE 상태로 유지됩니다:

  • Subgrid(css_grid_2) — LIVE. CssFeatureFlags::$layoutSubgrid가 기본값으로 켜져 있습니다. “subgrid hard-removed v9.0.0”로 잘못 표시되었습니다.
  • @container 쿼리(css_contain_2) — 런타임 디스패치는 ADR-028에 의해 명시적으로 변경되지 않았으며, 플래그 옵트아웃이 보존됩니다. “hard-removed v9.0.0”로 잘못 표시되었습니다.
  • writing-mode: vertical-lr(css_writing_modes_3) — v7.0.0부터 기본값으로 켜진 Stable 상태입니다. ADR-027은 폐기 예고 핸드셰이크만 승격했습니다. “deprecated/removed v8.0.0”로 잘못 표시되었습니다.

기계 판독 가능한 모듈별 행 집합은 리포지토리 내 css-support-matrix-data.yaml에 있으며, 이것이 진실의 원천입니다. 이 페이지는 해당 데이터를 범주별로 묶어 사람이 읽을 수 있게 보여 주는 투영입니다. Astro 컴포넌트는 문서 빌드 중 이 YAML을 직접 사용합니다.

W3C 모듈레벨W3C 단계상태신뢰도
CSS Flexible Box Layout 플렉서블 박스 레이아웃 (css_flexbox_1)1CRVerifiedhigh
CSS Grid Layout (css_grid_1)1RECVerifiedhigh
CSS Grid Layout — Subgrid 그리드 레이아웃 서브그리드 (css_grid_2)2CRClaimedmedium
CSS Grid Layout — Masonry 그리드 레이아웃 메이슨리 (css_grid_3)3EDNot supportedhigh
CSS Display (css_display_3)3CRClaimedmedium
CSS Display (css_display_4)4EDUnknownlow
CSS Positioned Layout (css_position_3)3WDVerifiedhigh
CSS Positioned Layout (css_position_4)4EDUnknownlow
CSS Box Alignment (css_align_3)3WDClaimedmedium
CSS Box Sizing (css_sizing_3)3CRClaimedlow
CSS Box Sizing (css_sizing_4)4EDUnknownlow
CSS Box Model (css_box_3)3WDClaimedmedium
CSS Box Model (css_box_4)4EDUnknownlow
CSS Multi-column Layout (css_multicol_1)1CRClaimedmedium
CSS Multi-column Layout (css_multicol_2)2EDUnknownlow
CSS Fragmentation (css_break_3)3CRVerifiedmedium
CSS Fragmentation (css_break_4)4EDUnknownlow
CSS Containment (css_contain_1)1RECNot supportedmedium
CSS Containment — @container (css_contain_2)2CRClaimedlow
CSS Containment (css_contain_3)3EDNot supportedmedium
CSS Inline Layout (css_inline_3)3WDClaimedmedium
CSS Logical Properties (css_logical_1)1WDClaimedmedium
CSS Page Floats (css_page_floats_3)3EDNot supportedhigh
CSS Pagination Templates (css_page_templates_3)3EDNot supportedhigh
CSS Exclusions (css_exclusions_1)1WDNot supportedhigh
CSS Regions (css_regions_1)1WDNot supportedhigh
CSS Template Layout (css_template_1)1NOTENot supportedhigh
CSS Layout API (css_layout_api_1)1WDNot supportedhigh

박스 모델 — 배경, 테두리, 효과

섹션 제목: “박스 모델 — 배경, 테두리, 효과”
W3C 모듈레벨W3C 단계상태신뢰도
CSS Backgrounds and Borders (css_backgrounds_3)3CRClaimedmedium
CSS Backgrounds (css_backgrounds_4)4EDUnknownlow
CSS Borders and Box Decorations (css_borders_4)4EDUnknownlow
CSS Gap Decorations (css_gaps_1)1EDUnknownlow
CSS Masking (css_masking_1)1CRNot supportedmedium
CSS Shadow Module (css_shadow_1)1EDClaimedmedium
CSS Shapes (css_shapes_1)1CRNot supportedhigh
CSS Shapes (css_shapes_2)2EDNot supportedhigh
Filter Effects (filter_effects_1)1WDNot supportedhigh
Filter Effects (filter_effects_2)2EDNot supportedhigh
Compositing and Blending (compositing_1)1CRClaimedmedium
Compositing (compositing_2)2EDUnknownlow
CSS Fill and Stroke (fill_stroke_3)3EDUnknownlow
Geometry Interfaces (geometry_1)1CRNot supportedhigh
DOMMatrix (matrix)1NOTENot supportedhigh
Motion Path (motion_1)1WDNot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Fonts (css_fonts_3)3RECVerifiedmedium
CSS Fonts (css_fonts_4)4CRVerifiedhigh
CSS Fonts (css_fonts_5)5EDUnknownlow
CSS Font Loading (css_font_loading_3)3WDNot supportedhigh
CSS Text (css_text_3)3CRClaimedmedium
CSS Text (css_text_4)4EDClaimedmedium
CSS Text Decoration (css_text_decor_3)3CRClaimedmedium
CSS Text Decoration (css_text_decor_4)4EDUnknownlow
CSS Ruby (css_ruby_1)1WDNot supportedhigh
CSS Writing Modes (css_writing_modes_3)3RECClaimedmedium
CSS Writing Modes (css_writing_modes_4)4EDUnknownlow
CSS Speech (css_speech_1)1CRNot supportedhigh
CSS Mobile Text Size Adjustment (css_size_adjust_1)1EDNot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Color (css_color_3)3RECClaimedmedium
CSS Color (css_color_4)4CRClaimedmedium
CSS Color (css_color_5)5WDUnknownlow
CSS Color (css_color_6)6EDUnknownlow
CSS Color Adjustment (css_color_adjust_1)1CRNot supportedhigh
CSS Color HDR (css_color_hdr_1)1EDNot supportedhigh
CSS Images (css_images_3)3CRClaimedmedium
CSS Images (css_images_4)4EDUnknownlow
CSS Images (css_images_5)5EDUnknownlow
CSS Image Animation (css_image_animation_1)1EDNot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Selectors (selectors_3)3RECClaimedmedium
CSS Selectors (selectors_4)4WDClaimedmedium
CSS Selectors (selectors_5)5EDUnknownlow
CSS Non-element Selectors (selectors_nonelement_1)1WDNot supportedhigh
CSS Pseudo-Elements (css_pseudo_4)4WDClaimedmedium
CSS Cascading and Inheritance (css_cascade_3)3RECVerifiedhigh
CSS Cascading (css_cascade_4)4CRVerifiedhigh
CSS Cascading (css_cascade_5)5CRVerifiedhigh
CSS Cascading (css_cascade_6)6WDUnknownlow
CSS Values and Units (css_values_3)3RECClaimedmedium
CSS Values and Units (css_values_4)4CRClaimedmedium
CSS Values and Units (css_values_5)5EDUnknownlow
CSS Custom Properties (css_variables_1)1CRClaimedmedium
CSS Custom Properties (css_variables_2)2EDUnknownlow
CSS Conditional Rules (css_conditional_3)3CRClaimedmedium
CSS Conditional Rules (css_conditional_4)4EDUnknownlow
CSS Conditional Rules (css_conditional_5)5EDUnknownlow
CSS Conditional Values (css_conditional_values_1)1EDUnknownlow
CSS Namespaces (css_namespaces_3)3RECClaimedlow
CSS Style Attributes (css_style_attr_1)1CRClaimedmedium
CSS Syntax (css_syntax_3)3CRClaimedmedium
CSS Nesting (css_nesting_1)1CRClaimedmedium
CSS Environment Variables (css_env_1)1EDNot supportedmedium
CSS Custom Functions and Mixins (css_mixins_1)1EDUnknownlow
CSS Extensions (css_extensions_1)1NOTEUnknownlow
W3C 모듈레벨W3C 단계상태신뢰도
CSS Lists and Counters (css_lists_3)3WDClaimedmedium
CSS Counter Styles (css_counter_styles_3)3CRClaimedmedium
CSS Generated Content (css_content_3)3WDClaimedmedium
CSS Generated Content for Paged Media (css_gcpm_3)3WDClaimedmedium
CSS Generated Content for Paged Media (css_gcpm_4)4EDUnknownlow
W3C 모듈레벨W3C 단계상태신뢰도
CSS Paged Media (css_page_3)3WDClaimedmedium
CSS Paged Media (css_page_4)4NOTEUnknownlow
CSS Print Profile (css_print)1NOTEClaimedlow
CSS Presentation Levels (css_preslev_1)1NOTENot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Overflow (css_overflow_3)3WDClaimedlow
CSS Overflow (css_overflow_4)4EDUnknownlow
CSS Overflow (css_overflow_5)5EDUnknownlow
CSS Overscroll Behavior (css_overscroll_1)1CRNot supportedhigh
CSS Scroll Anchoring (css_scroll_anchoring_1)1WDNot supportedhigh
CSS Scroll Snap (css_scroll_snap_1)1RECNot supportedhigh
CSS Scroll Snap (css_scroll_snap_2)2WDNot supportedhigh
CSS Scrollbars Styling (css_scrollbars_1)1CRNot supportedhigh
CSS Basic User Interface (css_ui_3)3RECNot supportedmedium
CSS Basic User Interface (css_ui_4)4WDNot supportedhigh
CSS Form Control Styling (css_forms_1)1EDNot supportedhigh
CSS View Transitions (css_view_transitions_1)1WDNot supportedhigh
CSS View Transitions (css_view_transitions_2)2EDNot supportedhigh
CSS Spatial Navigation (css_nav_1)1NOTENot supportedhigh
CSS Route Matching (css_navigation_1)1EDNot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Table (css_tables_3)3WDVerifiedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Transforms (css_transforms_1)1CRClaimedmedium
CSS Transforms (css_transforms_2)2EDUnknownlow
CSS Animations (css_animations_1)1WDNot supportedhigh
CSS Animations (css_animations_2)2EDNot supportedhigh
CSS Transitions (css_transitions_1)1WDNot supportedhigh
CSS Transitions (css_transitions_2)2EDNot supportedhigh
CSS Easing Functions (css_easing_1)1CRNot supportedhigh
CSS Easing Functions (css_easing_2)2EDNot supportedhigh
Web Animations (web_animations_1)1WDNot supportedhigh
Web Animations (web_animations_2)2EDNot supportedhigh
Web Animations CSS Integration (web_animations_css_integration)1EDNot supportedhigh
Animation Triggers (animation_triggers)1EDNot supportedhigh
Pointer-driven Animations (pointer_animations_1)1EDNot supportedhigh
Scroll-driven Animations (scroll_animations_1)1EDNot supportedhigh
CSS Animation Worklet (css_animation_worklet)1EDNot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
CSS Anchor Positioning (css_anchor_position_1)1WDUnknownlow
CSS Anchor Positioning (css_anchor_position_2)2EDUnknownlow
CSS Highlight API (css_highlight_api_1)1WDNot supportedhigh
CSS Properties and Values API (css_properties_values_api_1)1CRNot supportedhigh
CSS Painting API (css_paint_api_1)1WDNot supportedhigh
CSS Typed OM (css_typed_om_1)1WDNot supportedhigh
CSSOM (cssom_1)1WDNot supportedhigh
CSSOM View (cssom_view_1)1WDNot supportedhigh
CSS Will Change (css_will_change_1)1CRNot supportedhigh
CSS Linked Parameters (css_link_params_1)1EDUnknownlow
CSS Line Grid (css_line_grid_1)1NOTEUnknownlow
CSS Rhythmic Sizing (css_rhythm_1)1EDUnknownlow
CSS Round Display (css_round_display_1)1EDNot supportedhigh
CSS Shaders (css_shaders_1)1NOTENot supportedhigh
CSS Viewport (css_viewport_1)1NOTENot supportedhigh
W3C 모듈레벨W3C 단계상태신뢰도
Media Queries (mediaqueries_3)3RECClaimedmedium
Media Queries (mediaqueries_4)4CRClaimedmedium
Media Queries (mediaqueries_5)5WDUnknownlow
W3C 모듈레벨W3C 단계상태신뢰도
CSS Level 2 (css_2_1)2.1RECClaimedlow
CSS Level 2.2 (css_2_2)2.2NOTEClaimedlow
CSS Snapshot 2026 (css_snapshot_2026)snapshotNOTEClaimedlow

이 W3C 모듈들은 코퍼스에 포함되어 있지만 CSS 렌더링 파이프라인 범위를 벗어납니다. 해당되는 경우 관련 기능 페이지에서 링크됩니다.

W3C 모듈W3C 단계상태신뢰도위치
W3C SVG 1.1 (svg_1_1)RECClaimedlow인라인 SVG 페인트 서브셋은 Renderer/PaintCommand/에 있습니다. CSS 매트릭스 픽스처는 없습니다.
W3C SVG 2.0 (svg_2_0)CRUnknownlowPremium 파이프라인 영역입니다. core 증거는 없습니다.
W3C PNG 3rd Edition (png_3)WDClaimedlowPNG 디코딩은 Graphics/ 모듈에서 이루어집니다(HTML/CSS 외부).
W3C WOFF 1.0 (woff_1_0)RECClaimedlowFont 스택을 통한 WOFF입니다. CSS 매트릭스 픽스처는 없습니다.
W3C WOFF 2.0 (woff_2_0)RECClaimedlowFont 스택을 통한 WOFF2입니다. CSS 매트릭스 픽스처는 없습니다.
W3C WCAG 2.2 (wcag_2_2)RECVerifiedmediumsrc/Html/Aam/, tests/Unit/Accessibility/HtmlAam/(4개 파일) — PDF/UA-2.
W3C WAI-ARIA 1.2 (wai_aria_1_2)RECVerifiedmediumtests/Unit/Accessibility/HtmlAam/(4개 파일).
W3C ARIA Bundle (w3c_aria_bundle)RECClaimedlow지침 번들입니다. 구체적인 증거는 WAI-ARIA 행입니다.
W3C AAM Bundle (w3c_aam_bundle)NOTEClaimedlow번들 포인터입니다. 증거는 WAI-ARIA/WCAG 행입니다.
W3C ATAG 2.0 (atag_2_0)RECNot supportedhigh저작 도구 접근성입니다. 해당되지 않습니다.
W3C XSL 1.1 (xsl_1_1)RECNot supportedhighXSL-FO 병렬 포매팅 모델입니다. 구현되지 않았습니다.
W3C XSD 1.1 Part 1 (xsd_1_1_part1)RECNot supportedhighXML 스키마입니다. 해당되지 않습니다.
W3C XSLT 3.0 (xslt_3_0)RECNot supportedhigh변환 언어입니다. 해당되지 않습니다.
Resize Observer (resize_observer_1)CRNot supportedhigh브라우저 런타임 API입니다.

어떤 행이 claimedverified로 승격되려면 다음 조건을 충족해야 합니다:

  1. 전용 속성 수준 픽스처 스위트가 tests/Unit/Html/<Module>/ 아래에(파일 3개 이상) 있거나, 또는 tests/Wpt/corpus/ 아래의 실질적인 WPT 코퍼스 샤드(픽스처 50개 이상)가 어서션 테스트로 승격되어야 합니다.
  2. 픽스처는 모듈의 주요 속성에 대해 W3C 문법을 기준으로 NextPDF의 동작을 어서션해야 합니다.
  3. 픽스처는 NextPDF\Testing\ReproducibilityProfile 아래에서 결정론적으로 통과해야 합니다(어서션 픽스처에는 structural, bitwise는 모듈별 골든 PDF 기준선이 존재할 때만 사용).
  4. 해당 행의 nextpdf_status가 리포지토리 내 css-support-matrix-data.yaml에서 verified로 전환되며, 이때 fixture_path, repro_profile, confidence가 갱신됩니다.

어떤 행이 unknownclaimed로 승격되려면 다음 조건을 충족해야 합니다:

  1. 감사 패스에서 src/Html/의 구현 증거를 확인합니다(evidence + notes에 경로 인용).
  2. 백필 이슈가 열리고 backfill_issue에 링크됩니다.