docs: document confirm shell tradeoff

Issue: #406
User-Visible: no
This commit is contained in:
Sergey Matyunin
2026-09-01 16:32:25 +00:00
committed by claude[bot]
parent da82ab9199
commit 7806ab7182
+18 -8
View File
@@ -4,7 +4,7 @@
- Приоритет: P3, polish; полный трек — три несвязанные поверхности (словари
i18n, `hp-dialog`, снапшоты переезда area), критерий
«одна поверхность» для `small` не выполняется — прецеденты #385, #400
- Ревизия: 3 (2026-09-01), после SPEC-REVIEW-406-r2
- Ревизия: 4 (2026-09-01), после SPEC-REVIEW-406-r3
## Сценарий
@@ -23,8 +23,9 @@
вечно.
**После**: словари содержат только используемое, и это проверяется гейтом;
подтверждение опасного действия — удаления или разблокировки — объявляется как
`alertdialog` вместе с последствиями; смок ходит по обеим веткам диалога;
снапшот убирает записи устройств, которых достоверно нет.
`alertdialog` вместе с последствиями и использует собственную нативную оболочку
House Plan вместо HA-хрома; смок ходит по обеим веткам диалога; снапшот убирает
записи устройств, которых достоверно нет.
## Проблема и контракты по пунктам
@@ -191,10 +192,18 @@ decisions не попадает — его запись `marker_area_snapshot[id
## UX
Оформление не меняется. Меняется то, что слышит пользователь скринридера:
подтверждение удаления или разблокировки объявляется как оповещение и читается
вместе с последствиями. Терминология берётся из `docs/USER-GUIDE.ru.md`, новых
формулировок не вводится.
Пользователь скринридера слышит подтверждение удаления или разблокировки как
оповещение вместе с текстом последствий. Для всех пользователей эти восемь
точек входа (семь `destructive` и одна `warning`) в реальном Home Assistant
переходят с оболочки `ha-dialog` на уже поддерживаемую нативную оболочку
`hp-dialog`: возможны небольшие отличия заголовка и анимации. Содержимое,
порядок и подписи кнопок, цвет destructive/warning, запрет случайного закрытия,
начальный фокус на «Отмена» и Esc → отмена не меняются. Обычные диалоги вне
`hp-confirm` сохраняют HA-хром.
Это осознанный видимый компромисс для гарантированной роли `alertdialog` на
закреплённой версии HA, а не обещание pixel parity. Терминология берётся из
`docs/USER-GUIDE.ru.md`, новых формулировок не вводится.
## Модель данных и миграция
@@ -328,6 +337,7 @@ decisions не попадает — его запись `marker_area_snapshot[id
## Release-артефакты
- `docs/CHANGELOG.md` / `docs/CHANGELOG.ru.md`: пункт о том, что подтверждение
удаления или разблокировки объявляется скринридером вместе с последствиями
удаления или разблокировки теперь использует нативную оболочку House Plan и
объявляется скринридером как `alertdialog` вместе с последствиями
(User-Visible: yes). Остальные три пункта — внутренние.
- Скриншоты не меняются: диалог в статике не открыт.