revise September 2022 mobile UX articles
Build and deploy / deploy (push) Successful in 15s

This commit is contained in:
2026-07-31 13:58:05 +03:00
parent a7c2991b49
commit 36c4810179
7 changed files with 432 additions and 1 deletions
+68
View File
@@ -0,0 +1,68 @@
# П55 · 2022-09 · Мобильный сценарий — три прохода саморевью
## Рамка sidecar
- Slug: `editorial-2022-09-practice-mobile-ux`, `editorial-2022-09-mechanism-mobile-ux`, `editorial-2022-09-field-mobile-ux`.
- Голос: М5, системный frontend-практик 2022 года. Текст остаётся коротким и предметным: симптом, граница, проверка, действие, ограничение. Нет выдуманного опыта руководства продуктом или «проверенных» пользовательских эффектов.
- Граница модели: profile `narrow/coarse/unavailable` задаётся вручную. Fixture не запускает DOM, CSS, `matchMedia`, browser, pointer events, сетевой запрос, метрику, usability-тест или реальный rollback. `platform: not-observed` и `usability: not-measured` являются частью возвращаемого результата.
- Источники проверены до написания и отвечают 200: [Media Queries Level 4 CRD, 25.12.2021](https://www.w3.org/TR/2021/CRD-mediaqueries-4-20211225/), [Pointer Events Level 2 Recommendation, 04.04.2019](https://www.w3.org/TR/2019/REC-pointerevents2-20190404/), [WCAG 2.1 Recommendation, 05.06.2018](https://www.w3.org/TR/2018/REC-WCAG21-20180605/). Все URL неизменяемые и документы были доступны в сентябре 2022 года.
## Проход 1 — факты и техника
- Сверена историческая статусная рамка. Media Queries Level 4 на 25.12.2021 — Candidate Recommendation Draft, Pointer Events Level 2 и WCAG 2.1 — Recommendations; поздние WCAG 2.2 и текущие плавающие URL не используются.
- Убрана ложная логика «`hover: none` означает touch-only» и «pointer event доказывает достижимость действия». В тексте остаётся ограниченное утверждение: media features описывают capability среды, а не намерение и удобство конкретного пользователя.
- Fixture проверяет только локальные строки и массив route: валидный explicit path, порядок `summary > details > confirm`, блокировку `hover-only` для teaching profile, invalid input и неизмеряемость platform/usability. В ней нет claims о device, browser, trace, результатах людей или продуктовой метрике.
- Пройдены после последней правки: `node --check web/scripts/upgrade-2022-09.mjs`; `node web/scripts/upgrade-2022-09.mjs --verify-fixture`; `npm run audit:draft -- scripts/upgrade-2022-09.mjs`; import-safe `--print-revisions` без `date` и `author`.
## Проход 2 — голос, полнота и объём
- Первые два абзаца всех трёх статей называют конкретный сценарий и цену: скрытое основное действие, незавершённая операция, ошибочное подтверждение и невозможность объяснить релиз. Нет общих фраз о «важности мобильности».
- В каждой статье есть проблема, таблица, проверяемый JS-пример, figure с осмысленными alt/caption, нумерованный маршрут «симптом → причина → проверка → действие», rollback boundary, перечень того, что модель не покрывает, и следующий отдельный шаг для реальной реализации.
- Основной текст (без источников): practice 7 562 знака, mechanism 8 362 знака, field 8 253 знака. Каждая статья находится в заданном диапазоне 5 000–15 000 знаков и не описывает учебный contract как реальный браузерный или пользовательский результат.
## Проход 3 — визуал и безопасность
- SVG разделены по вопросу: route (`summary → details → confirm`), граница четырёх слоёв и diagnosis/rollback. Они не изображают device screenshot, человека, продуктовый funnel или реальные тестовые данные.
- В SVG нет `script`, `foreignObject`, external URL, `data:image` и event-handler attributes. У всех есть `<title>`, `<desc>`, role `img`, содержательная подпись в статье и контрастные блоки для чтения на узком экране.
- Пройдены: `xmllint --noout` для трёх SVG; safety scan без совпадений; Sharp-рендер каждого SVG на 375 px и визуальный просмотр. Sidecar меняет ровно пять новых файлов; registry, README, `articles.json`, очередь, Git и прочие месяцы не менялись.
## Независимый редакторский приём
### Проход 1 — факты и контракт
Проверены все три датированных W3C URL: Media Queries Level 4 Candidate
Recommendation Draft 25 декабря 2021 года, Pointer Events Level 2
Recommendation 4 апреля 2019 года и WCAG 2.1 Recommendation 5 июня 2018 года
ответили `200`. Источники разделены по роли: Media Queries описывает
capabilities среды, Pointer Events — browser event model, WCAG — критерии;
ни один из них не доказывает usability отдельного человека.
`planTeachingMobilePath` просмотрен как локальный contract: profile вводится
вручную, route всегда имеет `summary → details → confirm`, narrow/coarse/no
hover block относится только к `hover-only`, а wide profile явно оставляет
`platform: not-observed` и `usability: not-measured`. Fixture прошла **9/9
assertions** без DOM, `matchMedia` или pointer event.
### Проход 2 — речь и полнота
Повторно проверены первые абзацы, tables, code, ordered routes, rollback и
границы статей. Они не делают из hover-сигнала определение устройства и не
называют route результатом usability-test. Draft audit подтвердил 7 562 /
8 362 / 8 253 знака; import-safe проверка вернула три revision-объекта без
`date` и `author`.
### Проход 3 — визуал и выпуск
`xmllint` прошёл; safety scan не нашёл script, `foreignObject`, внешних URL,
`data:image` или event-handler attributes. Sharp-рендеры на 375 px
просмотрены: route, четыре слоя контрактной границы и diagnosis/rollback
самостоятельны и не изображают device screenshot или пользователя. После
подключения сентября registry содержит 160 ревизий. Строгий slug-audit прошёл
с одной figure, 1 / 2 / 2 tables и одним code example на статью; production
build успешно сгенерировал 374 страницы. Sidecar октября и позже не
затрагиваются.
## Финальный вердикт
П55 принята и интегрирована после трёх независимых проходов. В коммит войдут
только пять файлов сентября и два точечных файла интеграции.