Модальное окно

Поделись знанием:
Перейти к: навигация, поиск

В графическом интерфейсе пользователя модальным называется окно, которое блокирует работу пользователя с родительским приложением до тех пор, пока пользователь это окно не закроет. Модальными преимущественно реализованы диалоговые окна. Также модальные окна часто используются для привлечения внимания пользователя к важному событию или критической ситуации[1].





Назначение

Как правило, модальные окна применяются, когда требуется:

  • Потребовать от пользователя ввод какой-либо информации — начиная от простого «да/нет» до большого количества настроек или данных, необходимых для продолжения работы с родительским окном или приложением;
  • Привлечь внимание пользователя к чему-либо важному. Этот вариант часто критикуется специалистами по эргономике, потому что редко это важно настолько, чтоб блокировать работу приложения целиком, но, тем не менее, продолжает использоваться по той причине, что он существенно более лёгок в реализации[2][3][4];
  • Указать пользователю на невозможность отмены выполняемого им действия и потребовать подтверждения этого действия. Этот вариант тоже критикуется, вместо него рекомендуется обеспечить-таки возможность отмены[5].

Критика

Модальное окно полностью блокирует весь рабочий процесс до тех пор, пока не будет закрыто. Пользователь может не понять, что окно требует его внимания, одновременно не понимая, почему главное окно программы не реагирует на его действия.

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

Специалисты по эргономике, напротив, считают, что в подавляющем большинстве ситуаций ограничение свободы действий пользователя и строгая последовательность этих действий приводит к существенному уменьшению удобства и расстраивает пользователей[6]. Использование модальных окон заставляет пользователя концентрировать своё внимание на каком-то одном аспекте задачи, тогда как на практике он может одновременно работать с большими объёмами информации, размещёнными в различных окнах приложения и постоянно переключаться между ними. В таких случаях использование модальных окон ведет к уменьшению эффективности работы.

Создание окна, модального относительно рабочего стола, могло нарушить доступность всей системы в целом. Например, такая функция была предусмотрена в Microsoft Windows 3.x, 95 и 98, однако была убрана из NT и последующих версий, и модальность окна относительно системы больше не блокировала доступ к ней[7].

Во всех ОС Microsoft Windows открытое модальное окно полностью блокирует взаимодействие с родительским окном, в том числе не позволяя изменить его размеры, переместить в другое место на экране или свернуть. В некоторых случаях из-за недоработок программного обеспечения, модальные окна при переключении задач могут оказаться позади родительского окна, из-за чего какое-либо взаимодействие с программой становится невозможным.

При большом количестве открытых приложений становится сложно определить родительское окно, особенно если в заголовке модального окна недостаточно информации для этого (например, открыто несколько одинаковых приложений). Для этого приходится делать попытки взаимодействия со всеми окнами, пока не найдётся заблокированное.

Модальные окна в OS X

В OS X для преодоления некоторых недостатков была разработана особая концепция модальных окон[8]. В отличие от обычных модальных окон, модальные окна OS X являются частью родительского окна. В OS X модальные окна появляются из-под заголовка родительского окна и привязаны к нему, что позволяет избежать путаницы с определением родительского окна. При этом модальное окно не мешает перемещать родительское окно, а также изменять его размеры.

См. также

Напишите отзыв о статье "Модальное окно"

Примечания

  1. Quince UX patterns explorer. [quince.infragistics.com/Patterns/Modal%20Panel.html Modal Panel] (англ.).
  2. Джоэл Спольски, User Interface Design for Programmers: [www.joelonsoftware.com/uibook/chapters/fog0000000062.html Designing for People Who Have Better Things To Do With Their Lives] ([russian.joelonsoftware.com/uibook/chapters/6.html перевод на русский])
  3. Реймонд Чен, The Old New Thing: [blogs.msdn.com/oldnewthing/archive/2003/09/01/54734.aspx The default answer to every dialog box is "Cancel"] ([www.transl-gunsmoker.ru/2008/11/blog-post_1842.html перевод на русский])
  4. Jeff Atwood, Coding Horror: [www.codinghorror.com/blog/archives/000114.html Teaching Users to Read]
  5. Аза Раскин, A List Apart: [www.alistapart.com/articles/neveruseawarning Never Use a Warning When you Mean Undo] ([p1uton.ru/2007/07/18/never-use-a-warning-when-you-mean-undo/ перевод на русский])
  6. Cooper Alan. About Face 2.0: The Essentials of Interaction Design. — Wiley. — ISBN 0764526413.
  7. [support.microsoft.com/kb/147817 How To Create a System-Modal Program/Window in Visual Basic] — Microsoft Support
  8. [developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/WindowDialogs.html#//apple_ref/doc/uid/20000957-CH43-SW1 Dialogs] — OS X Human Interface Guidelines

Отрывок, характеризующий Модальное окно

– Да, из Ольмюца, – отвечает он со вздохом.
От ужина Пьер повел свою даму за другими в гостиную. Гости стали разъезжаться и некоторые уезжали, не простившись с Элен. Как будто не желая отрывать ее от ее серьезного занятия, некоторые подходили на минуту и скорее отходили, запрещая ей провожать себя. Дипломат грустно молчал, выходя из гостиной. Ему представлялась вся тщета его дипломатической карьеры в сравнении с счастьем Пьера. Старый генерал сердито проворчал на свою жену, когда она спросила его о состоянии его ноги. «Эка, старая дура, – подумал он. – Вот Елена Васильевна так та и в 50 лет красавица будет».
– Кажется, что я могу вас поздравить, – прошептала Анна Павловна княгине и крепко поцеловала ее. – Ежели бы не мигрень, я бы осталась.
Княгиня ничего не отвечала; ее мучила зависть к счастью своей дочери.
Пьер во время проводов гостей долго оставался один с Элен в маленькой гостиной, где они сели. Он часто и прежде, в последние полтора месяца, оставался один с Элен, но никогда не говорил ей о любви. Теперь он чувствовал, что это было необходимо, но он никак не мог решиться на этот последний шаг. Ему было стыдно; ему казалось, что тут, подле Элен, он занимает чье то чужое место. Не для тебя это счастье, – говорил ему какой то внутренний голос. – Это счастье для тех, у кого нет того, что есть у тебя. Но надо было сказать что нибудь, и он заговорил. Он спросил у нее, довольна ли она нынешним вечером? Она, как и всегда, с простотой своей отвечала, что нынешние именины были для нее одними из самых приятных.
Кое кто из ближайших родных еще оставались. Они сидели в большой гостиной. Князь Василий ленивыми шагами подошел к Пьеру. Пьер встал и сказал, что уже поздно. Князь Василий строго вопросительно посмотрел на него, как будто то, что он сказал, было так странно, что нельзя было и расслышать. Но вслед за тем выражение строгости изменилось, и князь Василий дернул Пьера вниз за руку, посадил его и ласково улыбнулся.
– Ну, что, Леля? – обратился он тотчас же к дочери с тем небрежным тоном привычной нежности, который усвоивается родителями, с детства ласкающими своих детей, но который князем Василием был только угадан посредством подражания другим родителям.
И он опять обратился к Пьеру.
– Сергей Кузьмич, со всех сторон , – проговорил он, расстегивая верхнюю пуговицу жилета.
Пьер улыбнулся, но по его улыбке видно было, что он понимал, что не анекдот Сергея Кузьмича интересовал в это время князя Василия; и князь Василий понял, что Пьер понимал это. Князь Василий вдруг пробурлил что то и вышел. Пьеру показалось, что даже князь Василий был смущен. Вид смущенья этого старого светского человека тронул Пьера; он оглянулся на Элен – и она, казалось, была смущена и взглядом говорила: «что ж, вы сами виноваты».
«Надо неизбежно перешагнуть, но не могу, я не могу», думал Пьер, и заговорил опять о постороннем, о Сергее Кузьмиче, спрашивая, в чем состоял этот анекдот, так как он его не расслышал. Элен с улыбкой отвечала, что она тоже не знает.
Когда князь Василий вошел в гостиную, княгиня тихо говорила с пожилой дамой о Пьере.
– Конечно, c'est un parti tres brillant, mais le bonheur, ma chere… – Les Marieiages se font dans les cieux, [Конечно, это очень блестящая партия, но счастье, моя милая… – Браки совершаются на небесах,] – отвечала пожилая дама.
Князь Василий, как бы не слушая дам, прошел в дальний угол и сел на диван. Он закрыл глаза и как будто дремал. Голова его было упала, и он очнулся.
– Aline, – сказал он жене, – allez voir ce qu'ils font. [Алина, посмотри, что они делают.]
Княгиня подошла к двери, прошлась мимо нее с значительным, равнодушным видом и заглянула в гостиную. Пьер и Элен так же сидели и разговаривали.
– Всё то же, – отвечала она мужу.
Князь Василий нахмурился, сморщил рот на сторону, щеки его запрыгали с свойственным ему неприятным, грубым выражением; он, встряхнувшись, встал, закинул назад голову и решительными шагами, мимо дам, прошел в маленькую гостиную. Он скорыми шагами, радостно подошел к Пьеру. Лицо князя было так необыкновенно торжественно, что Пьер испуганно встал, увидав его.
– Слава Богу! – сказал он. – Жена мне всё сказала! – Он обнял одной рукой Пьера, другой – дочь. – Друг мой Леля! Я очень, очень рад. – Голос его задрожал. – Я любил твоего отца… и она будет тебе хорошая жена… Бог да благословит вас!…
Он обнял дочь, потом опять Пьера и поцеловал его дурно пахучим ртом. Слезы, действительно, омочили его щеки.
– Княгиня, иди же сюда, – прокричал он.
Княгиня вышла и заплакала тоже. Пожилая дама тоже утиралась платком. Пьера целовали, и он несколько раз целовал руку прекрасной Элен. Через несколько времени их опять оставили одних.
«Всё это так должно было быть и не могло быть иначе, – думал Пьер, – поэтому нечего спрашивать, хорошо ли это или дурно? Хорошо, потому что определенно, и нет прежнего мучительного сомнения». Пьер молча держал руку своей невесты и смотрел на ее поднимающуюся и опускающуюся прекрасную грудь.