Диалоговое окно: различия между версиями

[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎Немодальные диалоговые окна: это "палитры", а не "диалоги", насколько я знаю.
переработка некоторая
Строка 1:
[[ImageФайл:Firefox_Options.png|thumb|right||Пример диалогового окна в [[Mozilla Firefox]].]]
'''Диало́говое окно''' ({{lang-en|dialog box}})  — в [[Графический интерфейс пользователя | графическом пользовательском интерфейсе]] специальный [[элемент интерфейса]], окно, предназначенное для вывода информации и (или) получения ответа от пользователя. Получил своё название потому, что осуществляет двустороннее взаимодействие компьютер-пользователь («[[диалог]]»): сообщая пользователю что-то и ожидая от него ответа.
 
Диалоговые окна подразделяются на модальные и немодальные, в зависимости от того, блокируют ли они возможность взаимодействия пользователя с приложением (или системой в целом) до тех пор, пока не получат от него ответ.
 
[[ImageФайл:MessageBox_example.png|frame|Пример окна сообщения.]]
Простейшим типом диалогового окна является окно сообщения ({{lang-en|message box}}, {{lang-en|alert box}}), которое выводит сообщение и требует от пользователя подтвердить, что сообщение прочитано. Для этого обычно необходимо нажать [[кнопка (компьютеры)| кнопку]] ''OK''. Окно сообщения предназначено для подтверждения системой выполнения команды, вывода сообщения об ошибке и тому подобных случаев, не требующих от пользователя какого-либо выбора.
 
Несмотря на то, что использование окна сообщения является часто применяемым [[шаблон проектирования | шаблоном проектирования]], оно критикуется экспертами по [[юзабилити]] как неэффективное решение для поставленной задачи (защита от ошибочных действий пользователя)<ref>{{cite book | last=Raskin | first=Jef | title=The Humane Interface | publisher=Addison Wesley | year=2000 | isbn= 0201379376 }}</ref>, вдобавок, при наличии лучших альтернатив<ref>{{cite book | last=Cooper | first=Alan | title=About Face 2.0: The Essentials of Interaction Design | publisher=Wiley | date=March 17, 2003 |isbn=0764526413 }}</ref>.
 
== Кнопки ==
 
В [[диалоговое окно|диалоговых окнах]] многих [[Программное обеспечение|программ]] присутствуют кнопки ''[[ОК]]'' и ''Отмена'' (Cancel), нажимая первую из которых [[пользователь]] выражает своё согласие с тем, что в этот момент отображает диалоговое окно, и тем самым закрывает его, приводя в действие сделанные в нём изменения, а вторая — закрывает окно без применения. Существуют варианты с единственной кнопкой ''ОК'' — в информирующих окнах, не подразумевающих каких-либо изменений, и с кнопками ''ОК'', ''Применить'' (Apply) и ''Закрыть'' (Close), в окнах, результаты изменений в которых пользователь, по мнению автора программы, может оценить не закрывая окна, и в случае неудовлетворительного результата продолжить внесение изменений.
 
Так же хорошим тоном считается обеспечить в диалоговых окнах справочную систему — обычно это реализуется либо в виде кнопки ''Справка'' (Help), открывающей страницу документации, описывающую работу в этом диалоговом окне, либо (в Windows) с помощью кнопки с знаком вопрос в заголовке окна, нажав на которую пользователь переключает мышь в режим одноразовой контекстной подсказки: нажатие мышью в этом режиме на элемент диалогового окна вызывает отображение описания этого элемента.
 
== Немодальные диалоговые окна ==
Строка 14 ⟶ 20 :
В общем случае, правила хорошего [[проектирование программного обеспечения | программного дизайна]] предлагают использовать именно этот тип диалоговых окон, так как он не принуждает пользователя к определённой (возможно, не очевидной для него) последовательности действий. Примером может быть диалоговое окно для изменения каких-либо свойств текущего документа, например, цвета фона или текста. Пользователь может вводить текст, не обращая внимания на его цвет. Но в любой момент может изменить цвет, использую диалоговое окно. (''Приведённый пример не обязательно является лучшим решением. Такую же функциональность может обеспечить и панель инструментов, расположенная в главном окне.'')
 
== Модальные на уровне приложения ==
{{main | Модальное окно}}
Модальным называется диалоговое окно, которое временно приостанавливаетблокирует работу родительскогопользователя приложенияс родительским приложением до тех пор, пока пользователь неэто введёт необходимую информацию иокно не закроет его. ПриложениюДиалоговые можетокна требоватьсяпреимущественно дополнительнаяреализованы информациямодальными. для продолжения работы или просто подтверждение от пользователя на продолжение потенциально опасной последовательности действий.
 
Например, в модальными являются диалоговые окна настроек приложения — так как проще реализовать режим, когда все сделанные изменения настроек применяются или отменяются одномоментно, и с момента, когда пользователь решил изменить настройки приложения и открыл диалог настроек, и до момента, когда он новые настройки вводит в силу или отказывается от них, приложение ожидает решения пользователя.
 
Отображение окон в модальном режиме практикуется и в других случаях, когда приложению для продолжения начатой работы требуется дополнительная информация, либо просто подтверждение от пользователя на согласие выполнить запрошенную последовательность действий, если она потенциально опасна.
 
Специалисты по [[юзабилити]] считают модальные диалоговые окна запросов подтверждений плохими дизайнерскими решениями, так как они могут приводить пользователя к, так называемым, «[[ошибки режима программы|ошибкам режима программы]]». Опасные действия должны иметь возможность отмены везде, где это возможно., К тому же,а модальные окна сообщенийзапросов подтверждений, пугающие пользователя своим неожиданным появлением, через некоторое время пропускаются им автоматически (так как он привык к ним) и, поэтому, не защищают от опасных действий<ref>Aza Raskin, A List Apart: [http://www.alistapart.com/articles/neveruseawarning Never Use a Warning When you Mean Undo] {{ref-en}}</ref>.
 
== Модальные на уровне окна ==
Для смягчения недостатков модальных диалоговых окон (блокирование доступа к приложению, или, даже, к системе в целом) была предложена концепция модальности на уровне окна (или документа). Такой тип диалогового окна введён, например, в [[Mac OS X]], где он называется «диалоговое модальное окно для документа» ({{lang-en|document modal sheet}}).
 
При появлении диалогового окна подобного типа, работа с остальными окнами приложения не блокируется. Поскольку окно диалога не перекрывает родительское окно, а прикрепляется к нему, остаётся возможность изменять размеры и положение и самого родительского окна. При этом, естественно, само содержимое родительского окна остаётся неизменнымнедоступным до получения данных от пользователя и закрытия модального диалогового окна.
 
== Примечания ==
{{reflist}}
 
== Ссылки ==
 
[[Категория:Элементы интерфейса]]