NextPDF implementuje renderowanie kaskadowych arkuszy stylów (CSS) zgodnie z opublikowanymi specyfikacjami World Wide Web Consortium (W3C). Ta strona pozwala przejrzeć każdy moduł CSS w korpusie specyfikacji systemu NextPDF oraz zweryfikowany podczas audytu prawdziwości stan jego obsługi w potoku renderowania.
Ta rewizja wynika z audytu prawdziwości Wave 4 B2 (sekcja planu 4.4). Wcześniejsza rewizja strukturalna używała niezweryfikowanych odznak zastępczych. Audyt ponownie ocenił każdy wiersz na podstawie rzeczywistych dowodów znajdujących się na dysku (src/Html/, tests/, tests/Wpt/corpus/), rekordów decyzji architektonicznych (ADR) dotyczących zmian niezgodnych wstecz w v8/v9 oraz wewnętrznego audytu pokrycia właściwości CSS. Audyt przedkładał rzetelność nad pokrycie: gdy dowody uzasadniały niższą odznakę, była ona obniżana.
Cztery odznaki klasyfikują każdy wiersz w kontrakcie weryfikacji:
- Zweryfikowany — implementacja w
src/Html/ oraz istotny, dedykowany, zautomatyzowany zestaw testowy: albo zestaw na poziomie właściwości złożony z trzech lub więcej plików w tests/Unit/Html/<Module>/, albo fragment korpusu Web Platform Tests (WPT) liczący pięćdziesiąt lub więcej fikstur w tests/Wpt/corpus/. Nie podłączono jeszcze żadnej bazowej linii odniesienia w formacie Portable Document Format (PDF) dla poszczególnych modułów CSS, dlatego zweryfikowane wiersze korzystają z profilu odtwarzalności structural (równoważność asercji PHPUnit), nigdy bitwise.
- Deklarowany — zachowanie modułu jest zaimplementowane w
src/Html/ (ze wskazaną ścieżką źródłową), ale dedykowany zestaw testowy ma ograniczony zakres, jest współdzielony albo go nie ma. Każdy deklarowany wiersz z konkretną implementacją ma zgłoszenie uzupełniające.
- Nieobsługiwany — potok renderowania statycznego PDF nie obejmuje tego modułu: interfejsów API runtime/browser-only, środowisk wykonawczych scrolling/animation ani prac wycofanych przez W3C. Wiersz podaje powód.
- Nieznany — moduł znajduje się w korpusie, ale audyt nie znalazł żadnych dowodów implementacji ani testów. Audyt nigdy nie zawyżał statusu na podstawie domysłów, aby poprawić wynik.
Odznaka partial z rewizji strukturalnej została wycofana: każdy wcześniejszy wiersz partial ponownie oceniono jako claimed (implementacja obecna, brak dedykowanego zestawu testowego) albo verified.
| Odznaka | Znaczenie |
|---|
verified | src/Html/ + dedykowany zestaw testowy (≥3 plików) lub fragment WPT (≥50 fikstur); przechodzi deterministycznie w profilu structural. |
claimed | Dowody implementacji w src/Html/, brak dedykowanego zestawu testowego. Powiązane zgłoszenie uzupełniające. |
not-supported | Jawnie wykluczony z zakresu statycznego PDF. Powód podany. |
unknown | Brak rozstrzygających dowodów. Statusu nie zawyżano na podstawie domysłów. |
Kolumna Pewność to rzetelny, niebinarny sygnał dotyczący dowodów stojących za podaną odznaką (high / medium / low). Jest niezależna od samej odznaki.
NextPDF obsługuje wymienione poniżej moduły CSS na wskazanych poziomach. Wiersze Zweryfikowany mają dedykowany, zautomatyzowany zestaw testowy lub istotny fragment korpusu WPT, który weryfikuje zachowanie systemu NextPDF i przechodzi deterministycznie w profilu odtwarzalności structural. Wiersze Deklarowany mają dowody implementacji w src/Html/, ale nie mają jeszcze dedykowanego zestawu testowego; każdy taki wiersz jest śledzony przez zgłoszenie uzupełniające w ramach zgłoszenia śledzącego #614. Wiersze Nieobsługiwany dokumentują jawne granice zakresu dla docelowego statycznego PDF.
Żaden wiersz nie deklaruje odtwarzalności na poziomie bajtów, ponieważ w tej rewizji nie ma bazowej linii odniesienia PDF dla poszczególnych modułów CSS. Kontrakt weryfikacji zabrania pustych wierszy: gdy nie da się ustalić obsługi, wiersz otrzymuje status unknown.
| Status | Moduły | Pewność (high / medium / low) |
|---|
| Zweryfikowany | 12 | 8 / 4 / 0 |
| Deklarowany | 49 | 0 / 35 / 14 |
| Nieobsługiwany | 67 | 62 / 5 / 0 |
| Nieznany | 39 | 0 / 0 / 39 |
| Łącznie | 167 | 70 / 44 / 53 |
Blok summary z rewizji strukturalnej był wewnętrznie niespójny: deklarował sumę 148 (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), podczas gdy plik zawierał 167 wierszy modułów, a ich etykiety sumowały się do 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Ten audyt skorygował sumę do rzeczywistych 167 i ponownie ocenił każdy wiersz na podstawie dowodów znajdujących się na dysku: liczba Verified spadła z deklarowanych 34 do potwierdzonych 12. To obniżenie jest poprawnym wynikiem rzetelnego audytu, a nie regresją. Pełna różnica before/after znajduje się w dołączonym do repozytorium pliku _css-matrix-truth-report.md.
Rewizja strukturalna błędnie oznaczyła trzy działające funkcje jako usunięte lub nieobsługiwane. ADR-027 i ADR-028 usunęły jedynie markery włączania (opt-in) wyliczenia ExperimentalFeature; funkcje pozostają DZIAŁAJĄCE i domyślnie włączone:
- Subgrid (
css_grid_2) — DZIAŁA; flaga CssFeatureFlags::$layoutSubgrid jest domyślnie włączona. Został błędnie oznaczony jako „subgrid hard-removed v9.0.0”.
- Zapytania
@container (css_contain_2) — dyspozytor czasu wykonania pozostał jawnie niezmieniony przez ADR-028; zachowano możliwość wyłączenia flagą (opt-out). Został błędnie oznaczony jako „hard-removed v9.0.0”.
writing-mode: vertical-lr (css_writing_modes_3) — domyślnie włączone i stabilne od v7.0.0; ADR-027 sfinalizował jedynie handshake wycofania. Został błędnie oznaczony jako „deprecated/removed v8.0.0”.
Zestaw wierszy dla poszczególnych modułów w formacie czytelnym maszynowo znajduje się w dołączonym do repozytorium pliku css-support-matrix-data.yaml, który jest źródłem prawdy. Ta strona jest jego wersją czytelną dla człowieka, pogrupowaną według kategorii. Komponenty Astro korzystają z danych YAML bezpośrednio podczas budowania dokumentacji.
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Flexible Box Layout (css_flexbox_1) | 1 | CR | Zweryfikowany | high | src/Html/Flex/, tests/Unit/Html/Flex/ (50 plików) |
CSS Grid Layout (css_grid_1) | 1 | REC | Zweryfikowany | high | src/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654) |
CSS Grid Layout — Subgrid (css_grid_2) | 2 | CR | Deklarowany | medium | src/Html/Grid/Subgrid/ + fragment WPT z 80 fiksturami + 1 test integracyjny. DZIAŁA i jest domyślnie włączony (ADR-028 usunął jedynie marker wyliczenia). |
CSS Grid Layout — Masonry (css_grid_3) | 3 | ED | Nieobsługiwany | high | Masonry poza zakresem dla v5.x. |
CSS Display (css_display_3) | 3 | CR | Deklarowany | medium | DisplayResolver.php + testy resolwera; brak dedykowanego zestawu testów właściwości. |
CSS Display (css_display_4) | 4 | ED | Nieznany | low | Brak dowodów dla poziomu L4. |
CSS Positioned Layout (css_position_3) | 3 | WD | Zweryfikowany | high | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 plików) |
CSS Positioned Layout (css_position_4) | 4 | ED | Nieznany | low | Brak dowodów dla position: sticky/anchor. |
CSS Box Alignment (css_align_3) | 3 | WD | Deklarowany | medium | Zaimplementowane wewnątrz silników Flex/Grid; brak samodzielnego zestawu testowego. |
CSS Box Sizing (css_sizing_3) | 3 | CR | Deklarowany | low | src/Html/Length/; audyt Phase 0 pokazuje, że width/height są w większości POLICY-ONLY. |
CSS Box Sizing (css_sizing_4) | 4 | ED | Nieznany | low | Brak dowodów dla słów kluczowych rozmiaru wewnętrznego. |
CSS Box Model (css_box_3) | 3 | WD | Deklarowany | medium | Pokrycie scalania marginesów; według audytu Phase 0 brakuje modelu pudełka left/right. Uzupełnienie #617. |
CSS Box Model (css_box_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Multi-column Layout (css_multicol_1) | 1 | CR | Deklarowany | medium | src/Html/MultiCol/; brak zestawu testów właściwości. |
CSS Multi-column Layout (css_multicol_2) | 2 | ED | Nieznany | low | Brak dowodów. |
CSS Fragmentation (css_break_3) | 3 | CR | Zweryfikowany | medium | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 plików) |
CSS Fragmentation (css_break_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Containment (css_contain_1) | 1 | REC | Nieobsługiwany | medium | Brak aplikatora layout/paint dla contain; brak modelu aktualizacji na żywo. |
CSS Containment — @container (css_contain_2) | 2 | CR | Deklarowany | low | Fragment WPT z 114 fiksturami + model utrwalonego układu ADR-017/021. Mechanizm czasu wykonania DZIAŁA (ADR-028 usunął jedynie marker wyliczenia). |
CSS Containment (css_contain_3) | 3 | ED | Nieobsługiwany | medium | Ograniczenie stylu poza zakresem. |
CSS Inline Layout (css_inline_3) | 3 | WD | Deklarowany | medium | src/Html/Layout/InlineLayout/ + 8 testów; brak dowodów dla initial-letter. |
CSS Logical Properties (css_logical_1) | 1 | WD | Deklarowany | medium | Resolwer WritingMode mapujący wartości logiczne→fizyczne; brak dedykowanego zestawu testowego. Logiczne wartości text-align: start/end rozwiązują się względem direction — przy direction: rtl start to prawa krawędź — i są stosowane w komórkach tabel. |
CSS Page Floats (css_page_floats_3) | 3 | ED | Nieobsługiwany | high | Poza zakresem dla v5.x. |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Nieobsługiwany | high | Paginacja wieloregionowa poza zakresem. |
CSS Exclusions (css_exclusions_1) | 1 | WD | Nieobsługiwany | high | Tier C; brak zobowiązania w mapie drogowej. |
CSS Regions (css_regions_1) | 1 | WD | Nieobsługiwany | high | Wycofane przez W3C. |
CSS Template Layout (css_template_1) | 1 | NOTE | Nieobsługiwany | high | Poza zakresem. |
CSS Layout API (css_layout_api_1) | 1 | WD | Nieobsługiwany | high | Środowisko wykonawcze worklet; nie dotyczy. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Backgrounds and Borders (css_backgrounds_3) | 3 | CR | Deklarowany | medium | src/Html/Background/, BorderRenderer.php; według audytu Phase 0 bg-color działa tylko dla tabel. Uzupełnienie #628. |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Borders and Box Decorations (css_borders_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Nieznany | low | Brak dowodów. |
CSS Masking (css_masking_1) | 1 | CR | Nieobsługiwany | medium | clip-path/mask nie trafiają do operatorów przycinania PDF. |
CSS Shadow Module (css_shadow_1) | 1 | ED | Deklarowany | medium | src/Html/Shadow/ (BoxShadowrenderer); brak dedykowanego zestawu testowego. |
CSS Shapes (css_shapes_1) | 1 | CR | Nieobsługiwany | high | shape-outside poza zakresem dla v5.x. |
CSS Shapes (css_shapes_2) | 2 | ED | Nieobsługiwany | high | Poza zakresem. |
Filter Effects (filter_effects_1) | 1 | WD | Nieobsługiwany | high | Prymitywy filtrów SVG nie trafiają do PDF. |
Filter Effects (filter_effects_2) | 2 | ED | Nieobsługiwany | high | Poza zakresem. |
Compositing and Blending (compositing_1) | 1 | CR | Deklarowany | medium | Mapowanie trybów mieszania PDF w PaintCommand/; jeden test trybu mieszania. |
Compositing (compositing_2) | 2 | ED | Nieznany | low | Brak dowodów. |
CSS Fill and Stroke (fill_stroke_3) | 3 | ED | Nieznany | low | Brak dowodów. |
Geometry Interfaces (geometry_1) | 1 | CR | Nieobsługiwany | high | Interfejs API DOM Matrix czasu wykonania. |
DOMMatrix (matrix) | 1 | NOTE | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
Motion Path (motion_1) | 1 | WD | Nieobsługiwany | high | Wyłącznie animacja. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Zweryfikowany | medium | src/Html/Font/, tests/Unit/Font/ (9) + testy FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Zweryfikowany | high | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 plików) |
CSS Fonts (css_fonts_5) | 5 | ED | Nieznany | low | Brak dowodów dla font-tech(). |
CSS Font Loading (css_font_loading_3) | 3 | WD | Nieobsługiwany | high | Interfejs API czasu wykonania JS FontFace; ładowanie po stronie PHP przez FontResolver. |
CSS Text (css_text_3) | 3 | CR | Deklarowany | medium | src/Html/Text/ + 5 testów; Phase 0 FULL dla align/indent/spacing, white-space tylko <pre>. Uzupełnienie #618. |
CSS Text (css_text_4) | 4 | ED | Deklarowany | medium | src/Html/Layout/Hyphenation/ + testy strategii; pozostałe właściwości L4 czekają na obsługę. |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Deklarowany | medium | src/Html/Text/; Phase 0 FULL, ale brak dedykowanego zestawu testowego. Uzupełnienie #619. |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Nieznany | low | Brak dowodów dla text-emphasis. |
CSS Ruby (css_ruby_1) | 1 | WD | Nieobsługiwany | high | Adnotacje ruby poza zakresem dla v5.x. |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Deklarowany | medium | src/Html/Layout/WritingMode/ (7 testów) + fragment WPT z 140 fiksturami. vertical-lr DZIAŁA i jest domyślnie włączone (ADR-027). direction: rtl działa — zmiana kolejności dwukierunkowej UAX#9 wraz z kontekstowym kształtowaniem arabskim oraz wyrównaniem do początku w komórkach tabel. Wyrównanie bloków spoza tabel oraz justify nie są jeszcze stosowane, a atrybut HTML dir nie jest mapowany (użyj CSS direction). Zobacz Renderowanie arabskiego HTML od prawej do lewej. Uzupełnienie #629. |
CSS Writing Modes (css_writing_modes_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Speech (css_speech_1) | 1 | CR | Nieobsługiwany | high | Renderowanie dźwięku nie dotyczy. |
CSS Mobile Text Size Adjustment (css_size_adjust_1) | 1 | ED | Nieobsługiwany | high | Wskazówka UA dla urządzeń mobilnych; nie dotyczy. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Color (css_color_3) | 3 | REC | Deklarowany | medium | src/Html/Color/, NamedColors.php + testy parsera; brak zestawu dla modułu. Uzupełnienie #620. |
CSS Color (css_color_4) | 4 | CR | Deklarowany | medium | Parsowanie Lab/LCH/OKLab; asercje nie sprawdzają wierności przestrzeni kolorów PDF. |
CSS Color (css_color_5) | 5 | WD | Nieznany | low | Brak dowodów dla color-mix(). |
CSS Color (css_color_6) | 6 | ED | Nieznany | low | Brak dowodów. |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Nieobsługiwany | high | color-scheme sterowane przez UA; nie dotyczy. |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Nieobsługiwany | high | HDR nie trafia do przestrzeni kolorów PDF. |
CSS Images (css_images_3) | 3 | CR | Deklarowany | medium | src/Html/Gradient/ (linear/radial/conic) + testy parsera. |
CSS Images (css_images_4) | 4 | ED | Nieznany | low | Brak dowodów dla image()/image-set(). |
CSS Images (css_images_5) | 5 | ED | Nieznany | low | Brak dowodów. |
CSS Image Animation (css_image_animation_1) | 1 | ED | Nieobsługiwany | high | Wyłącznie animacja. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Selectors (selectors_3) | 3 | REC | Deklarowany | medium | HasSelectorResolver.php + testy CssRule; zestaw testowy składa się z pojedynczego corpus.json. Uzupełnienie #627. |
CSS Selectors (selectors_4) | 4 | WD | Deklarowany | medium | :is()/:where()/:not()/:has() przetestowane; zaawansowane L4 oczekują. |
CSS Selectors (selectors_5) | 5 | ED | Nieznany | low | Brak dowodów. |
CSS Non-element Selectors (selectors_nonelement_1) | 1 | WD | Nieobsługiwany | high | Haki arkuszy stylów przeglądarki; nie dotyczy. |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Deklarowany | medium | src/Html/Pseudo/ (12) + ~10 testów renderera; brak zestawu dla modułu. |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Zweryfikowany | high | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 plików) |
CSS Cascading (css_cascade_4) | 4 | CR | Zweryfikowany | high | Cascade/Layer/ + testy revert/layer |
CSS Cascading (css_cascade_5) | 5 | CR | Zweryfikowany | high | AtRule/Layer/ + zestawy Cascade/Layer/ |
CSS Cascading (css_cascade_6) | 6 | WD | Nieznany | low | Brak dowodów dla @scope. |
CSS Values and Units (css_values_3) | 3 | REC | Deklarowany | medium | CssValueParser.php + testy jednostkowe; zestaw testowy składa się z pojedynczego corpus.json. Uzupełnienie #626. |
CSS Values and Units (css_values_4) | 4 | CR | Deklarowany | medium | calc() zaimplementowane; zagnieżdżone min()/max()/clamp() nie w pełni potwierdzone dowodami. |
CSS Values and Units (css_values_5) | 5 | ED | Nieznany | low | Brak dowodów. |
CSS Custom Properties (css_variables_1) | 1 | CR | Deklarowany | medium | src/Html/CustomProperty/ + test pokrycia zakresu. |
CSS Custom Properties (css_variables_2) | 2 | ED | Nieznany | low | Brak dowodów. |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Deklarowany | medium | Parsowanie @media/@supports przetestowane; środowisko wykonawcze @container zachowane (ADR-028). |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Nieznany | low | Brak dowodów. |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Nieznany | low | Brak dowodów. |
CSS Namespaces (css_namespaces_3) | 3 | REC | Deklarowany | low | Parser toleruje @namespace; brak pokrycia dopasowywania. |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Deklarowany | medium | Parsowanie wbudowanego style w całym potoku; brak dedykowanego zestawu testowego. Uzupełnienie #622. |
CSS Syntax (css_syntax_3) | 3 | CR | Deklarowany | medium | CssParser/ + testy grammar/fuzz; brak zestawu zgodności. Uzupełnienie #623. |
CSS Nesting (css_nesting_1) | 1 | CR | Deklarowany | medium | Awansowane z unknown — CssNestingTest + testy desugar/inner-scan. |
CSS Environment Variables (css_env_1) | 1 | ED | Nieobsługiwany | medium | Wartości env() sterowane przez UA; nie dotyczy. |
CSS Custom Functions and Mixins (css_mixins_1) | 1 | ED | Nieznany | low | Brak dowodów. |
CSS Extensions (css_extensions_1) | 1 | NOTE | Nieznany | low | Brak dowodów. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Lists and Counters (css_lists_3) | 3 | WD | Deklarowany | medium | HtmlListRenderer.php/CssCounterManager.php + 18 testów; list-style-type nie jest stosowane dla ol/ul (Phase 0). |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Deklarowany | medium | Wbudowane style liczników; @counter-style czeka na obsługę. |
CSS Generated Content (css_content_3) | 3 | WD | Deklarowany | medium | CssContentSegment.php + testy pseudo; omija aplikator (Phase 0). Uzupełnienie #621. |
CSS Generated Content for Paged Media (css_gcpm_3) | 3 | WD | Deklarowany | medium | Rejestry src/Html/Gcpm/ + test przechwytywania przypisów. |
CSS Generated Content for Paged Media (css_gcpm_4) | 4 | ED | Nieznany | low | Brak dowodów. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Deklarowany | medium | Page/, PagedMedia/, PageRule.php + testy PageRuleParser/PageMarginBox; tests/Unit/Html/Page/ ma 1 plik. Uzupełnienie #624. |
CSS Paged Media (css_page_4) | 4 | NOTE | Nieznany | low | Przyszłe propozycje. |
CSS Print Profile (css_print) | 1 | NOTE | Deklarowany | low | Docelowy statyczny PDF respektuje ograniczenia wydruku; brak zestawu zgodności. |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Nieobsługiwany | high | Nawigacja w oprogramowaniu prezentacyjnym; nie dotyczy. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Deklarowany | low | Testy OverflowClip/ClipRect; przycinanie tylko dla komórek tabel (Phase 0). |
CSS Overflow (css_overflow_4) | 4 | ED | Nieznany | low | Brak dowodów. |
CSS Overflow (css_overflow_5) | 5 | ED | Nieznany | low | Brak dowodów. |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Nieobsługiwany | high | Środowisko wykonawcze przewijania; nie dotyczy. |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Nieobsługiwany | high | Środowisko wykonawcze przewijania; nie dotyczy. |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Nieobsługiwany | high | Środowisko wykonawcze przewijania; nie dotyczy. |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Nieobsługiwany | high | Środowisko wykonawcze przewijania; nie dotyczy. |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Nieobsługiwany | high | Środowisko wykonawcze UA; nie dotyczy. |
CSS Basic User Interface (css_ui_3) | 3 | REC | Nieobsługiwany | medium | cursor/resize dotyczą tylko interfejsu przeglądarki. |
CSS Basic User Interface (css_ui_4) | 4 | WD | Nieobsługiwany | high | Środowisko wykonawcze UA; nie dotyczy. |
CSS Form Control Styling (css_forms_1) | 1 | ED | Nieobsługiwany | high | Widżety formularzy nie są renderowane przez statyczny PDF. |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Nieobsługiwany | high | Wyłącznie animacja. |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Nieobsługiwany | high | Wyłącznie animacja. |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Nieobsługiwany | high | Środowisko wykonawcze UA; nie dotyczy. |
CSS Route Matching (css_navigation_1) | 1 | ED | Nieobsługiwany | high | Środowisko wykonawcze UA; nie dotyczy. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Table (css_tables_3) | 3 | WD | Zweryfikowany | high | src/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 testów TableParser + 5 syntetycznych plików PDF wzorcowych w tests/Corpus/tables/ |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Deklarowany | medium | Renderer/Transform/ + ApplyTransformCommand.php; brak dedykowanego zestawu testowego. |
CSS Transforms (css_transforms_2) | 2 | ED | Nieznany | low | Brak dowodów dla transformacji 3D. |
CSS Animations (css_animations_1) | 1 | WD | Nieobsługiwany | high | Oś czasu animacji nie dotyczy statycznego PDF. |
CSS Animations (css_animations_2) | 2 | ED | Nieobsługiwany | high | Poza zakresem. |
CSS Transitions (css_transitions_1) | 1 | WD | Nieobsługiwany | high | Poza zakresem. |
CSS Transitions (css_transitions_2) | 2 | ED | Nieobsługiwany | high | Poza zakresem. |
CSS Easing Functions (css_easing_1) | 1 | CR | Nieobsługiwany | high | Wyłącznie animacja. |
CSS Easing Functions (css_easing_2) | 2 | ED | Nieobsługiwany | high | Wyłącznie animacja. |
Web Animations (web_animations_1) | 1 | WD | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
Web Animations (web_animations_2) | 2 | ED | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
Web Animations CSS Integration (web_animations_css_integration) | 1 | ED | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
Animation Triggers (animation_triggers) | 1 | ED | Nieobsługiwany | high | Wyłącznie animacja. |
Pointer-driven Animations (pointer_animations_1) | 1 | ED | Nieobsługiwany | high | Zdarzenia wejściowe czasu wykonania; nie dotyczy. |
Scroll-driven Animations (scroll_animations_1) | 1 | ED | Nieobsługiwany | high | Środowisko wykonawcze przewijania; nie dotyczy. |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Nieobsługiwany | high | Środowisko wykonawcze worklet przeglądarki. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Nieznany | low | Brak dowodów dla anchor(). |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Nieznany | low | Brak dowodów. |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
CSS Properties and Values API (css_properties_values_api_1) | 1 | CR | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
CSS Painting API (css_paint_api_1) | 1 | WD | Nieobsługiwany | high | Środowisko wykonawcze worklet przeglądarki. |
CSS Typed OM (css_typed_om_1) | 1 | WD | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
CSSOM (cssom_1) | 1 | WD | Nieobsługiwany | high | Interfejs API DOM przeglądarki. |
CSSOM View (cssom_view_1) | 1 | WD | Nieobsługiwany | high | Interfejs API DOM przeglądarki. |
CSS Will Change (css_will_change_1) | 1 | CR | Nieobsługiwany | high | Wskazówka optymalizacyjna przeglądarki. |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Nieznany | low | Brak dowodów. |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Nieznany | low | Brak dowodów. |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Nieznany | low | Brak dowodów. |
CSS Round Display (css_round_display_1) | 1 | ED | Nieobsługiwany | high | Okrągły wyświetlacz nie dotyczy tego celu. |
CSS Shaders (css_shaders_1) | 1 | NOTE | Nieobsługiwany | high | Usunięte przez W3C. |
CSS Viewport (css_viewport_1) | 1 | NOTE | Nieobsługiwany | high | UA-viewport; nie dotyczy. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Deklarowany | medium | CssParser/ + testy pokrycia zapytań o media; brak dedykowanego zestawu testowego. Uzupełnienie #625. |
Media Queries (mediaqueries_4) | 4 | CR | Deklarowany | medium | @media print/prefers-color-scheme parsowane; składnia zakresów czeka na obsługę. |
Media Queries (mediaqueries_5) | 5 | WD | Nieznany | low | Brak dowodów. |
| Moduł W3C | Poziom | W3C | Status | Pewność | Dowody |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Deklarowany | low | Rozproszona linia bazowa w src/Html/; brak jednego zestawu zgodności. |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Deklarowany | low | Rozproszona linia bazowa; brak dedykowanego zestawu testowego. |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Deklarowany | low | Indeks innych modułów; status jest agregatem wskazanych wierszy. |
Te moduły W3C pojawiają się w korpusie, ale znajdują się poza potokiem renderowania CSS. Gdy ma to zastosowanie, odsyłają do nich odpowiednie strony funkcji.
| Moduł W3C | W3C | Status | Pewność | Gdzie |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Deklarowany | low | Podzbiór malowania wbudowanego SVG w Renderer/PaintCommand/; brak zestawu testowego dla macierzy CSS. |
W3C SVG 2.0 (svg_2_0) | CR | Nieznany | low | Kwestia potoku Premium; brak dowodów w wersji core. |
W3C PNG 3rd Edition (png_3) | WD | Deklarowany | low | Dekodowanie PNG w module Graphics/ (poza HTML/CSS). |
W3C WOFF 1.0 (woff_1_0) | REC | Deklarowany | low | WOFF przez stos Font; brak zestawu testowego dla macierzy CSS. |
W3C WOFF 2.0 (woff_2_0) | REC | Deklarowany | low | WOFF2 przez stos Font; brak zestawu testowego dla macierzy CSS. |
W3C WCAG 2.2 (wcag_2_2) | REC | Zweryfikowany | medium | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 pliki) — PDF/UA-2. |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Zweryfikowany | medium | tests/Unit/Accessibility/HtmlAam/ (4 pliki). |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Deklarowany | low | Pakiet wytycznych; konkretnym dowodem jest wiersz WAI-ARIA. |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Deklarowany | low | Wskaźnik pakietu; dowody znajdują się w wierszach WAI-ARIA/WCAG. |
W3C ATAG 2.0 (atag_2_0) | REC | Nieobsługiwany | high | Dostępność narzędzi autorskich; nie dotyczy. |
W3C XSL 1.1 (xsl_1_1) | REC | Nieobsługiwany | high | Model formatowania równoległego XSL-FO; niezaimplementowany. |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Nieobsługiwany | high | Schemat XML; nie dotyczy. |
W3C XSLT 3.0 (xslt_3_0) | REC | Nieobsługiwany | high | Język transformacji; nie dotyczy. |
Resize Observer (resize_observer_1) | CR | Nieobsługiwany | high | Interfejs API czasu wykonania przeglądarki. |
Aby wiersz awansował z claimed → verified:
- Istnieje dedykowany zestaw testowy na poziomie właściwości w
tests/Unit/Html/<Module>/ (≥3 plików) albo istotny fragment korpusu WPT (≥50 fikstur) w tests/Wpt/corpus/ zostaje awansowany do testu z asercjami.
- Zestaw testowy weryfikuje zachowanie systemu NextPDF względem gramatyki W3C dla głównych właściwości modułu.
- Zestaw testowy przechodzi deterministycznie w ramach
NextPDF\Testing\ReproducibilityProfile (structural dla fikstur z asercjami; bitwise dopiero gdy istnieją wzorcowe linie bazowe PDF dla poszczególnych modułów).
- Wartość
nextpdf_status wiersza w dołączonym do repozytorium pliku css-support-matrix-data.yaml zmienia się na verified, wraz z aktualizacją fixture_path, repro_profile oraz confidence.
Aby wiersz awansował z unknown → claimed:
- Audyt potwierdza dowody implementacji w
src/Html/ (wskaż ścieżkę w evidence + notes).
- Zostaje otwarte zgłoszenie uzupełniające i powiązane w
backfill_issue.
- Raport prawdziwości macierzy CSS (
_css-matrix-truth-report.md, w repozytorium) — różnice audytu before/after, rozkład pewności, dziennik obniżeń.
- Audyt pokrycia właściwości CSS (
architecture/css-property-coverage-audit.md, w repozytorium) — wewnętrzny czterostanowy audyt właściwości (Policy/Parsed/Applied/Rendered).
- ADR-027 v8.0.0 BREAKING (
architecture/adr/ADR-027-v8-breaking.md, w repozytorium) — finalizacja handshake wycofania vertical-lr (funkcja zachowana).
- ADR-028 v9.0.0 BREAKING (
architecture/adr/ADR-028-v9-breaking.md, w repozytorium) — usunięcie markerów wyliczenia Grid/Subgrid/@container (funkcje zachowane).
- Zgłoszenie śledzące uzupełnienia: https://github.com/nextpdf-labs/nextpdf/issues/614