Files
huncode 98a64abeb7
Build and deploy / deploy (push) Successful in 16s
revise May 2022 design system articles
2026-07-31 13:46:13 +03:00

70 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# П51 · 2022-05 · Маленькая дизайн-система — три прохода саморевью
## Рамка пакета
- Slug: `editorial-2022-05-practice-design-system`, `editorial-2022-05-mechanism-design-system`, `editorial-2022-05-field-design-system`.
- Голос: М5, системный практик 2022 года. Тема продолжает доступный control: внешняя форма, состояния и семантика должны иметь явный контракт, но не раздуваются до выдуманной универсальной платформы.
- Граница компетентности: в текстах нет существующей библиотеки, команды, production-дефекта, пользовательского исследования, скриншота, visual-regression запуска или результата accessibility-проверки.
- Fixture: детерминированные локальные объекты и массивы. `visualPayload` — объявленные входы будущей проверки, не screenshot, score или тестовый результат. DOM, браузер, Playwright, screen reader, CSS compilation, HTTP и реальные visual tests не запускаются.
## Проход 1 — факты и техника
- Историческая рамка сверена по датированным W3C-снимкам: [CSS Custom Properties Level 1, Candidate Recommendation Draft, 11.11.2021](https://www.w3.org/TR/2021/CRD-css-variables-1-20211111/), [WAI-ARIA 1.2, Candidate Recommendation Draft, 08.12.2021](https://www.w3.org/TR/2021/CRD-wai-aria-1.2-20211208/) и неизменяемой [WCAG 2.1 Recommendation, 05.06.2018](https://www.w3.org/TR/2018/REC-WCAG21-20180605/). Ссылки существуют до мая 2022 года; современные mutable docs не используются как доказательство прошлого состояния.
- Уточнена граница CSS Custom Properties: спецификация задаёт `--*` и `var()`, но не taxonomy дизайн-токенов. WAI-ARIA/WCAG не выданы за правила конкретного token API, инвентаря или visual pipeline.
- Fixture проверяет named tokens, пять required states, name/role/state, три именованных usage, declared payload с каждым required state, два invalid configuration и безопасную пару correction/rollback. В ней нет симуляции CSS, пикселей, accessibility tree или browser behavior.
- После финальной правки успешно выполнены `node --check web/scripts/upgrade-2022-05.mjs`, `node web/scripts/upgrade-2022-05.mjs --verify-fixture` (13/13) и `npm run audit:draft -- scripts/upgrade-2022-05.mjs`.
## Проход 2 — редактура и голос
- В первых двух абзацах каждой статьи есть конкретный симптом и цена: рассинхрон кнопок, разрыв владельцев contract или опасная общая правка token.
- Речь построена как «симптом → причина → проверка → действие». М5 проявляется в разделении слоёв, явном радиусе изменения, тестовой границе и обратимой правке, без роли автора как владельца большой дизайн-платформы.
- Во всех трёх статьях есть таблица, рисунок с содержательным `alt` и caption, исполнимый JS-пример, нумерованный маршрут, ограничение и следующий проверяемый шаг.
- Основной текст без источников проверен редакционным аудитом: 6 862 / 8 576 / 8 495 знаков — внутри диапазона 5 000–15 000.
## Проход 3 — визуал и выпуск
- SVG разделены по задаче: token flow, четыре слоя component contract и diagnosis с обратимой правкой. Каждый открыт после Sharp-рендера на ширине 375 px: заголовки, ключевые ветки, подписи и границы модели читаемы.
- XML-проверка прошла для всех трёх SVG. Safety scan подтвердил отсутствие `script`, `foreignObject`, внешних URL и `data:image`; изображения содержат только встроенную vector-разметку.
- Sidecar содержит ровно пять новых файлов. Registry, README, `articles.json`, QUALITY_STANDARD, очередь, `docs/`, Git и чужие sidecar-файлы не менялись. Интеграция и публикация намеренно не выполнялись.
## Независимый редакторский приём
### Проход 1 — фактчек и модель
Проверка исторических ссылок обнаружила неверный URL WAI-ARIA: вариант с
суффиксом `20211209` возвращал `300`, хотя текст правильно называл документ
от 8 декабря. Ссылка заменена на
`CRD-wai-aria-1.2-20211208`; она, как и датированные CSS Custom Properties
CR Draft и WCAG 2.1 Recommendation, отвечает `200`. Статус WAI-ARIA не
повышен до будущей Recommendation.
В code review обнаружен второй разрыв: `requiredStates` содержал пять
значений, а declared visual payload не включал `hover`. Payload дополнен
пятым state, fixture получила отдельный assertion о покрытии каждого
required state. Это по-прежнему только вход будущего visual test, а не
screenshot, diff или результат browser run. Fixture завершилась с **13/13
assertions**.
### Проход 2 — текст и полнота
Повторно проверены problem/cost, таблицы, исполнимые примеры, ordered route,
rollback и ограничения трёх статей. Тексты не выдают CSS custom properties за
taxonomy токенов, а visual payload — за факт visual regression. Draft audit
подтверждает 6 862 / 8 576 / 8 495 знаков в требуемом диапазоне; import-safe
проверка вернула три revision-объекта без `date` и `author`.
### Проход 3 — визуал и выпуск
`xmllint` прошёл; safety scan не нашёл script, `foreignObject`, внешних URL
или `data:image`. Sharp-рендеры на 375 px просмотрены: token flow, четыре
слоя contract и correction/rollback отвечают на разные вопросы и явно
отделяют declared payload от реального результата. После подключения мая
registry содержит 148 ревизий. Строгий slug-audit прошёл с одной figure,
таблицей и code example на статью; production build успешно сгенерировал 374
страницы. Материалы июня и позже не затрагиваются.
## Финальный вердикт
П51 принята и интегрирована после трёх независимых проходов. В коммит войдут
только пять файлов мая и два точечных файла интеграции.