Files
progcode/editorial/reviews/2022-09-draft.md
T
huncode 36c4810179
Build and deploy / deploy (push) Successful in 15s
revise September 2022 mobile UX articles
2026-07-31 13:58:05 +03:00

69 lines
8.0 KiB
Markdown
Raw 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.
# П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 принята и интегрирована после трёх независимых проходов. В коммит войдут
только пять файлов сентября и два точечных файла интеграции.