Диалоговое окно оповещения — это специальное диалоговое окно , которое отображается в графическом пользовательском интерфейсе , когда происходит что-то непредвиденное, требующее немедленных действий пользователя.
Типичный диалог оповещения предоставляет пользователю информацию в отдельном окне , после чего пользователь может отреагировать только одним способом: закрыть его. Закрытие диалога оповещения предоставит доступ к исходному окну, которое недоступно, пока отображается диалог оповещения.
Диалоги оповещения, которые блокируют приложение, рассматриваются специалистами по удобству использования как плохое решение дизайна , поскольку они склонны к возникновению ошибок режима . Также при использовании в качестве диалогов ошибок было показано, что они неэффективны в достижении своих целей по информированию пользователей о состоянии ошибки или защите от разрушительной операции.
Оповещения имеют несколько типичных применений: [1]
Предупреждения и вопросы обычно предлагают два противоположных варианта закрытия диалога («Разрешить/Отклонить», «ОК/Отмена», «Да/Нет») с неявным предположением, что один из них продолжит приостановленный процесс, который вызвал диалог, а другой прервет процесс без каких-либо действий. Хорошей практикой в дизайне интерфейсов , часто включаемой в руководства по пользовательскому интерфейсу , является маркировка каждого варианта точным эффектом, который он окажет на процесс (например, «Сохранить/Не сохранять» в диалоге, вызванном при редактировании документа с несохраненными изменениями).
Основной причиной использования диалога оповещения вместо общения через главное окно программы является модальность . Типичная онлайн-форма является немодальной. Они представляют пользователю множество действий, которые могут быть выполнены в любой последовательности. В отличие от этого диалог оповещения создает модальное состояние, которое изолирует определенный элемент формы и требует от пользователя обратиться к нему, прежде чем перейти к следующему шагу.
Полезность диалогового окна оповещения возрастает с распространением мобильных устройств, поскольку:
alert()
— это имя метода, используемого в JavaScript для создания диалогового окна оповещения. Аргументом метода является текст, который будет отображаться в окне.
Созданное таким образом диалоговое окно будет содержать предупреждающий символ в виде желтого треугольника (похожий на те, что встречаются на электрических устройствах), текст предупреждающего сообщения и одну кнопку с надписью «ОК», которая закроет окно.
Такой диалог также берет на себя управление пользовательским интерфейсом, не давая пользователю возможности выполнять какие-либо другие задачи в приложении, пока диалоговое окно не будет закрыто. [ необходима цитата ]
Модальные диалоговые окна оповещений склонны вызывать ошибки режима из-за их непредвиденной природы. Исследование, представленное в Proceedings of the Human Factors and Ergonomics Society, показало, что при появлении диалогового окна пользователя его основная цель обычно состоит в том, чтобы как можно скорее избавиться от него [2] даже без какого-либо анализа причин появления диалогового окна. Когда их об этом спрашивали, пользователи отклоняли любое диалоговое окно, считая его отвлекающим от поставленной задачи.
Это объясняется распространенной жалобой на формулировку сообщения в окне оповещения, которая часто непонятна пользователю. В приложениях без надлежащего дизайна, ориентированного на пользователя , разработчики определяют текст сообщения, включая термины и концепции, исходя из ментальной модели программиста, а не из пользовательского взгляда на мир. Поскольку диалог не работает для удовлетворения потребностей пользователя, распространенной реакцией будет отклонение оповещения без дальнейшего рассмотрения. [3]
Опасные действия должны отменяться везде, где это возможно; модальный диалог, который появляется неожиданно или который закрывается по привычке, не защитит от опасного действия. [4] Эту проблему можно избежать, предоставив возможность отмены действия вместо предупреждения [5] или отобразив предупреждение в информационной панели вместо диалога.
Другая признанная проблема заключается в том, что, будучи модальным окном , диалог блокирует весь рабочий процесс в программе, пока не будет закрыт. Пользователи могут не осознавать, что диалог требует их внимания, что приводит к путанице из-за того, что главное окно не отвечает, или приводит к потере введенных пользователем данных. Это часто происходит в формах ввода данных после предупреждения об ошибке, вызванного недопустимыми данными. Предпочтительный дизайн включает изменение визуального аспекта элемента ввода для отражения недопустимого ввода (например, применение красной границы) или добавление символа, например звездочки, рядом с элементом ввода, который необходимо исправить. [6]