UX и UI-дизайн

Ошибки и восстановление в пользовательском интерфейсе

Практический разбор темы «ошибки и восстановление в пользовательском интерфейсе»: как помогать понять проблему, сохранить работу и безопасно продолжить и применить это в рабочем продукте.

Дизайн 8 мин
Схема по теме: ошибки и восстановление в пользовательском интерфейсе
Содержание статьи

Хорошее сообщение об ошибке отвечает на три вопроса: что произошло, что сохранилось и что делать дальше. Проектирование восстановления начинается до текста — с обратимости действия, сохранения данных и надёжного определения результата. основание Для темы «ошибки и восстановление в пользовательском интерфейсе» артефакт «сценарий ошибки и восстановления» связывает компонент «Тип ошибки» с этапом «Классифицировать сбои»; неподтверждённые рекомендации остаются редакционными гипотезами темы «ошибки и восстановление в пользовательском интерфейсе».

Задача и проверяемые основания

W3C требует текстово идентифицировать автоматически обнаруженную ошибку и указать проблемный элемент. основание

USWDS рекомендует контекстные подсказки, полезные сообщения и встроенную валидацию, помогающие исправить ввод. основание

USWDS рассматривает alert как способ сообщить об ошибке, предупреждении или успешном завершении действия. основание

W3C относит информацию об ошибке, ожидании и результате к статусным сообщениям, доступным вспомогательным технологиям. основание

В артефакте «сценарий ошибки и восстановления» вопрос «Известен ли фактический результат операции?» хранится отдельно от решения «Сохранить работу» и ограничения «часть ошибок требует операционного вмешательства».

Рабочая модель

Тип ошибки. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает неверный ввод, конфликт данных, отказ доступа, сетевой сбой или неизвестный результат. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Место» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Место. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает точка рядом с проблемным полем и общий обзор при нескольких ошибках. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Сохранность» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Сохранность. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает понимание того, какие введённые данные и изменения остались. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Исправление» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Исправление. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает конкретное действие, которое пользователь способен выполнить. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Повтор» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Повтор. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает безопасная повторная отправка с защитой от дублей. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Эскалация» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Эскалация. В теме «ошибки и восстановление в пользовательском интерфейсе» этот элемент означает идентификатор обращения, контекст и путь к поддержке. В артефакте «сценарий ошибки и восстановления» связь с компонентом «Тип ошибки» проверяют сценарием темы «ошибки и восстановление в пользовательском интерфейсе».

Порядок проектирования

1. Классифицировать сбои. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: развести ошибку ввода, запрещённое действие, временный отказ и неизвестный результат. Результат уточняет компонент «Тип ошибки», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

2. Сохранить работу. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: не очищать корректные поля и черновик из-за локальной проблемы. Результат уточняет компонент «Место», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

3. Показать место и причину. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: связать сообщение с элементом и использовать понятный текст. Результат уточняет компонент «Сохранность», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

4. Предложить восстановление. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: дать исправление, повтор, отмену или альтернативный путь. Результат уточняет компонент «Исправление», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

5. Защитить повтор. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: использовать идемпотентность или проверку текущего состояния. Результат уточняет компонент «Повтор», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

6. Проверить доступность. Команда применяет шаг к теме «ошибки и восстановление в пользовательском интерфейсе»: перемещать или объявлять фокус только когда это помогает. Результат уточняет компонент «Эскалация», а спорные варианты темы «ошибки и восстановление в пользовательском интерфейсе» остаются в артефакте «сценарий ошибки и восстановления».

Практический пример

Редакционный пример: форма регистрации очищала все поля после ответа сервера о занятом адресе. Команда сохранила введённые данные, связала текст ошибки с полем email и предложила войти или восстановить доступ. При сетевом сбое черновик оставался на устройстве, а повтор не создавал несколько аккаунтов. Общий alert использовался только для результата отправки, тогда как локальные ошибки располагались рядом с соответствующими полями.

Пример показывает, как «сценарий ошибки и восстановления» помогает раньше обнаружить ошибку «очищать форму после одной ошибки» и проверить критерий «ошибка описана текстом» для темы «ошибки и восстановление в пользовательском интерфейсе».

Контрольные вопросы

  • Известен ли фактический результат операции? Ответ фиксируют в артефакте «сценарий ошибки и восстановления» и связывают с компонентом «Тип ошибки»; мнение отмечают как допущение темы «ошибки и восстановление в пользовательском интерфейсе».
  • Какие данные уже сохранены? Ответ фиксируют в артефакте «сценарий ошибки и восстановления» и связывают с компонентом «Место»; мнение отмечают как допущение темы «ошибки и восстановление в пользовательском интерфейсе».
  • Может ли пользователь исправить причину? Ответ фиксируют в артефакте «сценарий ошибки и восстановления» и связывают с компонентом «Сохранность»; мнение отмечают как допущение темы «ошибки и восстановление в пользовательском интерфейсе».
  • Безопасен ли повтор после обновления страницы? Ответ фиксируют в артефакте «сценарий ошибки и восстановления» и связывают с компонентом «Исправление»; мнение отмечают как допущение темы «ошибки и восстановление в пользовательском интерфейсе».

Типовые ошибки

  • Очищать форму после одной ошибки. В артефакте «сценарий ошибки и восстановления» для темы «ошибки и восстановление в пользовательском интерфейсе» ошибка искажает компонент «Место»; рядом записывают последствие, обнаружение и исправление.
  • Показывать технический код без действия. В артефакте «сценарий ошибки и восстановления» для темы «ошибки и восстановление в пользовательском интерфейсе» ошибка искажает компонент «Сохранность»; рядом записывают последствие, обнаружение и исправление.
  • Помещать все ошибки только наверху. В артефакте «сценарий ошибки и восстановления» для темы «ошибки и восстановление в пользовательском интерфейсе» ошибка искажает компонент «Исправление»; рядом записывают последствие, обнаружение и исправление.
  • Предлагать повтор при неизвестном результате. В артефакте «сценарий ошибки и восстановления» для темы «ошибки и восстановление в пользовательском интерфейсе» ошибка искажает компонент «Повтор»; рядом записывают последствие, обнаружение и исправление.
  • Делать цвет единственным признаком. В артефакте «сценарий ошибки и восстановления» для темы «ошибки и восстановление в пользовательском интерфейсе» ошибка искажает компонент «Эскалация»; рядом записывают последствие, обнаружение и исправление.

Критерии качества

  • Ошибка описана текстом. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Классифицировать сбои»; рядом сохраняют результат и ответственного.
  • Проблемный элемент идентифицирован. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Сохранить работу»; рядом сохраняют результат и ответственного.
  • Корректные данные сохранены. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Показать место и причину»; рядом сохраняют результат и ответственного.
  • Восстановление реально доступно. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Предложить восстановление»; рядом сохраняют результат и ответственного.
  • Повтор не создаёт дубликаты. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Защитить повтор»; рядом сохраняют результат и ответственного.
  • Поддержка получает диагностический контекст. В артефакте «сценарий ошибки и восстановления» критерий темы «ошибки и восстановление в пользовательском интерфейсе» проверяют после шага «Проверить доступность»; рядом сохраняют результат и ответственного.

Ограничения применимости

  • Часть ошибок требует операционного вмешательства. Ограничение сужает вывод по теме «ошибки и восстановление в пользовательском интерфейсе» и требует повторно задать вопрос «Известен ли фактический результат операции?»; границу решения сохраняют в артефакте «сценарий ошибки и восстановления».
  • Неизвестный результат нельзя выдавать за отказ. Ограничение сужает вывод по теме «ошибки и восстановление в пользовательском интерфейсе» и требует повторно задать вопрос «Какие данные уже сохранены?»; границу решения сохраняют в артефакте «сценарий ошибки и восстановления».
  • Юридические тексты могут усложнять сообщение. Ограничение сужает вывод по теме «ошибки и восстановление в пользовательском интерфейсе» и требует повторно задать вопрос «Может ли пользователь исправить причину?»; границу решения сохраняют в артефакте «сценарий ошибки и восстановления».
  • Сохранение чувствительных данных ограничено. Ограничение сужает вывод по теме «ошибки и восстановление в пользовательском интерфейсе» и требует повторно задать вопрос «Безопасен ли повтор после обновления страницы?»; границу решения сохраняют в артефакте «сценарий ошибки и восстановления».
  • Серверная защита обязательна независимо от интерфейса. Ограничение сужает вывод по теме «ошибки и восстановление в пользовательском интерфейсе» и требует повторно задать вопрос «Известен ли фактический результат операции?»; границу решения сохраняют в артефакте «сценарий ошибки и восстановления».

Вывод

Для темы «ошибки и восстановление в пользовательском интерфейсе» команда связывает компонент «Тип ошибки» с этапом «Классифицировать сбои», проверяет критерий «ошибка описана текстом» и учитывает ограничение «часть ошибок требует операционного вмешательства». Артефакт «сценарий ошибки и восстановления» сохраняет основания выбора и позволяет пересмотреть решение после новых наблюдений.

Источники

  1. Understanding Success Criterion 3.3.1: Error Identification W3C Web Accessibility Initiative · проверено 12 июля 2026 г.
  2. Form U.S. Web Design System · проверено 12 июля 2026 г.
  3. Alert U.S. Web Design System · проверено 12 июля 2026 г.
  4. Understanding Success Criterion 4.1.3: Status Messages W3C Web Accessibility Initiative · проверено 12 июля 2026 г.