NextPDF реализует отрисовку каскадных таблиц стилей (CSS) в соответствии с опубликованными спецификациями World Wide Web Consortium (W3C). На этой странице вы можете просмотреть каждый CSS-модуль из корпуса спецификаций NextPDF и фактически проверенное состояние его поддержки в конвейере отрисовки.
Эта редакция подготовлена по итогам фактологической проверки этапа Wave 4 B2 (раздел плана 4.4). Предыдущая структурная редакция использовала непроверенные временные значки. Проверка переоценила каждую строку по фактическим данным на диске (src/Html/, tests/, tests/Wpt/corpus/), записям архитектурных решений (ADR) о критических изменениях v8/v9 и внутренней проверке покрытия CSS-свойств. В ходе проверки достоверность была важнее охвата: если факты понижали значок, он понижался.
Согласно контракту верификации каждая строка классифицируется одним из четырёх значков:
- Проверено — реализация в
src/Html/ плюс содержательный отдельный набор автоматических тестов: либо набор проверок на уровне свойств из трёх и более файлов в tests/Unit/Html/<Module>/, либо срез корпуса Web Platform Tests (WPT) из пятидесяти и более фикстур в tests/Wpt/corpus/. Эталонный PDF (Portable Document Format) для отдельных CSS-модулей пока не подключён, поэтому проверенные строки используют профиль воспроизводимости structural (эквивалентность проверок PHPUnit), но не bitwise.
- Заявлено — поведение модуля реализовано в
src/Html/ (путь к исходному коду указан), но отдельный тестовый набор слишком мал, общий или отсутствует. Для каждой заявленной строки с конкретной реализацией заведена задача на доработку.
- Не поддерживается — модуль не входит в конвейер отрисовки статичного PDF: API runtime/browser-only, runtime-среды scrolling/animation и прекращённые в W3C направления работы. В строке зафиксирована причина.
- Неизвестно — модуль присутствует в корпусе, но проверка не нашла фактов реализации или тестового набора. Оценка никогда не завышалась ради показателей.
Значок partial структурной редакции упразднён: каждая прежняя строка с частичной поддержкой переоценена как claimed (реализация присутствует, отдельного тестового набора нет) или verified.
| Значок | Значение |
|---|
verified | src/Html/ + отдельный тестовый набор (≥3 файлов) или срез WPT (≥50 фикстур); проходит детерминированно в профиле structural. |
claimed | Есть факты реализации в src/Html/, отдельного тестового набора нет. Задача на доработку отслеживается. |
not-supported | Явно исключено из области статичного PDF. Причина зафиксирована. |
unknown | Определимых фактов нет. Оценка не завышалась. |
Столбец Уверенность — честный небинарный сигнал о фактической базе указанного значка (high / medium / low). Он не зависит от самого значка.
NextPDF поддерживает перечисленные ниже CSS-модули на указанных уровнях. Проверенные строки имеют отдельный набор автоматических тестов или содержательный срез корпуса WPT, который проверяет поведение NextPDF и проходит детерминированно в профиле воспроизводимости structural. Для заявленных строк есть факты реализации в src/Html/, но пока нет отдельного тестового набора; каждая строка отслеживается задачей на доработку в рамках отслеживающей задачи #614. Неподдерживаемые строки документируют явные границы области для целевого статичного PDF.
Ни одна строка не заявляет о воспроизводимости на уровне байтов, поскольку в этой редакции нет эталонного PDF для отдельных CSS-модулей. Контракт верификации запрещает пустые строки: если поддержку определить нельзя, строка получает статус unknown.
| Статус | Модули | Уверенность (high / medium / low) |
|---|
| Проверено | 12 | 8 / 4 / 0 |
| Заявлено | 49 | 0 / 35 / 14 |
| Не поддерживается | 67 | 62 / 5 / 0 |
| Неизвестно | 39 | 0 / 0 / 39 |
| Итого | 167 | 70 / 44 / 53 |
Блок summary структурной редакции содержал внутреннее противоречие: в нём было указано 148 всего (18 verified / 11 partial / 11 claimed / 53 not-supported / 55 unknown), тогда как файл содержал 167 строк модулей, а их метки давали в сумме 34 verified / 13 partial / 13 claimed / 68 not-supported / 39 unknown. Эта проверка исправила итог до фактических 167 и переоценила каждую строку по данным на диске: число проверенных снизилось с заявленных 34 до обоснованных 12. Это снижение — корректный результат честной проверки, а не регресс. Полная разница before/after приведена в сопутствующем файле репозитория _css-matrix-truth-report.md.
Структурная редакция ошибочно пометила три работающие возможности как удалённые или неподдерживаемые. ADR-027 и ADR-028 удалили из перечисления ExperimentalFeature только маркеры включения; сами возможности по-прежнему ДЕЙСТВУЮТ и включены по умолчанию:
- Subgrid (
css_grid_2) — ДЕЙСТВУЕТ; CssFeatureFlags::$layoutSubgrid включён по умолчанию. Возможность была ошибочно помечена как “subgrid жёстко удалён в v9.0.0”.
@container запросы (css_contain_2) — диспетчеризация во время выполнения явно не изменена в ADR-028; возможность отключения флагом сохранена. Возможность была ошибочно помечена как “жёстко удалена в v9.0.0”.
writing-mode: vertical-lr (css_writing_modes_3) — включён по умолчанию и стабилен начиная с v7.0.0; ADR-027 завершил только процедуру вывода из эксплуатации. Возможность была ошибочно помечена как “устарела/удалена в v8.0.0”.
Машиночитаемый набор строк модулей находится в файле репозитория css-support-matrix-data.yaml, который служит источником истины. Эта страница — человекочитаемая проекция, сгруппированная по категориям. Компоненты Astro используют данные YAML напрямую во время сборки документации.
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Flexible Box Layout — гибкая блочная раскладка (css_flexbox_1) | 1 | CR | Проверено | высокая | src/Html/Flex/, tests/Unit/Html/Flex/ (50 файлов) |
CSS Grid Layout (css_grid_1) | 1 | REC | Проверено | высокая | src/Html/Grid/, tests/Unit/Html/Grid/ (25), tests/Wpt/corpus/css-grid/ (654) |
CSS Grid Layout — Subgrid — сеточная раскладка, вложенная сетка (css_grid_2) | 2 | CR | Заявлено | средняя | src/Html/Grid/Subgrid/ + срез WPT из 80 фикстур + 1 интеграционный тест. ДЕЙСТВУЕТ, включён по умолчанию (ADR-028 удалил только маркер перечисления). |
CSS Grid Layout — Masonry — сеточная раскладка, кладочная раскладка (css_grid_3) | 3 | ED | Не поддерживается | высокая | Masonry находится за пределами области для v5.x. |
CSS Display (css_display_3) | 3 | CR | Заявлено | средняя | DisplayResolver.php + тесты резолвера; выделенного набора для свойств нет. |
CSS Display (css_display_4) | 4 | ED | Неизвестно | низкая | Фактов для L4 нет. |
CSS Positioned Layout (css_position_3) | 3 | WD | Проверено | высокая | src/Html/Positioned/, tests/Unit/Html/Positioned/ (8 файлов) |
CSS Positioned Layout (css_position_4) | 4 | ED | Неизвестно | низкая | position: sticky/anchor фактами не подтверждены. |
CSS Box Alignment (css_align_3) | 3 | WD | Заявлено | средняя | Реализовано внутри движков Flex/Grid; отдельного набора нет. |
CSS Box Sizing (css_sizing_3) | 3 | CR | Заявлено | низкая | src/Html/Length/; проверка Phase 0 показывает, что width/height в основном POLICY-ONLY. |
CSS Box Sizing (css_sizing_4) | 4 | ED | Неизвестно | низкая | Ключевые слова intrinsic size фактами не подтверждены. |
CSS Box Model (css_box_3) | 3 | WD | Заявлено | средняя | Покрыто схлопывание полей; блочная модель left/right отсутствует по результатам проверки Phase 0. Доработка #617. |
CSS Box Model (css_box_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Multi-column Layout — многоколоночная раскладка (css_multicol_1) | 1 | CR | Заявлено | средняя | src/Html/MultiCol/; набора для свойств нет. |
CSS Multi-column Layout — многоколоночная раскладка (css_multicol_2) | 2 | ED | Неизвестно | низкая | Фактов нет. |
CSS Fragmentation (css_break_3) | 3 | CR | Проверено | средняя | src/Html/Fragmentation/, tests/Unit/Html/PagedMedia/ (20 файлов) |
CSS Fragmentation (css_break_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Containment (css_contain_1) | 1 | REC | Не поддерживается | средняя | Применитель contain для layout/paint отсутствует; модели обновления в реальном времени нет. |
CSS Containment — @container (css_contain_2) | 2 | CR | Заявлено | низкая | Срез WPT из 114 фикстур + модель сохранённой раскладки ADR-017/021. Среда выполнения ДЕЙСТВУЕТ (ADR-028 удалил только маркер перечисления). |
CSS Containment (css_contain_3) | 3 | ED | Не поддерживается | средняя | Изоляция стилей за пределами области. |
CSS Inline Layout (css_inline_3) | 3 | WD | Заявлено | средняя | src/Html/Layout/InlineLayout/ + 8 тестов; initial-letter фактами не подтверждён. |
CSS Logical Properties (css_logical_1) | 1 | WD | Заявлено | средняя | Резолвер логических→физических значений WritingMode; выделенного тестового набора нет. Логические text-align: start/end разрешаются относительно direction — при direction: rtl start соответствует правому краю — и применяются в ячейках таблицы. |
CSS Page Floats (css_page_floats_3) | 3 | ED | Не поддерживается | высокая | За пределами области для v5.x. |
CSS Pagination Templates (css_page_templates_3) | 3 | ED | Не поддерживается | высокая | Многозонная разбивка на страницы за пределами области. |
CSS Exclusions (css_exclusions_1) | 1 | WD | Не поддерживается | высокая | Уровень C; обязательств в дорожной карте нет. |
CSS Regions (css_regions_1) | 1 | WD | Не поддерживается | высокая | Работа прекращена в W3C. |
CSS Template Layout (css_template_1) | 1 | NOTE | Не поддерживается | высокая | За пределами области. |
CSS Layout API (css_layout_api_1) | 1 | WD | Не поддерживается | высокая | Среда выполнения worklet; не применимо. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Backgrounds and Borders — фоны и границы (css_backgrounds_3) | 3 | CR | Заявлено | средняя | src/Html/Background/, BorderRenderer.php; по результатам проверки Phase 0 bg-color работает только для Table. Доработка #628. |
CSS Backgrounds (css_backgrounds_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Borders and Box Decorations — границы и оформление блока (css_borders_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Gap Decorations (css_gaps_1) | 1 | ED | Неизвестно | низкая | Фактов нет. |
CSS Masking (css_masking_1) | 1 | CR | Не поддерживается | средняя | clip-path/mask не направляются в операторы отсечения PDF. |
CSS Shadow Module (css_shadow_1) | 1 | ED | Заявлено | средняя | src/Html/Shadow/ (BoxShadowRenderer); выделенного тестового набора нет. |
CSS Shapes (css_shapes_1) | 1 | CR | Не поддерживается | высокая | shape-outside за пределами области для v5.x. |
CSS Shapes (css_shapes_2) | 2 | ED | Не поддерживается | высокая | За пределами области. |
Filter Effects (filter_effects_1) | 1 | WD | Не поддерживается | высокая | Примитивы фильтров SVG не передаются в PDF. |
Filter Effects (filter_effects_2) | 2 | ED | Не поддерживается | высокая | За пределами области. |
Compositing and Blending — композитинг и наложение (compositing_1) | 1 | CR | Заявлено | средняя | Сопоставление режимов наложения PDF в PaintCommand/; один тест режима наложения. |
Compositing (compositing_2) | 2 | ED | Неизвестно | низкая | Фактов нет. |
CSS Fill and Stroke — заливка и обводка (fill_stroke_3) | 3 | ED | Неизвестно | низкая | Фактов нет. |
Geometry Interfaces (geometry_1) | 1 | CR | Не поддерживается | высокая | API DOM Matrix времени выполнения. |
DOMMatrix (matrix) | 1 | NOTE | Не поддерживается | высокая | API времени выполнения браузера. |
Motion Path (motion_1) | 1 | WD | Не поддерживается | высокая | Только для анимации. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Fonts (css_fonts_3) | 3 | REC | Проверено | средняя | src/Html/Font/, tests/Unit/Font/ (9) + тесты FontResolver |
CSS Fonts (css_fonts_4) | 4 | CR | Проверено | высокая | src/Html/FontFace/, tests/Unit/Html/FontFace/ (31 файл) |
CSS Fonts (css_fonts_5) | 5 | ED | Неизвестно | низкая | font-tech() фактами не подтверждён. |
CSS Font Loading (css_font_loading_3) | 3 | WD | Не поддерживается | высокая | API времени выполнения FontFace в JS; загрузка на стороне PHP через FontResolver. |
CSS Text (css_text_3) | 3 | CR | Заявлено | средняя | src/Html/Text/ + 5 тестов; Phase 0 FULL для align/indent/spacing, white-space только для <pre>. Доработка #618. |
CSS Text (css_text_4) | 4 | ED | Заявлено | средняя | src/Html/Layout/Hyphenation/ + тесты стратегий; остальные свойства L4 в ожидании. |
CSS Text Decoration (css_text_decor_3) | 3 | CR | Заявлено | средняя | src/Html/Text/; Phase 0 FULL, но выделенного тестового набора нет. Доработка #619. |
CSS Text Decoration (css_text_decor_4) | 4 | ED | Неизвестно | низкая | text-emphasis фактами не подтверждён. |
CSS Ruby (css_ruby_1) | 1 | WD | Не поддерживается | высокая | Аннотации ruby за пределами области для v5.x. |
CSS Writing Modes (css_writing_modes_3) | 3 | REC | Заявлено | средняя | src/Html/Layout/WritingMode/ (7 тестов) + срез WPT из 140 фикстур. vertical-lr ДЕЙСТВУЕТ, включён по умолчанию (ADR-027). direction: rtl работает — переупорядочение по UAX#9 плюс контекстное формирование арабского письма, с выравниванием ячеек таблицы по началу. Выравнивание блоков вне таблиц и justify пока не применяются, а HTML-атрибут dir не сопоставляется (используйте CSS direction). См. Отрисовка справа налево арабского HTML. Доработка #629. |
CSS Writing Modes (css_writing_modes_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Speech (css_speech_1) | 1 | CR | Не поддерживается | высокая | Звуковая отрисовка не применима. |
CSS Mobile Text Size Adjustment — подстройка размера текста на мобильных (css_size_adjust_1) | 1 | ED | Не поддерживается | высокая | Подсказка мобильного UA; не применимо. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Color (css_color_3) | 3 | REC | Заявлено | средняя | src/Html/Color/, NamedColors.php + тесты парсера; тестового набора для модуля нет. Доработка #620. |
CSS Color (css_color_4) | 4 | CR | Заявлено | средняя | Разбор Lab/LCH/OKLab; точность цветового пространства PDF не заявляется. |
CSS Color (css_color_5) | 5 | WD | Неизвестно | низкая | color-mix() фактами не подтверждён. |
CSS Color (css_color_6) | 6 | ED | Неизвестно | низкая | Фактов нет. |
CSS Color Adjustment (css_color_adjust_1) | 1 | CR | Не поддерживается | высокая | color-scheme управляется UA; не применимо. |
CSS Color HDR (css_color_hdr_1) | 1 | ED | Не поддерживается | высокая | HDR не направляется в цветовое пространство PDF. |
CSS Images (css_images_3) | 3 | CR | Заявлено | средняя | src/Html/Gradient/ (linear/radial/conic) + тесты парсера. |
CSS Images (css_images_4) | 4 | ED | Неизвестно | низкая | image()/image-set() фактами не подтверждены. |
CSS Images (css_images_5) | 5 | ED | Неизвестно | низкая | Фактов нет. |
CSS Image Animation (css_image_animation_1) | 1 | ED | Не поддерживается | высокая | Только для анимации. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Selectors (selectors_3) | 3 | REC | Заявлено | средняя | HasSelectorResolver.php + тесты CssRule; тестовый набор — единственный файл corpus.json. Доработка #627. |
CSS Selectors (selectors_4) | 4 | WD | Заявлено | средняя | :is()/:where()/:not()/:has() протестированы; расширенные возможности L4 в ожидании. |
CSS Selectors (selectors_5) | 5 | ED | Неизвестно | низкая | Фактов нет. |
CSS Non-element Selectors — неэлементные селекторы (selectors_nonelement_1) | 1 | WD | Не поддерживается | высокая | Хуки таблиц стилей браузера; не применимо. |
CSS Pseudo-Elements (css_pseudo_4) | 4 | WD | Заявлено | средняя | src/Html/Pseudo/ (12) + ~10 тестов отрисовщика; набора для модуля нет. |
CSS Cascading and Inheritance (css_cascade_3) | 3 | REC | Проверено | высокая | src/Html/Cascade/, tests/Unit/Html/Cascade/ (9 файлов) |
CSS Cascading (css_cascade_4) | 4 | CR | Проверено | высокая | Cascade/Layer/ + тесты revert/layer |
CSS Cascading (css_cascade_5) | 5 | CR | Проверено | высокая | AtRule/Layer/ + Cascade/Layer/ наборы |
CSS Cascading (css_cascade_6) | 6 | WD | Неизвестно | низкая | @scope фактами не подтверждён. |
CSS Values and Units — значения и единицы (css_values_3) | 3 | REC | Заявлено | средняя | CssValueParser.php + модульные тесты; тестовый набор — единственный corpus.json. Доработка #626. |
CSS Values and Units — значения и единицы (css_values_4) | 4 | CR | Заявлено | средняя | calc() реализован; вложенные min()/max()/clamp() подтверждены фактами лишь частично. |
CSS Values and Units — значения и единицы (css_values_5) | 5 | ED | Неизвестно | низкая | Фактов нет. |
CSS Custom Properties (css_variables_1) | 1 | CR | Заявлено | средняя | src/Html/CustomProperty/ + тест покрытия области видимости. |
CSS Custom Properties (css_variables_2) | 2 | ED | Неизвестно | низкая | Фактов нет. |
CSS Conditional Rules (css_conditional_3) | 3 | CR | Заявлено | средняя | @media/@supports — разбор протестирован; среда выполнения @container сохранена (ADR-028). |
CSS Conditional Rules (css_conditional_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Conditional Rules (css_conditional_5) | 5 | ED | Неизвестно | низкая | Фактов нет. |
CSS Conditional Values (css_conditional_values_1) | 1 | ED | Неизвестно | низкая | Фактов нет. |
CSS Namespaces (css_namespaces_3) | 3 | REC | Заявлено | низкая | Парсер допускает @namespace; покрытия для сопоставления нет. |
CSS Style Attributes (css_style_attr_1) | 1 | CR | Заявлено | средняя | Разбор встроенного style по всему конвейеру; выделенного тестового набора нет. Доработка #622. |
CSS Syntax (css_syntax_3) | 3 | CR | Заявлено | средняя | CssParser/ + тесты grammar/fuzz; тестового набора на соответствие нет. Доработка #623. |
CSS Nesting (css_nesting_1) | 1 | CR | Заявлено | средняя | Повышено с неизвестного — CssNestingTest + тесты desugar/inner-scan. |
CSS Environment Variables (css_env_1) | 1 | ED | Не поддерживается | средняя | Зависит от UA env(); не применимо. |
CSS Custom Functions and Mixins — пользовательские функции и примеси (css_mixins_1) | 1 | ED | Неизвестно | низкая | Фактов нет. |
CSS Extensions (css_extensions_1) | 1 | NOTE | Неизвестно | низкая | Фактов нет. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Lists and Counters — списки и счётчики (css_lists_3) | 3 | WD | Заявлено | средняя | HtmlListRenderer.php/CssCounterManager.php + 18 тестов; list-style-type не применяется к ol/ul (Phase 0). |
CSS Counter Styles (css_counter_styles_3) | 3 | CR | Заявлено | средняя | Встроенные стили счётчиков; @counter-style в ожидании. |
CSS Generated Content (css_content_3) | 3 | WD | Заявлено | средняя | CssContentSegment.php + тесты псевдоэлементов; идёт в обход применителя (Phase 0). Доработка #621. |
CSS Generated Content for Paged Media — генерируемое содержимое для постраничных носителей (css_gcpm_3) | 3 | WD | Заявлено | средняя | src/Html/Gcpm/ — реестры + тест захвата сносок. |
CSS Generated Content for Paged Media — генерируемое содержимое для постраничных носителей (css_gcpm_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Paged Media (css_page_3) | 3 | WD | Заявлено | средняя | Page/, PagedMedia/, PageRule.php + тесты PageRuleParser/PageMarginBox; в tests/Unit/Html/Page/ 1 файл. Доработка #624. |
CSS Paged Media (css_page_4) | 4 | NOTE | Неизвестно | низкая | Будущие предложения. |
CSS Print Profile (css_print) | 1 | NOTE | Заявлено | низкая | Целевой статичный PDF соблюдает ограничения печати; тестового набора на соответствие нет. |
CSS Presentation Levels (css_preslev_1) | 1 | NOTE | Не поддерживается | высокая | Навигация в презентационном ПО; не применимо. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Overflow (css_overflow_3) | 3 | WD | Заявлено | низкая | OverflowClip/ClipRect — тесты; отсечение только для ячеек Table (Phase 0). |
CSS Overflow (css_overflow_4) | 4 | ED | Неизвестно | низкая | Фактов нет. |
CSS Overflow (css_overflow_5) | 5 | ED | Неизвестно | низкая | Фактов нет. |
CSS Overscroll Behavior (css_overscroll_1) | 1 | CR | Не поддерживается | высокая | Среда выполнения прокрутки; не применимо. |
CSS Scroll Anchoring (css_scroll_anchoring_1) | 1 | WD | Не поддерживается | высокая | Среда выполнения прокрутки; не применимо. |
CSS Scroll Snap (css_scroll_snap_1) | 1 | REC | Не поддерживается | высокая | Среда выполнения прокрутки; не применимо. |
CSS Scroll Snap (css_scroll_snap_2) | 2 | WD | Не поддерживается | высокая | Среда выполнения прокрутки; не применимо. |
CSS Scrollbars Styling (css_scrollbars_1) | 1 | CR | Не поддерживается | высокая | Среда выполнения UA; не применимо. |
CSS Basic User Interface — базовый пользовательский интерфейс (css_ui_3) | 3 | REC | Не поддерживается | средняя | cursor/resize только для UI браузера. |
CSS Basic User Interface — базовый пользовательский интерфейс (css_ui_4) | 4 | WD | Не поддерживается | высокая | Среда выполнения UA; не применимо. |
CSS Form Control Styling — стилизация элементов управления формами (css_forms_1) | 1 | ED | Не поддерживается | высокая | Виджеты форм не отрисовываются в статичном PDF. |
CSS View Transitions (css_view_transitions_1) | 1 | WD | Не поддерживается | высокая | Только для анимации. |
CSS View Transitions (css_view_transitions_2) | 2 | ED | Не поддерживается | высокая | Только для анимации. |
CSS Spatial Navigation (css_nav_1) | 1 | NOTE | Не поддерживается | высокая | Среда выполнения UA; не применимо. |
CSS Route Matching (css_navigation_1) | 1 | ED | Не поддерживается | высокая | Среда выполнения UA; не применимо. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Table (css_tables_3) | 3 | WD | Проверено | высокая | src/Html/Table/, tests/Unit/Html/Table/ (17) + ~60 тестов TableParser + 5 синтетических эталонных PDF в tests/Corpus/tables/ |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Transforms (css_transforms_1) | 1 | CR | Заявлено | средняя | Renderer/Transform/ + ApplyTransformCommand.php; выделенного тестового набора нет. |
CSS Transforms (css_transforms_2) | 2 | ED | Неизвестно | низкая | 3D-трансформации фактами не подтверждены. |
CSS Animations (css_animations_1) | 1 | WD | Не поддерживается | высокая | Временная шкала анимации не применима к статичному PDF. |
CSS Animations (css_animations_2) | 2 | ED | Не поддерживается | высокая | За пределами области. |
CSS Transitions (css_transitions_1) | 1 | WD | Не поддерживается | высокая | За пределами области. |
CSS Transitions (css_transitions_2) | 2 | ED | Не поддерживается | высокая | За пределами области. |
CSS Easing Functions (css_easing_1) | 1 | CR | Не поддерживается | высокая | Только для анимации. |
CSS Easing Functions (css_easing_2) | 2 | ED | Не поддерживается | высокая | Только для анимации. |
Web Animations (web_animations_1) | 1 | WD | Не поддерживается | высокая | API времени выполнения браузера. |
Web Animations (web_animations_2) | 2 | ED | Не поддерживается | высокая | API времени выполнения браузера. |
Web Animations CSS Integration — интеграция Web Animations с CSS (web_animations_css_integration) | 1 | ED | Не поддерживается | высокая | API времени выполнения браузера. |
Animation Triggers (animation_triggers) | 1 | ED | Не поддерживается | высокая | Только для анимации. |
Pointer-driven Animations — анимации, управляемые указателем (pointer_animations_1) | 1 | ED | Не поддерживается | высокая | События ввода во время выполнения; не применимо. |
Scroll-driven Animations — анимации, управляемые прокруткой (scroll_animations_1) | 1 | ED | Не поддерживается | высокая | Среда выполнения прокрутки; не применимо. |
CSS Animation Worklet (css_animation_worklet) | 1 | ED | Не поддерживается | высокая | Среда выполнения worklet браузера. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Anchor Positioning (css_anchor_position_1) | 1 | WD | Неизвестно | низкая | Исходного кода anchor() нет. |
CSS Anchor Positioning (css_anchor_position_2) | 2 | ED | Неизвестно | низкая | Фактов нет. |
CSS Highlight API (css_highlight_api_1) | 1 | WD | Не поддерживается | высокая | API времени выполнения браузера. |
CSS Properties and Values API — API свойств и значений (css_properties_values_api_1) | 1 | CR | Не поддерживается | высокая | API времени выполнения браузера. |
CSS Painting API (css_paint_api_1) | 1 | WD | Не поддерживается | высокая | Среда выполнения worklet браузера. |
CSS Typed OM (css_typed_om_1) | 1 | WD | Не поддерживается | высокая | API времени выполнения браузера. |
CSSOM (cssom_1) | 1 | WD | Не поддерживается | высокая | API DOM браузера. |
CSSOM View (cssom_view_1) | 1 | WD | Не поддерживается | высокая | API DOM браузера. |
CSS Will Change (css_will_change_1) | 1 | CR | Не поддерживается | высокая | Подсказка оптимизации браузера. |
CSS Linked Parameters (css_link_params_1) | 1 | ED | Неизвестно | низкая | Фактов нет. |
CSS Line Grid (css_line_grid_1) | 1 | NOTE | Неизвестно | низкая | Фактов нет. |
CSS Rhythmic Sizing (css_rhythm_1) | 1 | ED | Неизвестно | низкая | Фактов нет. |
CSS Round Display (css_round_display_1) | 1 | ED | Не поддерживается | высокая | Целевые устройства с круглыми дисплеями не применимы. |
CSS Shaders (css_shaders_1) | 1 | NOTE | Не поддерживается | высокая | Удалено в W3C. |
CSS Viewport (css_viewport_1) | 1 | NOTE | Не поддерживается | высокая | Область просмотра UA; не применимо. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
Media Queries (mediaqueries_3) | 3 | REC | Заявлено | средняя | CssParser/ + тесты покрытия медиазапросов; выделенного тестового набора нет. Доработка #625. |
Media Queries (mediaqueries_4) | 4 | CR | Заявлено | средняя | @media print/prefers-color-scheme разбираются; синтаксис диапазонов в ожидании. |
Media Queries (mediaqueries_5) | 5 | WD | Неизвестно | низкая | Фактов нет. |
| Модуль W3C | Уровень | Этап W3C | Статус | Уверенность | Факты |
|---|
CSS Level 2 (css_2_1) | 2.1 | REC | Заявлено | низкая | Базовый уровень распределён по src/Html/; единого тестового набора на соответствие нет. |
CSS Level 2.2 (css_2_2) | 2.2 | NOTE | Заявлено | низкая | Базовый уровень распределён; отдельного тестового набора нет. |
CSS Snapshot 2026 (css_snapshot_2026) | snapshot | NOTE | Заявлено | низкая | Указатель на другие модули; статус — агрегат упомянутых строк. |
Эти модули W3C присутствуют в корпусе, но находятся за пределами конвейера отрисовки CSS. Где применимо, на них ссылаются соответствующие страницы возможностей.
| Модуль W3C | Этап W3C | Статус | Уверенность | Где |
|---|
W3C SVG 1.1 (svg_1_1) | REC | Заявлено | низкая | Подмножество отрисовки встроенного SVG в Renderer/PaintCommand/; тестового набора для матрицы CSS нет. |
W3C SVG 2.0 (svg_2_0) | CR | Неизвестно | низкая | Относится к конвейеру Premium; фактов в core нет. |
W3C PNG 3rd Edition — формат PNG, 3-е издание (png_3) | WD | Заявлено | низкая | Декодирование PNG в модуле Graphics/ (за пределами HTML/CSS). |
W3C WOFF 1.0 (woff_1_0) | REC | Заявлено | низкая | WOFF через стек Font; тестового набора для матрицы CSS нет. |
W3C WOFF 2.0 (woff_2_0) | REC | Заявлено | низкая | WOFF2 через стек Font; тестового набора для матрицы CSS нет. |
W3C WCAG 2.2 (wcag_2_2) | REC | Проверено | средняя | src/Html/Aam/, tests/Unit/Accessibility/HtmlAam/ (4 файла) — PDF/UA-2. |
W3C WAI-ARIA 1.2 (wai_aria_1_2) | REC | Проверено | средняя | tests/Unit/Accessibility/HtmlAam/ (4 файла). |
W3C ARIA Bundle (w3c_aria_bundle) | REC | Заявлено | низкая | Набор рекомендаций; конкретным фактом является строка WAI-ARIA. |
W3C AAM Bundle (w3c_aam_bundle) | NOTE | Заявлено | низкая | Указатель на набор; фактами являются строки WAI-ARIA/WCAG. |
W3C ATAG 2.0 (atag_2_0) | REC | Не поддерживается | высокая | Доступность инструментов разработки; не применимо. |
W3C XSL 1.1 (xsl_1_1) | REC | Не поддерживается | высокая | Параллельная модель форматирования XSL-FO; не реализована. |
W3C XSD 1.1 Part 1 (xsd_1_1_part1) | REC | Не поддерживается | высокая | Схема XML; не применимо. |
W3C XSLT 3.0 (xslt_3_0) | REC | Не поддерживается | высокая | Язык преобразований; не применимо. |
Resize Observer (resize_observer_1) | CR | Не поддерживается | высокая | API времени выполнения браузера. |
Чтобы строка перешла из claimed в verified:
- Отдельный тестовый набор на уровне свойств находится в
tests/Unit/Html/<Module>/ (≥3 файлов) или содержательный срез корпуса WPT (≥50 фикстур) в tests/Wpt/corpus/ оформлен как тест с проверками.
- Тестовый набор проверяет поведение NextPDF относительно грамматики W3C для основных свойств модуля.
- Тестовый набор проходит детерминированно в
NextPDF\Testing\ReproducibilityProfile (structural для наборов с проверками; bitwise — только после появления эталонных PDF для отдельных модулей).
- Поле
nextpdf_status строки в файле репозитория css-support-matrix-data.yaml меняется на verified, с обновлением fixture_path, repro_profile и confidence.
Чтобы строка перешла из unknown в claimed:
- Этап проверки подтверждает факты реализации в
src/Html/ (укажите путь в evidence + notes).
- Создаётся задача на доработку и связывается через
backfill_issue.
- Отчёт о фактическом состоянии матрицы CSS (
_css-matrix-truth-report.md, в репозитории) — различия проверки before/after, распределение уверенности, журнал деинфляции.
- Проверка покрытия CSS-свойств (
architecture/css-property-coverage-audit.md, в репозитории) — внутренняя четырёхуровневая проверка по каждому свойству (Policy/Parsed/Applied/Rendered).
- ADR-027 v8.0.0 BREAKING (
architecture/adr/ADR-027-v8-breaking.md, в репозитории) — завершение процедуры вывода из эксплуатации vertical-lr (возможность сохранена).
- ADR-028 v9.0.0 BREAKING (
architecture/adr/ADR-028-v9-breaking.md, в репозитории) — удаление маркеров перечисления Grid/Subgrid/@container (возможности сохранены).
- Отслеживающая задача на доработку: https://github.com/nextpdf-labs/nextpdf/issues/614