52 lines
3.1 KiB
Markdown
52 lines
3.1 KiB
Markdown
# UI acceptance checklist
|
||
|
||
Актуализировано: 2026-07-31. Реализованные возможности перечислены в `UI_ROADMAP.md`,
|
||
результаты последнего ручного аудита — в `UI_AUDIT_CHECKLIST.md`.
|
||
|
||
Этот checklist применяется к каждому изменённому экрану и не дублирует продуктовый roadmap.
|
||
|
||
## Функциональные состояния
|
||
|
||
- [ ] Основное действие доступно без перехода в «Эксперт».
|
||
- [ ] Есть loading, empty, success, offline и server error.
|
||
- [ ] Опасное действие объясняет последствия и требует подтверждения.
|
||
- [ ] Повторное нажатие не создаёт дублирующую операцию.
|
||
- [ ] Ошибка показывает безопасный текст и request ID.
|
||
- [ ] Секреты, токены и полные notification destinations не отображаются.
|
||
|
||
## Responsive layout
|
||
|
||
- [ ] 1920×1080 и 1366×768.
|
||
- [ ] 1024×768 без page-level overflow.
|
||
- [ ] 768×1024.
|
||
- [ ] 390×844 и 360×800.
|
||
- [ ] Широкий контент прокручивается только внутри локального контейнера.
|
||
- [ ] Диалоги помещаются во viewport и прокручиваются внутри.
|
||
- [ ] Ключевые touch targets не меньше 42 px.
|
||
|
||
## Доступность и motion
|
||
|
||
- [ ] Видимый keyboard focus и логичный tab order.
|
||
- [ ] Управление доступно без мыши.
|
||
- [ ] Zoom 200% не скрывает действия и сообщения.
|
||
- [ ] Текст не передаёт смысл только цветом.
|
||
- [ ] `prefers-reduced-motion` отключает декоративную анимацию.
|
||
- [ ] Контент остаётся доступным при ошибке или отключении animation script.
|
||
|
||
## Данные и обновление
|
||
|
||
- [ ] SSE обновляет экран без потери выбранного объекта/фильтра/вкладки.
|
||
- [ ] Polling fallback не создаёт скачков и повторных toast.
|
||
- [ ] Длинные hostname, ID, IPv6 и provider errors не ломают сетку.
|
||
- [ ] Даты используют выбранную timezone и однозначный формат.
|
||
- [ ] Stale/recent/offline статусы имеют понятный текст.
|
||
|
||
## Неподтверждённые regression-сценарии
|
||
|
||
- [ ] Профиль без e-mail корректно блокирует e-mail notifications.
|
||
- [ ] Неверный Telegram Chat ID и пороги показывают ошибку поля.
|
||
- [ ] Test send проверен для sent/retry/dead-letter.
|
||
- [ ] Пустая история и длинная ошибка доставки проверены на mobile.
|
||
- [ ] Production SMTP, Telegram и webhook проверены из профиля.
|
||
- [ ] Notification/client/cloud-access flow покрыты browser E2E.
|