Спроектируй ошибки и edge-состояния для: {{flow}}.
1. Каталог ошибок
Для каждого типа — отдельный дизайн:
| Тип | Где | Что показать | Действие |
|---|---|---|---|
| Валидация поля | Inline под полем | Что не так + как исправить | Юзер исправляет, продолжает |
| Невозможно отправить | Над формой | Сводка ошибок + ссылки к полям | Прокрутка к первому |
| Сеть упала | Toast / banner | "Нет соединения" + retry | Retry или offline-mode |
| 401 — выкинуло | Полная страница | Сессия истекла + login | Залогиниться |
| 403 — нет прав | Inline / страница | Кто может, как получить | Запросить доступ |
| 404 — нет | Страница | Что искал, что предложить | Назад / поиск |
| 429 — rate limit | Toast | Сколько ждать | Подождать |
| 5xx — сервер | Banner / page | "Что-то пошло не так" + ID + retry | Retry / поддержка |
| Долгая загрузка | Inline | Прогресс + опция отменить | Отмена |
| Пустой результат | Inline | Что не нашли + как изменить запрос | Изменить фильтр |
2. Принципы текста ошибки
ЧТО произошло.
ПОЧЕМУ (если знаем и не страшно сказать).
ЧТО ДЕЛАТЬ дальше.
Плохо: "Произошла ошибка" Хорошо: "Не удалось сохранить — нет связи с сервером. Попробуйте ещё раз."
3. Восстановление
- Не теряй ввод пользователя при ошибке
- Auto-save черновика
- На retry — пробуй то же действие, не возвращай на старт
- Покажи когда retry разрешён ("через 5с"), не давай спамить
4. Логирование (для разработчика)
- Каждая ошибка → лог с stacktrace + контекст
- Уникальный ID в UI → юзер сообщит, ты найдёшь в логах
- НЕ показывай stacktrace пользователю
5. Цвета и иконки
- Ошибка — красный (но не кровавый — приглушённый красно-розовый)
- Warning — янтарь
- Info — синий / нейтральный
- Иконка слева от текста, не одна сама по себе
6. Hierarchical errors
Если поле в форме невалидно, но форма в целом ок — НЕ блокируй кнопку submit, дай попробовать. Покажи ошибку на submit.
7. Accessibility
role="alert"для inline ошибокaria-live="polite"для не-критичныхaria-invalid="true"на полеaria-describedbyсвязь поле ↔ ошибка
Анти-паттерны
- "Ошибка #42" — что это значит?
- Чисто красный экран без кнопок
- "Нажмите ОК" чтобы убрать ошибку — что ок?
- Сразу подсвечивать поле красным когда юзер только начал писать
Похожие промты
start / glossary
Разбери эту ошибку из консоли — я не понимаю
Скопировал страшный текст с красным «Error: …»? Вставь его сюда. Получишь объяснение, причину, фикс.
beginnerstartglossary
Открыть
Начальный5-10 мин
site / auditFeatured
Полный UX-аудит сайта
Эвристическая оценка по Нильсену + проверка ключевых сценариев. На выходе — приоритизированный список проблем.
uxauditheuristics
Открыть
Средний15-30 мин
site / audit
Конверсионный аудит формы регистрации
Карта трения по форме регистрации + 10 фиксов с ожидаемым импактом. Не «сделать красиво», а «убрать конкретное препятствие».
auditsignupconversion
Открыть
Средний30-60 мин