Введение

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

Пример

alert — это название метода, используемого в JavaScript для вывода диалогового окна с сообщением. Аргументом метода является текст, который будет отображаться в этом окне. Диалоговое окно, созданное таким образом, содержит жёлтый треугольник с предупреждающим символом (подобный тем, что встречаются на электроприборах), текст предупреждения и единственную кнопку "ОК", нажатие на которую закрывает окно. Кроме того, такое окно блокирует пользовательский интерфейс, не позволяя пользователю выполнять какие-либо другие действия в приложении до его закрытия.

Критика

Модальные диалоговые окна склонны вызывать ошибки из-за своей нежелательности и навязчивости. Исследование, опубликованное в Proceedings of the Human Factors and Ergonomics Society, показало, что когда появляется диалоговое окно, основной целью пользователей обычно является как можно быстрее от него избавиться, даже без анализа причин его появления. Пользователи воспринимают любое диалоговое окно как отвлечение от текущей задачи. Это объясняется частыми жалобами на неясную и непонятную формулировку сообщений в таких окнах. В приложениях, разработанных без учета пользовательского опыта, текст сообщения определяет разработчик, используя термины и концепции, понятные программисту, а не пользователю. Поскольку диалоговое окно не помогает пользователю решить его задачу, типичная реакция – закрыть его без дальнейшего рассмотрения. По возможности, опасные действия должны быть отменяемыми; модальное окно, появляющееся неожиданно или закрываемое по привычке, не защитит от совершения опасного действия. Эту проблему можно решить, предоставив возможность отмены действия вместо предупреждения, или отображая предупреждение в информационной панели, а не в диалоговом окне. Другая проблема заключается в том, что модальное окно блокирует весь рабочий процесс в программе до тех пор, пока оно не будет закрыто. Пользователи могут не понимать, что диалоговое окно требует их внимания, что приводит к путанице и ощущению, что основное окно перестало отвечать, или к потере введенных данных. Это часто происходит в формах ввода данных после появления сообщения об ошибке, вызванной некорректными данными. Более предпочтительным решением является изменение визуального оформления элемента ввода, чтобы указать на ошибку (например, добавление красной рамки), или добавление символа, например звездочки, рядом с элементом, который необходимо исправить.