В дизайне пользовательского интерфейса модальное окно — это графический элемент управления, подчиненный главному окну приложения .
Модальное окно создает режим , который отключает взаимодействие пользователя с главным окном, но сохраняет его видимым, при этом модальное окно является дочерним окном перед ним. Пользователи должны взаимодействовать с модальным окном, прежде чем они смогут вернуться в родительское окно. Это позволяет избежать прерывания рабочего процесса в главном окне. Модальные окна иногда называют тяжелыми окнами или модальными диалогами, потому что они часто отображают диалоговое окно .
Пользовательские интерфейсы обычно используют модальные окна для управления осведомленностью пользователя и отображения чрезвычайных ситуаций, хотя разработчики взаимодействия утверждают, что они неэффективны для этого использования. [1] Модальные окна подвержены ошибкам режима . [1] [2] [3]
В Интернете они часто показывают изображения в деталях, например, как это реализовано в библиотеке Lightbox , или используются для всплывающей рекламы . [4] [5]
Противоположность модальному — немодальное . Немодальные окна не блокируют главное окно, поэтому пользователь может переключать фокус между ними, рассматривая их как окна палитры .
Частое использование модальных окон включает в себя:
Многие функции, которые обычно представляются модальными окнами, реализованы в виде модальных переходных панелей, называемых «Листы» [9] в Mac OS X. Переходные окна ведут себя аналогично модальным окнам — они всегда находятся поверх родительского окна и не отображаются в списке окон, но они не отключают использование других окон в приложении. Листы выезжают из заголовка окна и обычно должны быть закрыты, прежде чем пользователь сможет продолжить работу в окне, но остальная часть приложения остается доступной для использования. Таким образом, они создают режим внутри окна, который их содержит, но являются немодальными по отношению к остальной части приложения.
Модальные окна распространены в наборах инструментов GUI для управления рабочим процессом пользователя. Алан Купер утверждает, что важность требования от пользователя уделять внимание важным вопросам оправдывает ограничение свободы пользователя и что альтернатива усилит разочарование пользователя. [10]
Неожиданные диалоговые окна оповещений являются особыми виновниками ошибок режима [1] с потенциально серьезными последствиями. Практики юзабилити предписывают, что опасные действия должны быть отменяемыми везде, где это возможно; окно оповещения, которое появляется неожиданно или закрывается по привычке, не защищает от опасного действия. [11] Немодальная информационная панель все чаще рассматривается как предпочтительнее диалогового окна, поскольку она не прерывает действия пользователя, а вместо этого позволяет пользователю читать дополнительную информацию в свое свободное время.
Один из предлагаемых подходов заключается в проектировании каждого элемента ввода как самодостаточного, ориентированного на задачу взаимодействия, руководствуясь собственными конкретными требованиями, а не глобальным состоянием всего приложения. Например, обязательные элементы могут предваряться звездочкой , элементы с недопустимыми данными могут приобретать красную рамку и т. д. При таком подходе пользователи фактически получают выгоду от того, что видят много элементов ввода одновременно — они могут вводить данные так, как им удобно, вместо того, чтобы все другие несвязанные элементы блокировались до тех пор, пока не будет завершена предопределенная последовательность ввода данных.
Модальное окно блокирует все другие рабочие процессы в программе верхнего уровня до тех пор, пока модальное окно не будет закрыто, в отличие от немодальных диалогов, которые позволяют пользователям работать с другими окнами. [12] Модальные окна предназначены для того, чтобы полностью захватить внимание пользователя. [13] Пользователи могут не осознавать, что модальное окно требует их внимания, что приводит к путанице относительно того, что главное окно не отвечает, или приводит к потере данных, введенных пользователем для главного окна (см. Ошибка режима ). В тяжелых случаях модальное окно появляется за другим окном, управляемым той же программой, что потенциально делает всю программу неотзывчивой, пока модальное окно не будет найдено вручную.
Однако многие дизайнеры интерфейсов в последнее время предприняли шаги, чтобы сделать модальные окна более заметными, затемняя фон за окном или позволяя любому щелчку мыши за пределами модального окна принудительно закрыть модальное окно — дизайн, называемый Lightbox [ 5] — таким образом, смягчая эти проблемы. Якоб Нильсен утверждает, что преимуществом модальных диалогов является то, что они повышают осведомленность пользователя: «Когда что-то действительно нужно исправить, лучше убедиться, что пользователь знает об этом». Для этой цели дизайн Lightbox обеспечивает сильный визуальный контраст диалога по сравнению с остальными визуальными элементами. Техника Lightbox теперь является распространенным инструментом в веб-дизайне.
Модальные окна обычно реализуются способами, которые блокируют возможность перемещения, минимизации, иконизации или отодвигания этого окна назад, и они захватывают фокус ввода, что часто препятствует использованию системных возможностей вырезания, копирования и вставки . Это может помешать использованию их родительских приложений, блокируя доступ к другим окнам и данным в том же приложении, особенно в случаях, когда модальное окно требует от пользователя ввода информации, доступной только в одном из окон, которые оно закрывает.
Для пользователей, использующих виртуальные рабочие области, размер которых больше размера их реальных экранов, модальные окна могут стать причиной дальнейшего нежелательного поведения, включая создание модального окна на той части виртуального экрана, которая в данный момент не отображается на дисплее, или резкое переключение отображения с того раздела, над которым работал пользователь, на совершенно другой раздел.
Модальные окна имеют тенденцию создавать резкое отвлечение текстового ввода, особенно печатного ввода, предназначенного для других программ, в себя. Кроме того, модальные окна обычно интерпретируют нажатие клавиши Enter (или в редких случаях наличие новой строки в вставленном вводе) как сигнал принять ввод и обработать его — или, в редких случаях, могут перехватить щелчок мыши, предназначенный для другого приложения, которое внезапно оказалось закрытым. Такой перехват, называемый перехватом фокуса (или кражей фокуса), может поставить под угрозу конфиденциальность и безопасность, а также захватить неподходящий, внеконтекстный ввод, который может привести к неопределенным, произвольным результатам в программе, сгенерировавшей модальное окно.
В зависимости от особенностей реализации модальные окна могут нарушать принцип наименьшего удивления .
Модальные диалоги являются частью потока задач, и даются рекомендации по их размещению там, где фокус находится в этом потоке. Например, окно может быть размещено рядом с графическим элементом управления , который вызывает его активацию. [14]
Использование полупрозрачного темного фона может скрыть информацию в главном окне, поэтому его лучше использовать только тогда, когда эта информация будет отвлекать. Полупрозрачный фон можно сделать менее навязчивым, если использовать всю область фона как кнопку закрытия: это стандартно для большинства мобильных операционных систем, не дает пользователю чувствовать себя в ловушке и делает модальные окна менее похожими на вредоносные всплывающие окна.
Дизайн должен соответствовать общепринятым практикам на платформе, на которой работает программа. Microsoft Windows использует стандартные элементы управления для модальных диалоговых окон с кнопками подтверждения действия в правом нижнем углу панели. Mac OS X использует модальные листы с кнопками подтверждения действия, являющимися самой правой командой. [15]
{{cite web}}
: |last=
имеет общее название ( помощь )