8.0 KiB
П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, Pointer Events Level 2 Recommendation, 04.04.2019, WCAG 2.1 Recommendation, 05.06.2018. Все 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>, roleimg, содержательная подпись в статье и контрастные блоки для чтения на узком экране. - Пройдены:
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 принята и интегрирована после трёх независимых проходов. В коммит войдут только пять файлов сентября и два точечных файла интеграции.