Разное

Модальное окно что это: Использование модальных окон в пользовательских интерфейсах / Хабр

28.06.2021

Содержание

Использование модальных окон в пользовательских интерфейсах / Хабр

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

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



Начнем это исследование со следующего смелого утверждения:

Существует два типа экранов:

  1. Модальные экраны
  2. Немодальные экраны

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

Что такое «модальный экран»?


Модальные экраны можно обнаружить в различных его формах и представлениях, например одним из ниже перечисленных в списке:
  • Полноэкранные модальные виды
  • Всплывающие окна
  • Поп-апы
  • Лайтбоксы

Как модальные экраны, так и немодальные экраны являются дочерними представлениями, то есть они подчинены одному главному окну приложения. Однако, существует одно важное отличие:
«Модальное окно создает режим, который отключает главное окно, но сохраняет его видимым с модальным окном в виде дочернего окна перед ним. Пользователи должны повзаимодействовать с модальным окном, прежде чем они смогут вернуться в родительское приложение» — Википедия
Большинство модальных окон, особенно в настольных приложениях, можно легко идентифицировать, поскольку они визуально перекрывают главное окно. Это верно для всплывающих окон, которые исчезают из основного окна в фоновом режиме, всплывающих меню и диалоговых окон, всплывающих лайтбоксов, оповещений и т.п.

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

немодальных окон:


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

Основное различие заключается в способе взаимодействия с каждым из окон. В то время как немодальный экран позволяет пользователям вернуться к родительскому экрану, модальный экран требует, чтобы пользователи завершили определённое действие, прежде чем вернуться в главное окно (такое как нажатие кнопки «Сохранить» в нашем примере) или отменить текущее действие, вызвавшее модальное окно.

Наиболее ярким визуальным индикатором для немодальных окон является навигация (панель вкладок в нашем примере). Немодальные экраны позволяют пользователям переходить назад и вперед на основном уровне навигации приложения.

Модальный же экран требует, чтобы пользователи закрывали окно, прежде чем они снова смогут использовать основную навигацию приложения (Кнопки «Сохранить» или «Отмена» в нашем примере).

Почему следует использовать модальность?


Модальные экраны решают простую проблему. И состоит она в следующем — пользователи легко отвлекаются, поэтому иногда приходится привлекать их полное внимание на какой-то определенный блок информации (источник). Модальный экран делает именно это — требует, чтобы люди сосредоточились на одной задаче, прежде чем продолжить работу в основном потоке приложения.
«Модальность создает фокусировку, не давая людям заниматься другими делами, прежде чем они не завершат задачу или не отклонят вызванное в модальном окне представление» — Apple

Когда следует использовать модальность?


Теперь, когда мы знаем, как выглядит модальный экран. Как же сравнить его с немодальным экраном и какова его цель? Прежде всего мы должны спросить себя: «В какой ситуации мы должны его использовать?»

Давайте представим, что мы создаем «гениальный и инновационный» стартап под названием «Purrrfect». Это база данных котят, которая позволяет пользователям загружать, просматривать и комментировать GIF-изображения милых котяток.

Упрощенный пользовательский поток нашего приложения может выглядеть следующим образом: пользователь открывает приложение и входит в одну из нескольких доступных вкладок (наша база данных о котятах), затем нажимает на одного из котят (входит в подробное представление одного котёнка) и затем нажимает на раздел комментариев (входит в раздел комментариев представления котёнка).


Пользовательский поток приложения «Purrrfect»

Кроме того, пользователь может выполнять дополнительные действия на каждом из этапов. Например, он может добавить другого котёнка в базу данных на экране списка котят.

Или он может редактировать данные на экране подробностей котенка.

А теперь надо понять, какой из этих экранов является модальным, а какой нет? Классификация в данном случае вызывает сложность, но вот моё личное эмпирическое правило:

Используйте модальные экраны для автономных процессов, а немодальные экраны для всего остального.
«Автономный процесс» — это конкретное действие, которое имеет четкую начальную и конечную точку в процессе.

В течение ограниченного периода времени этого действия он выводит пользователя из общего потока пользователя, позволяя ему сосредоточиться на действии и затем возвращает его в ту точку потока, откуда он начал это действие.

Google формулирует это правило следующим образом:

Используйте модальные экраны (диалоги) для отображения «критической информации, которая требует конкретной пользовательской задачи, её решения или подтверждения» — Google

В случае нашего приложения «Purrrfect» это означает, что основной поток пользователя (используемый для исследования приложения) не является модальным.

Однако специальные ограниченные по времени действия, такие как добавление котят, редактирование котят и написание комментариев, являются модальными.

Все модальные действия могут быть отменены либо успешно завершены, прежде чем пользователь вернется в основной поток. По этой причине модальные экраны используют кнопки «Отмена» и «Сохранить» (или другие подобные подтверждения действия) вместо кнопки «Назад». Если ваша кнопка «Назад» одновременно запускает действие сохранения на немодальном экране, вы можете рассмотреть возможность перехода на модальный экран, добавив кнопки «Отмена» и «Сохранить».

Однако верно и следующее утверждение: если два разных действия, таких как «Отмена» и «Сохранить», не имеют смысла на вашем модальном экране (потому что они вызовут одно и то же действие), вы можете переключиться на немодальное представление. В этом случае основная навигация (например, панель вкладок) также должна оставаться видимой на экране.

Давайте вернемся к нашему приложению. Возможный интерфейс для «Purrrfect» может выглядеть так:


Пользовательский интерфейс «Purrrfect»

В реальном мире различие между модальными и немодальными экранами зачастую менее очевидно. Например, полноэкранный вид изображения является модальным в большинстве приложений, хотя это не процесс или диалог. Модальный экран может также иметь смысл в других особых ситуациях, когда нужно генерировать фокус пользователя на определенном блоке информации. Если бы наш подробный экран котёнка (в центре) был конечной точкой без других действий, таких как редактирование или комментарии, мы могли бы использовать модальность (полноэкранный просмотр). Но так как он позволяет пользователям глубже переходить по информационной архитектуре и выполнять различные дополнительные действия (показывать комментарии, редактировать и т.п.), у него больше нет чёткой конечной точки, и поэтому он является частью основного потока. Следовательно, это немодальное представление.

Разработчик обязан оценить, является ли действие автономным или частью общего процесса потока приложения, и решить, делать экран модальным или нет.

В случае возникновения сомнений, вспоминайте эту цитату:

Минимизируйте использование модальности. Как правило, люди предпочитают взаимодействовать с приложениями нелинейными способами. Рассматривайте возможность создания модального контекста только в тех случаях, когда важно привлечь чье-либо внимание, когда задача должна быть завершена или прекращена, чтобы продолжить использование приложения или сохранить важные данные. — Apple

Конечно, интерфейс может прекрасно работать без строгого различия между модальным и немодальным представлениями. Тем не менее, концепция модальности глубоко заложена в интерфейсных экосистемах Apple, Google, Microsoft и других компаний, которые разработали соответствующие ожидания для своих постоянных пользователей.

Как следует использовать модальность?


К настоящему времени надеюсь что возникло общее понимание того, когда использовать модальность. Остается только один вопрос: «Как мы спроектируем модальность?». Вот быстрый чеклист для использования модальных экранов:
  • Всегда показывайте кнопку закрытия/скрытия модального окна (или «отмена», «отменить», «свернуть») в верхней панели навигации. Когда пользователь теряется, он может легко закрыть такое окно и вернуться на уровень приложения, откуда было вызвано модальное окно.
  • Кнопки отмены на iOS и Android чаще всего располагаются в верхней левой части панели навигации. Android предпочитает иконку закрытия «X», в то время как iOS предпочитает кнопку с надписью «Отмена». Тем не менее, кнопки иконок также довольно распространен и в iOS.
  • Кнопки подтверждения действия на модальном окне в iOS и Android по умолчанию расположены в верхней правой части панели навигации. Тем не менее, это размещение может быть недоступным для пользователя на устройствах с большой диагональю. Поэтому фиксированное плавающее размещение такого в нижней части экрана или в конце страницы может быть неплохим альтернативным решением.

Многоступенчатые модальные окна


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

При размещении основного действия («сохранить», «применить» или «продолжить») в нижней части экрана (как было рекомендовано ранее) в верхней правой области второго шага модального блока всегда освобождается место для дополнительной кнопки отмены. Хотя перемещение выглядит более логичным слева направо, это размещение все же лучше для модального окна, чем отсутствие возможности закрывать модальный экран на дочерних (предшествующих) экранах.

Заключение


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

Что это такое Модальное окно. Энциклопедия

                                     

2. Критика

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

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

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

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

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

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

Лучшие практики применения модальных окон | by Writes

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

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

Модальные окна можно использовать для:

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

Заметка: не используйте модальные окна для отображения сообщений об ошибке, успехе операции, или предупреждения.

Плохо реализованные оверлеи могут помешать выполнению задачи. Чтобы гарантировать, что ваше модальное окно ничему не помешает, включите в него следующие элементы:

Позвольте пользователям избавиться от окна, предоставив им способ его закрытия. Это можно реализовать следующими способами:

  • Кнопка отмены
  • Кнопка закрытия
  • Закрытие по нажатию клавиши «escape»
  • Закрытие по клику на пространстве вне модального окна

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

Совет: надпись на кнопке (запускающей модальное окно) и заголовок должны совпадать

Названия кнопок должны передавать действие и быть понятными. Это применимо не только к кнопкам модальных окон, но и ко всем остальным. В модальных окнах, кнопка «close» должна присутствовать в виде кнопки с надписью «close», или просто «х».

Совет: не путайте пользователя названиями. Если пользователь пытается отменить операцию, после чего выскакивает модальное окно, с кнопкой «cancel» — возникает путаница. «Я отменяю отмену той операции? Или это продолжение отмены?»

Модальное окно не должно быть слишком маленьким или слишком большим. Цель — сохранение контекста, а следовательно, модальное окно не должно закрывать собой весь экран. Контент должен подходить под модальное окно. Если есть необходимость в использовании прокрутки, то возможно, вместо модального окна лучше будет создать отдельную страницу.

  • Размещение — верхняя часть экрана, поскольку на экранах мобильных устройств, если разместить модальное окно ниже, то оно может потеряться
  • Размер — не более 50% экранного пространства

При открытии модального окна используйте эффект lightbox (затемнение фона). Это привлекает внимание к окну и говорит о том, что пользователь не может взаимодействовать с остальной страницей.

Совет: поместите фокус клавиатуры на модальное окно

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

Модальные окна и мобильные устройства, обычно, не дружат. Они усложняют просмотр контента, поскольку модальное окно либо слишком большое, либо слишком маленькое. Добавьте такие элементы, как клавиатура и скроллбары, и пользователю придется использовать увеличение, чтобы рассмотреть и воспользоваться полями модального окна. В случае с мобильными устройствами, существуют лучшие альтернативы.

При создании модальных окон не забудьте о доступе к ним с клавиатуры. Рассмотрите следующее:

Открытие модального окна — реализуйте возможность доступа к элементу, открывающему модальное окно, с клавиатуры

Перемещение фокуса в диалоговое окно –фокус клавиатуры должен быть помещен в модальное окно сразу после его открытия

Управление фокусом клавиатуры — как только фокус клавиатуры будет помещен в диалоговое окно, он должен оставаться там до его закрытия

Закрытие модального окна — реализуйте возможность закрытия оверлея с клавиатуры

Accessible Rich Internet Applications (ARIA) помогает создавать доступные приложения и веб контент.

Следующие ARIA тэги могут быть полезными для создания доступного модального окна:

Role = “dialog”, aria-hidden, aria-label

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

Если люди научились автоматически закрывать модальные окна, то зачем вообще их использовать?

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

  • Когда мы будет его показывать?
  • Как мы будем его показывать?
  • Как оно будет выглядеть?
  • Какую информацию оно будет передавать и собирать?

Перевод статьи Наемы Баскандери

Почему модальные диалоговые окна-зло? — CodeRoad



Это недавний вопрос о том, когда модальные диалоги действительно необходимы? . WHY являются ли модальные диалоговые окна злом? Это потому, что люди все равно их не читают? Потому что они часто реализуются так плохо? Что-то еще?

modal-dialog
Поделиться Источник thursdaysgeek     12 декабря 2008 в 00:09

11 ответов


  • Как создать диалоговые окна в Jira?

    Я написал сценарий groovy для проблем клонирования на этапе перехода в Jira. Скрипт отлично работает в фоновом режиме и создает необходимую клонированную проблему. Я хочу, чтобы на экране появилось диалоговое окно, подтверждающее имя клонированной проблемы, прежде чем фактически клонировать…

  • Как переместить диалоговые окна проекта MFC

    Я внес некоторые изменения в одну версию базового кода MFC, но теперь я хочу скопировать часть этих изменений, включая некоторые диалоговые окна, в другой проект. Диалоговые окна можно скопировать как есть в новый проект MFC. но я не смог найти ни одного файла, связанного с диалоговыми окнами на…



65

Около половины ответов до сих пор касаются недостатков диалогов подтверждения , а не модальных диалогов. Хотя подавляющее большинство диалогов подтверждения являются модальными, это не означает, что эти два термина являются синонимами.

Диалог mod al-это диалог, который переводит программу в определенный режим и не позволяет вам делать ничего, что не соответствует этому режиму, пока она открыта. В наиболее распространенной реализации это означает, что вы не можете получить доступ к любому другому windows.

Это зло.

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

  • Если диалог «add person» немодален, вы можете переключаться между старой записью и новой, копируя и вставляя свои данные.
  • Если диалог «add person» является модальным, вы ничего не можете сделать со старой записью, пока открыт диалог добавления. Вы можете выбрать что-то для копирования, прежде чем выбрать «add», но только одну вещь. Все остальное приходится перепечатывать вручную.

В редких случаях вы сталкиваетесь с чем-то, что действительно должно быть сделано в одном куске, не позволяя пользователю отклоняться от этой задачи, пока она не будет завершена. Модальные диалоги подходят для таких случаев. Но такие случаи очень редки! Что в основном и является точкой другого потока, на который ссылается этот вопрос.

Поделиться Dave Sherohman     12 декабря 2008 в 01:57



36

Люди их не читают, и это хорошо. Вы хотите, чтобы люди формировали привычки вокруг вашего UI, но наличие важного выбора во всплывающем окне просто заставит пользователя нажать OK.

Они прерывают пользователя, они мешают ему делать другие вещи.

Что делать, если вы хотите скопировать и вставить что-то из главного окна? Что делать, если вы хотите скопировать сообщение в модальном диалоговом окне? А что, если тебе все равно ?

Просто сравните диалог поиска IE с диалогом поиска Firefox

Сравните IE «Do you want us to remember this password for you?» с Firefox

Поделиться Pyrolistical     12 декабря 2008 в 00:13



23

Лучшие UIs являются модальными. Как и самые худшие.

Модальный UI — независимо от того, построен ли он из диалоговых окон, кнопок панели инструментов или текстовых подсказок-желателен только до тех пор, пока каждый режим соответствует ожиданиям пользователя, переходящего к нему. Когда программа неожиданно переходит в режим… или режим требует, чтобы пользователь обладал информацией, которой у него нет. .. тогда это вызовет у пользователя затруднения, либо заставив его вернуться к предыдущему режиму, либо угадать правильное действие с потенциально нежелательными результатами.

Немодальный UI — это полный набор инструментов. Некоторые из них имеют отношение к текущей работе, некоторые-нет. Пользователь должен обладать достаточными навыками как для выбора правильных инструментов, так и для их правильного применения. В то время как немодальный UI никогда не может быть таким же оптимальным, как хороший модальный UI (правильный инструмент для текущей задачи, уже находящейся в руках), он также никогда не может быть таким же неоптимальным, как плохой модальный UI (неправильный инструмент для текущей задачи, врезающийся в ваши неосторожные пальцы).

Разработка хорошего модального UI может быть дьявольски сложной задачей для нетривиальных приложений, особенно для программ общего назначения, предназначенных для использования широким кругом пользователей для еще более широкого круга целей. Системы меню и диалоговые окна пытаются преодолеть этот разрыв, позволяя использовать небольшие, специфичные для конкретных задач модальные разделы в более крупном, немодальном приложении. Однако ни один из них не масштабируется особенно хорошо, и неправильное использование и чрезмерное использование оставили их с плохой репутацией, часто рассматриваемой как первое убежище ленивого программиста. Диалоговые окна, в частности, часто используются скорее как средство навязывания пользователям идеи программиста (или дизайнера) о том, как должно использоваться приложение, или навязывания пользователю сложных проектных решений и сложной обработки ошибок, а не для их одноименной цели коммуникации.

Действительно, появление веб-приложений привело к появлению таких тенденций на многочисленных форумах, группах новостей и сайтах Q&A, таких как этот, поскольку программисты привыкли писать ультралинейную логику, которая запрашивает у пользователей ввод, когда это необходимо программе, а не когда доступно пользователю. .. они вынуждены работать в системе, где пользователи могут перемещаться нелинейно, и вполне могут рассматривать любую попытку ограничить эту свободу как причудливую досаду, которую нужно ниспровергнуть, а не как необходимое зло. Жалобные вопли этих бедных программистов эхом разносятся по Сети, когда их попытки навязать это грубое модальное поведение немодальной системе рушатся вокруг них. Для тех из нас, кто долго страдал под их жестоким «dialogs», это действительно прекрасная мелодия.

Поделиться Shog9     12 декабря 2008 в 00:58




18

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

Поделиться Mark Stock     12 декабря 2008 в 01:46



7

В приложении потребительского стиля они более или менее бесполезны; пользователи не читают их, учатся отмахиваться от них, а когда они их читают, обычно оказываются в замешательстве. Я думаю, что диалог Yes/No/Cancel-это совершенно ленивый дизайн UI. Диалог «buttons say what they do» немного лучше, потому что пользователю не нужно много читать.

Как говорится: В критически важных для данных приложениях intranet/»enterprise» они более или менее необходимы для подтверждения деструктивных действий или проверки работоспособности нестандартных рабочих процессов, которые могут быть разрешены, но не рекомендуются.

Поэтому я не думаю, что они концептуально являются «evil», но чаще всего это результат плохого дизайна UI.

Поделиться davetron5000     12 декабря 2008 в 00:13



5

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

Некоторые ответы, похоже, неправильно понимают, что это любое всплывающее окно, которое запрашивает, например, подтверждение пользователя. Это может быть достигнуто без привязки всего приложения или компьютера; именно такое поведение вызывает возражения людей.

В некоторых средах модальные диалоги ограничивают пользователя только в контексте одного приложения (или, может быть, меньше). Действительно плохие модальные диалоги мешают пользователю делать что-либо еще во всей операционной системе (скажем, Windows).

Поделиться dkretz     12 декабря 2008 в 00:13



4

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

Плюс еще тот факт, что они нарушают поток управления пользователями(например, крадут фокус у объекта, над которым вы работаете), что мне очень не нравится. Таким образом, в результате этого пользователь просто нажмет OK, чтобы вернуться к тому, что он делает, и проигнорирует информацию в диалоговом окне.

Имейте в виду, что в некоторых случаях они вам все еще нужны.

Поделиться Nathan W     12 декабря 2008 в 00:13



3

В статье Википедии есть хорошее суммирование жалоб.

Поделиться Alan Storm     12 декабря 2008 в 00:14



3

Я не помню, где я впервые увидел это, но лучший подход к модальному диалогу часто заключается в том, чтобы легко найти и использовать возможность «undo». Windows Explorer на самом деле делает и то, и другое, когда вы удаляете файл. Он запрашивает подтверждение (модальный диалог), а затем, сразу же после удаления файла, в меню редактирования появляется опция «Undo Delete». просто простой способ доступа к корзине, конечно,но в этом случае Microsoft действительно могла бы просто покончить с диалогом.

Дело в том, что вы часто можете обойтись без диалога, немного подумав и, возможно, немного дополнительного кода, но это слишком простой вариант для ленивого или, возможно, более щедро, ограниченного по времени разработчика.

Тем не менее, иногда вам действительно нужен диалог. Подумайте обо всех параметрах типичного диалогового окна печати. Какой принтер? Все страницы или только несколько? Сколько копий? Я не знаю, как бы вы это сделали без диалогового окна…

Поделиться JeffK     12 декабря 2008 в 00:54



3

Нобой читает их, и они прерывают поток программы. Часто при использовании в качестве уведомления об ошибках они являются предвестником сбоя программы. К тому времени, когда пользователь понимает, что происходит, сообщение исчезает, и ему остается вспомнить или придумать сообщение как можно лучше.

Поделиться user45568     12 декабря 2008 в 01:30



2

Лично я думаю, что это полностью зависит от того, как это делается.

Попробуйте скопировать 10 файлов, где каждый файл существует в целевом каталоге, сделайте это с помощью Windows Explorer.

Является ли один модальный диалог для каждого файла действительно правильным ответом в такой операции. Я знаю, что у вас есть «да всем», но вся система петель должна была быть построена по-другому. Он должен был собрать все существующие файлы в один большой список и один раз спросить: «Что вы хотите сделать с этими файлами», а затем позволить мне решить для каждого файла в списке, Что делать, прежде чем нажать кнопку OK и возобновить операцию.

И очень часто диалоговые окна просто прерывают нормальный рабочий процесс.

И да, люди не читают диалоговые окна. Поэтому золотой совет, если вы должны использовать диалоговое окно, — это перефразировать его.

Вместо «Вы хотите удалить эту строку в базе данных?» попробуйте сформулировать ее так, чтобы вы спрашивали (но это неправильно сформулировано) «Do you want to not delete this row in the database?» таким образом, если они просто нажмут «Да», что является типичным ответом пользователя, который просто хочет продолжить работу, они в конечном итоге ничего не сделают.

Поделиться Lasse V. Karlsen     12 декабря 2008 в 00:14


Похожие вопросы:


jQuery Mobile диалоговые окна оповещения/подтверждения

Есть хороший Сенча-как мобильное решение jQuery для уведомления и диалоговые окна подтверждения?


MVP: диалоговые окна, возвращающие значение и тестируемый код

В моем приложении на основе шаблона MVP (пассивное представление) (. NET) я разделил окна сообщений на представление, чтобы при тестировании моего докладчика и модели мой тестовый код не был затронут…


Как подавить все диалоговые окна исключений .NET?

По моему опыту, unhandled exception в приложении .NET может вызвать отображение диалогового окна, описывающего исключение и т. д. Есть ли способ полностью подавить такие диалоговые окна? Можно ли…


Как создать диалоговые окна в Jira?

Я написал сценарий groovy для проблем клонирования на этапе перехода в Jira. Скрипт отлично работает в фоновом режиме и создает необходимую клонированную проблему. Я хочу, чтобы на экране появилось…


Как переместить диалоговые окна проекта MFC

Я внес некоторые изменения в одну версию базового кода MFC, но теперь я хочу скопировать часть этих изменений, включая некоторые диалоговые окна, в другой проект. Диалоговые окна можно скопировать…


Доступны ли диалоговые окна браузера?

Считаются ли диалоговые окна браузера доступными по стандартам WCAG A/AA? Диалоговые окна, на которые я ссылаюсь, являются родными для браузера, например, следующие в Chrome:


Почему модальные диалоги в Prism 6 не поддерживают сильный модальный режим и ведут себя как немодальные?

Иногда модальные диалоги в Prism 6 для WPF ведут себя как немодальные. Например, если модальный диалог находится над его родительским окном, и я нажимаю на поверхность родителя (рядом с границей…


MFC вложенные диалоговые окна выше 1 уровня

Я пытаюсь вложить диалоговые окна, и это легко работает с одним уровнем вложенности, но второй уровень breaks-самый внутренний диалог не получает событий. [IDD_NESTEDDLG_DIALOG] | +— [IDD_CHILD1]…


c# WinForms-передать стиль главного окна в диалоговые окна

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


Как закрыть модальные диалоги ALL в Flutter?

Как закрыть все модальные диалоги? У меня есть приложение, которое использует много модальных диалогов (нижние листы, которые являются модальными). Многие могут быть открыты одновременно. Команда:…

Вы не знаете как должны работать модальные окна

Уверен, многие хоть раз создавали всплывающее модальное окно. Но задумывались ли вы об определении этого компонента? Как он должен работать?

В этом материале я постарался собрать максимально полный свод правил, рекомендаций и примеров реализации по которым модальные окна должны работать.

Я покажу, как просто создавать сложные, удобные, производительные и доступные модальные окна независимо от браузера, платформы, устройства или способа взаимодействия пользователя.

Этот список сформирован на основе спецификаций WAI-ARIA, HTML Living Standard и моего личного опыта. И хотя я буду говорить про веб, большинство правил и рекомендаций применимы для модальных окон где угодно.


Определение модального окна

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


Теги и атрибуты

Интерактивным элементом для открытия диалогового окна должна выступать кнопка. Не <div>, не <span> не <a>, не любой другой тег. Исключительно <button>. И касается не только диалоговых окон, <button> — самый надежный и доступный способ создавать интерактивные элементы на странице.

Простейшая реализация кнопки открывающая диалог по его id:

<button data-modal="dialogId">
    Открыть
</button>

<dialog>

Для различных диалогов, уведомлений и прочих перекрывающих документ элементов существует тег <dialog>. Его вы и должны использовать. К огромному сожалению, его поддержка не самая лучшая:


  • Chromium — полная поддержка.
  • Firefox — поддержка за флагом.
  • Safari не поддерживает вовсе.

Так что для этих браузеров нужно подгружать polyfill:

if (!document.createElement('dialog').showModal) {
  // Браузер нативно не поддерживает элемент dialog

  import('/dist/dialog-polyfill.js') // Подгружаем polyfill
    .then(dialogPolyfill =>
      document. querySelectorAll('dialog')
        .forEach(dialogPolyfill.registerDialog) // Применяем его для всех элементов на странице
    )
}

Вы, конечно, можете использовать и другой элемент для реализации диалогового окна, например так:

<section role="dialog" aria-modal="true">
...
</section>

но тогда вам придётся самостоятельно реализовывать всё поведение описанное далее. В то время как с <dialog> большую часть браузер реализует из коробки.


Внешний вид и содержание

Вскользь коснусь внешнего вида.

На небольших экранах диалоговое окно должно занимать 100% его размера. Если ваш диалог будет большим:


  1. Его будет легче «нащупать». Дело в том, что пользователь может взаимодействовать со страницей следующим образом: он водит пальцем по дисплею, а программа чтения с экрана озвучивает то, что в данный момент находится под пальцем.
  2. Пользователю гарантированно не будут озвучиваться элементы «под ним». Иначе, например, VoiceOver на iPad может озвучивать отдельные фрагменты страницы под модальным окном даже «сквозь» оверлей блокирующий доступ указателю.
  3. Вы скроете прокрутку фона на некоторых устройствах при прокрутке контента в диалоговом окне.
  4. Удобнее для одной руки. Если окно растянуто на всю высоту – то у вас есть возможность прижать кнопки управления к нижней части дисплея. Туда намного проще дотянуться одной рукой пользователям современных смартфонов.
  5. Больше места для контента на устройствах с маленьким экраном, таких как iPhone SE.

Заголовок обязателен

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

Настоятельно рекомендуется использовать для заголовка тег <h2>-<h6>.

Но просто добавить заголовок в диалоговое окно недостаточно. Их нужно ещё и логически «связать». Сделать это можно с помощью атрибута aria-labelledby следующим образом:

<dialog aria-labeledby="subscribe-header">
  <h3>Предложение подписки</h3>
</dialog>

Теперь, при попадании пользователя в диалоговое окно, в случае с экранным диктором, будет зачитан не только факт наличия диалога, но и его заголовок.


Статический контент должен быть связан с окном

Если в вашем диалоговом окне есть какое-то не интерактивное содержание, например, абзац текста, его стоит связать с диалогом подобно заголовку. Иначе, в некоторых случаях программы чтения с экрана не будут озвучивать такой контент.

Делается это атрибутом aria-describedby:

<dialog aria-labeledby="subscribe-header" aria-describedby="subscribe-content">
    <h3>Предложение подписки</h3>
    <p>
        Вы можете подписаться на нашу еженедельную рассылку.
        В ней представлены только лучшие публикации. 
    </p>
</dialog>

Если в вашем диалоговом окне много контента, тогда стоит обернуть его в один <div> и связать элемент диалога уже с ним:

<dialog aria-labeledby="subscribe-header" aria-describedby="subscribe-content">
    <h3>Условия подписки</h3>

    <div>
        <p>Ниже представлены условия нашей подписки.</p>
        <p>...</p>
        <ul>...</ul>
        <p>...</p>
        ...Много контента
    </div>
</dialog>

Важно! Заголовок и любые кнопки не относящиеся к содержимому, а служащие для управления диалоговым окном, не должны быть включены в элемент на который указывает aria-describedby. Они должны быть вынесены отдельно:

<dialog aria-labeledby="subscribe-header" aria-describedby="subscribe-content">
    <h3>Условия подписки</h3>

    <div>
        <p>Ниже представлены условия нашей подписки. </p>
        <p>...</p>
        <ul>...</ul>
        <p>...</p>
        ...Много контента
    </div>

    <div>
        <button>Принять</button>
        <button>Отказаться и закрыть</button>
    </div>
</dialog>

Интерактивные элементы связывать не нужно

Есть другой сценарий, когда содержимое вашего окна состоит из формы без предшествующего ей текста. В таком случае нет необходимости связывать форму с окном:

<dialog aria-labeledby="subscribe-header">
    <h3>Данные для подписки</h3>

    <form>
        <label>
            Введите ваш email
            <input type="email">
        </label>
    </form>

    <div>
        <button>Подписаться</button>
        <button>Отказаться и закрыть</button>
    </div>
</dialog>

Элементы формы являются интерактивными. И они будут озвучены скринридером, когда пользователь начнёт с ними взаимодействовать.

Если скомбинировать и статический текст и форму:

<dialog aria-labeledby="subscribe-header" aria-describedby="subscribe-content">
    <h3>Подпишитесь на рассылку</h3>

    <p>
        Вы можете подписаться на нашу еженедельную рассылку.
    </p>

    <form>
        <label>
            Введите ваш email
            <input type="email">
        </label>
    </form>

    <div>
        <button>Подписаться</button>
        <button>Отказаться и закрыть</button>
    </div>
</dialog>

Способы закрыть окно

Внутри диалогового окна обязана быть кнопка чтобы его закрыть. Не <div>, не <span> не <a>, не любой другой тег. Исключительно <button>. Это самый надежный способ гарантировать, что любой пользователь сможет закрыть диалоговое окно. Вы же не любите модальные окна которые невозможно закрыть?

Дополнительно, в зависимости от вашей логики, вы можете позволить пользователю закрыть диалог кликнув за его пределами или нажав Escape (встроено в <dialog> из коробки).

Но:


  1. Не рассчитывайте, что пользовать всегда может нажать на оверлей и так закрыть диалог.
    1. Как я писал ранее, во многих случаях диалоговое окно может занимать всю или большую часть экрана. Таким образом попасть в него может быть сложно или невозможно.
    2. Такой оверлей семантически не считается интерактивным элементом. Он не может быть в фокусе и на него невозможно «нажать» клавишами.
  2. Не рассчитывайте, что у пользователя под рукой есть клавиатура, чтобы нажать Escape.
  3. Существует множество устройств, программ и различных инструментов, способных читать веб-сайты и давать пользователю взаимодействовать с ними, но не так как в браузере. Во многих случаях единственным рабочим вариантом остаётся кнопка внутри.

Простейшая реализация кнопки закрывающей родительский диалог:

<button>
Закрыть
</button>

А если вы делаете кнопку с иконкой, то не забывайте про подпись, чтобы передать ёё назначение:

<button aria-label="Закрыть">
 ×
</button>

Поведение фокуса


При открытии диалога

Во время открытия диалогового окна фокус должен быть перемещён на элемент внутри него. На какой именно — зависит от содержания.

В общем случае фокус перемещается на первый интерактивный элемент. Именно так ведет себя нативный <dialog> в браузере. Но нельзя делать сам элемент окна фокусируемым и перемещать фокус на него.

Например, для диалога с формой первый интерактивный элемент это первый <input>. Если ваше диалоговое окно носит чисто информативный характер, например, уведомление об успешной подписке, тогда первым и единственным элементом будет кнопка закрывающая диалог.

Но есть и несколько исключений:


  1. Запрос подтверждения чего-либо. Если ваш диалог запрашивает у пользователя подтверждения перед выполнением каких-то необратимых действий (удаление чего-то или выполнение финансовых операций), тогда фокус автоматически должен ставится на кнопку «отмены» этих действий, независимо от её расположения.
  2. Ситуации, когда в диалоговом окне много статического контента и первый интерактивный элемент не помещается в видимую область. Проблема тут в том, что в таком случае браузер автоматически проскролит вниз к кнопке в фокусе. Это вынудит пользователя скролить обратно вверх, а потом снова вниз. Для таких случаев есть два подхода:
    1. Переместить или продублировать интерактивные элементы так, чтобы первый из них был в видимой части экрана. Например, выполнить кнопку закрыть в виде крестика и закрепить в верхней части диалогового окна.
    2. Заголовок или первый абзац текста нужно сделать фокусируемым при помощи tabindex="-1" и перемещать фокус на него. Но при этом подходе некоторые программы чтения с экрана могут озвучивать заданный текст дважды: сначала как заголовок и описание окна, а потом как содержание выделенного элемента.

Управлять куда именно попадёт фокус при открытии модального окна можно с помощью атрибута autofocus:

<dialog aria-labeledby="subscribe-header">
    <h3>Необратимые действия</h3>

    <form>
        <label>
            Введите пароль для подтверждения
            <input type="password">
        </label>
    </form>

    <div>
        <button>Подтверждаю</button>
        <button autofocus>Отказаться и закрыть</button> <!-- Будет выбрана эта кнопка -->
    </div>
</dialog>

Внутри диалога

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

Чтобы блокировать указатель обычно документ накрывается полупрозрачным блоком.

Но этого недостаточно, так как остаётся ещё и навигация клавишами Tab / Shift + Tab. Также это могут быть клавиши громкости на смартфонах или специальные клавиши на дополнительных инструментах подключенных по USB/Bluetooth. Этот способ навигации тоже должен быть заблокирован.

После попадания фокуса в модальное окно пользователь может перебирать интерактивные элементы внутри этого окна, но не должен выходить за его пределы. Другими словами, такое диалоговое окно работает как ловушка для фокуса. Это поведение встроено в <dialog>, так что от вас никаких действий не требуется. А вот используя другой элемент с role="dialog" его нужно реализовывать самостоятельно средствами JavaScript.


При закрытии диалога

При закрытии диалогового окна фокус должен быть перемещён туда, где он был в момент открытия. Это поведение не является частью <dialog> и браузер полностью оставляет это на усмотрение разработчика.

Но и тут есть одно исключение: если элемент более не доступен, тогда фокус нужно вернуть туда, откуда наиболее логично для пользователя продолжить работу.


Пример

Предлагаю разобрать на примере. Представим систему из трех диалоговых окон:


  1. Сообщает пользователю об наличии подписки. В нем две кнопки: «Условия подписки» и «Подписаться»
  2. Отображается по клику на «Условия подписки». Открывается поверх первого.
  3. Отображается по клику на «Подписаться». Заменяет собой первое.

В примерах ниже я специально пропустил дополнительные атрибуты и элементы, для упрощения кода.

Итак, у нас есть стартовая кнопка.

<button>Рассылка</button> <!-- in focus -->

По нажатию на неё открывается первый диалог. Фокус автоматически перемещается на первый интерактивный элемент. А закрытие диалога должно возвращать фокус назад.

┌►<button>Рассылка</button>
│
└─  <dialog open>
        <button>Подписаться</button> <!-- in focus -->
        <button>Условия подписки</button>
    </dialog>

Далее пользователь перемещает фокус на «Условия подписки» и нажимает. Открывается второй диалог поверх первого. Фокус перемещается в него, а возвращаться должен на эту же кнопку в первом диалоге:

┌►<button>Рассылка</button>
│
└─  <dialog open>
        <h3>Рассылка</h3>

        <button>Подписаться</button>
┌────►  <button>Условия подписки</button>
│   </dialog>
│
└─  <dialog open>
        <h3>Условия подписки</h3>

        <button>Ок</button> <!-- in focus -->
    </dialog>

После закрытия второго диалога ваш JavaScript должен вернуть фокус на кнопку «Условия подписки» в первом.

┌►<button>Рассылка</button>
│
└─  <dialog open>
        <button>Подписаться</button> 
        <button>Условия подписки</button> <!-- in focus -->
    </dialog>

После чего пользователь нажимает кнопку «Подписаться». По условиям нашей задачи открывается третий диалог. Фокус автоматически перемещается в него. А первый диалог закрывается:

┌►<button>Рассылка</button>
│
└─  <dialog>
        <h3>Рассылка</h3>

┌────×  <button>Подписаться</button>
│       <button>Условия подписки</button>
│   </dialog>
│
│   <dialog>
│       <h3>Условия подписки</h3>
│
│       <button>Ок</button>
│   </dialog>
│
└─  <dialog open>
        <h3>Введите email</h3>

        <button>Подтвердить</button> <!-- in focus -->
    </dialog>

И вот проблема: третье окно должно вернуть фокус на кнопку в первом, но первое окно больше не доступно. В таких случаях фокус нужно вернуть туда, куда указывал закрытый диалог — на кнопку «Рассылка» с которой пользовать начал.

┌►<button>Рассылка</button>
│
│   <dialog>
│       <h3>Рассылка</h3>
│
│       <button>Подписаться</button>
│       <button>Условия подписки</button>
│   </dialog>
│
│   <dialog>
│       <h3>Условия подписки</h3>
│
│       <button>Ок</button>
│   </dialog>
│
└─  <dialog open>
        <h3>Введите email</h3>

        <button>Подтвердить</button> <!-- in focus -->
    </dialog>

Безусловно, в вашем конкретном случае может быть более логичное поведение для возвращения фокуса. Например, у вас диалог создания новой записи в таблице. В таком случае, может быть логичнее возвращать фокус на только что созданную запить.

Помните, как во время установки программы в Windows можно просто нажимать Enter? Так вот это пример хорошей работы с фокусом: каждый раз, при переходе на новый экран в фокус ставится элемент, с которым вы скорее всего будете взаимодействовать — кнопка «Далее» или «Обзор».


Подводя итог


  1. Используйте семантические теги <button> и <dialog>.
  2. Делайте ваши окна достаточно большими.
  3. В модальных окнах должен быть заголовок.
  4. Заголовок и содержимое должны быть соответствующим образом связаны с элементом модального окна.
  5. Убедитесь что в диалоге есть кнопка для закрытия окна.
  6. Перемещайте фокус внутрь при открытии, не выпускайте его из модального окна и возвращайте туда, где он был после закрытия.

Дополнительные ссылки


  • Modal Dialog Design Pattern in WAI-ARIA Authoring Practices 1.2
  • HTML Living Standard
  • Polyfill for the HTML dialog element
  • Filament group Modal

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

Данный виджет позволяет открывать модальное окно при выполнении определенного действия, например, при нажатии на кнопку.

Чтобы настроить виджет, перетащите его с правой панели конструктора интерфейсов на поле для моделирования или нажмите кнопку +Виджет. В открывшемся окне выполните настройку.

Вкладка «Основные»

  • Заголовок — это поле для ввода отображаемого наименования окна. Настройку заголовка можно осуществить двумя способами: ввести его вручную или нажать на кнопку ссылки справа и указать контекстную переменную виджета или приложения типа Строка. Значение контекстной переменной будет задавать заголовок меню;
  • Показывать боковую панель — позволяет настроить необходимость отображения боковой панели модального окна. Настройку опции можно осуществить двумя способами: установить флажок или нажать на кнопку ссылки справа и указать заранее созданную контекстную переменную виджета или приложения типа Выбор «да/нет». Значение контекстной переменной будет отвечать за отображение боковой панели;
  • Размер* — позволяет настроить размер отображения модального окна;
  • Показать окно — позволяет выбрать, будет ли окно скрыто по умолчанию или будет демонстрироваться при определенном действии. Вы можете настроить эту опцию двумя способами: установить флажок или нажать на кнопку ссылки справа и указать контекстную переменную виджета или приложения типа Выбор «да/нет», которая будет отвечать за демонстрацию окна;

Вкладка «События»

  • Событие при закрытии окна — функция, которая позволяет вам добавить событие, которое будет происходить при закрытии модального окна.

Подробнее о контекстных переменных читайте в статье Типы контекста.

Вкладка «Системные»

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

Для завершения настройки виджета нажмите на кнопку Сохранить, а затем Опубликовать.

Пример

На данном примере виджет Модальное окно добавлен для быстрого доступа к загрузке файла договора при наведении курсора на соответствующее поле.

Модальное окно · Bootstrap на русском

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

Содержание

autofocus атрибут HTML не имеет никакого эффекта в Bootstrap модальные глаголы. для достижения такого же эффекта, использовать некоторые пользовательские JavaScript:

$('#myModal').on('shown.bs.modal', function () {
  $('#myInput').focus()
})
Открытие нескольких модальных окон не поддерживается

Не открывайте новое модальное окно пока другое всё ещё открыто. Отображение более одного модального окна требует написание дополнительного пользовательского кода.

Размещение разметки модального окна

Всегда старайтесь поместить разметку модального окна в верхнем уровне HTML-документа, чтобы избежать влияния других элементов на внешний вид модального окна и/или его функциональность.

Пример статического

Обработанную модальное окно Заголовок, тело, и набор действий в футере.

<div>
  <div role="document">
    <div>
      <div>
        <button type="button" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h5>Modal title</h5>
      </div>
      <div>
        <p>One fine body&hellip;</p>
      </div>
      <div>
        <button type="button" data-dismiss="modal">Close</button>
        <button type="button">Save changes</button>
      </div>
    </div><!-- /.модальное окно-Содержание -->
  </div><!-- /.модальное окно-диалог -->
</div><!-- /.модальное окно -->

Демо

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

Текст в модальном окне

Моллис УДО, есть номера commodo предполагаемое luctus, ниси erat porttitor лигулы.

Информеры в модальном окне

Эта кнопка должна вызвать диалоговое окно по клику.

Подсказки в модальном окне

Эта ссылка и эта ссылка должна иметь подсказку при наведении.


Переполняя текст для отображения прокрутки;

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Кра маттис миннеаполис пурус сидеть амет любого fermentum.. Одио хусто Кра, dapibus AC и это в, egestas егет квам. Морби Лео рисус, порта переменного тока миннеаполис переменного тока, преддверия на Эрос.

Praesent commodo курсус «магна», ООО «нисл» scelerisque миннеаполис эт. Vivamus sagittis lacus Вэл augue laoreet взгляд долор auctor faucibus.

Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.

Launch demo modal

<!-- Кнопка запуска модального окна -->
<button type="button" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Модальное окно -->
<div tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div role="document">
    <div>
      <div>
        <button type="button" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h5>Modal title</h5>
      </div>
      <div>
        ...
      </div>
      <div>
        <button type="button" data-dismiss="modal">Close</button>
        <button type="button">Save changes</button>
      </div>
    </div>
  </div>
</div>
Сделать модальности можно

Не забудьте добавить role="dialog" и aria-labelledby="...", ссылаясь на модальное окно Заголовок, чтобы .modal, и role="document" к .modal-dialog сам.

Кроме того, вы можете дать описание вашего модальное окно диалог с aria-describedby на .modal.

Опционные размеры

Модальные окна Имеют два дополнительных размера, доступные через классы модификатор, который будет размещен на .modal-dialog. Эти размеры ударом в некоторые точки останова, чтобы избежать горизонтальной полосы прокрутки на узких окнах.

Large modal Small modal

<!-- Большие модальное окно -->
<button data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>

<div tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  <div>
    <div>
      ...
    </div>
  </div>
</div>

<!-- Небольшой модальное окно -->
<button type="button" data-toggle="modal" data-target=".bd-example-modal-sm">Small modal</button>

<div tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div>
    <div>
      ...
    </div>
  </div>
</div>

Удалить анимацию

Для модальности, которые просто появляются, а не исчезают, просмотреть, удалить .fade класс от модальное окно разметки.

<div tabindex="-1" role="dialog" aria-labelledby="..." aria-hidden="true">
  ...
</div>

С помощью блочной системы

Чтобы воспользоваться преимуществами Bootstrap блочная система в модальное окно, просто гнездо .container-fluid В .modal-body, а затем использовать обычные блочная система классов внутри этого контейнера.

.col-md-4

.col-md-4 .col-md-offset-4

.col-md-3 .col-md-offset-3

.col-md-2 .col-md-offset-4

.col-md-6 .col-md-offset-3

Level 1: .col-sm-9

Level 2: .col-xs-8 .col-sm-6

Level 2: .col-xs-4 .col-sm-6

Launch demo modal

<div tabindex="-1" role="dialog" aria-labelledby="gridModalLabel" aria-hidden="true">
  <div role="document">
    <div>
      <div>
        <button type="button" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h5>Modal title</h5>
      </div>
      <div>
        <div>
          <div>
            <div>.col-md-4</div>
            <div>.col-md-4 .col-md-offset-4</div>
          </div>
          <div>
            <div>.col-md-3 .col-md-offset-3</div>
            <div>.col-md-2 .col-md-offset-4</div>
          </div>
          <div>
            <div>.col-md-6 .col-md-offset-3</div>
          </div>
          <div>
            <div>
              Level 1: .col-sm-9
              <div>
                <div>
                  Level 2: .col-xs-8 .col-sm-6
                </div>
                <div>
                  Level 2: .col-xs-4 .col-sm-6
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div>
        <button type="button" data-dismiss="modal">Close</button>
        <button type="button">Save changes</button>
      </div>
    </div>
  </div>
</div>
<div>
  <button type="button" data-toggle="modal" data-target="#gridSystemModal">
    Launch demo modal
  </button>
</div>

Изменения модальное окно Контента, основанного на кнопку пуска

Есть куча кнопок, вызывает модальное окно, просто с немного разным содержанием? Используйте event.relatedTarget и HTML data-* атрибуты (возможно через jQuery) варьировать содержимым модального окна в зависимости от того, какая кнопка была нажата. См подробные сведения в документации Модальных событий relatedTarget.

Open modal for @mdo Open modal for @fat Open modal for @getbootstrap
<div>
  <button type="button" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
  <button type="button" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
  <button type="button" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>
  <div tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div role="document">
      <div>
        <div>
          <button type="button" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
          <h5>New message</h5>
        </div>
        <div>
          <form>
            <div>
              <label for="recipient-name">Recipient:</label>
              <input type="text">
            </div>
            <div>
              <label for="message-text">Message:</label>
              <textarea></textarea>
            </div>
          </form>
        </div>
        <div>
          <button type="button" data-dismiss="modal">Close</button>
          <button type="button">Send message</button>
        </div>
      </div>
    </div>
  </div>
</div>
$('#exampleModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) // Кнопка, что спровоцировало модальное окно
  var recipient = button.data('whatever') // Извлечение информации из данных-* атрибутов
  // Если необходимо, вы могли бы начать здесь AJAX-запрос (и выполните обновление в обратного вызова).
  // Обновление модальное окно Контента. Мы будем использовать jQuery здесь, но вместо него можно использовать привязки данных библиотеки или других методов.
  var modal = $(this)
  modal.find('.modal-title').text('New message to ' + recipient)
  modal.find('.modal-body input').val(recipient)
})

Модальные окна с динамической высоты

Если Высота модальное окно изменения во время ее открытия, Вам необходимо позвонить $('#myModal').data('bs.modal').handleUpdate() подрегулировать модальное окно’s позиции в случае появляется полоса прокрутки.

Использование

В модальное окно плагин переключает ваш скрытый Контент по требованию, через атрибуты данных или JavaScript. Он также добавляет .modal-open на <body> по умолчанию прокрутка поведение и создает .modal-backdrop, чтобы обеспечить щелкните область для увольнения показаны модальные глаголы при нажатии вне модальное окно.

С помощью данных атрибутов

Активируйте модальное окно без записи JavaScript. Набор data-toggle="modal" на элемент контроллера, кнопки, вместе с data-target="#foo" или href="#foo", чтобы предназначаться для определенного модальное окно для переключения.

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

Через JavaScript

Вызов модальное окно с кодом myModal С одной строки JavaScript:

$('#myModal').modal(options)

Варианты

Параметры могут передаваться через атрибуты данных или JavaScript. Для атрибутов данных, введите имя параметр data-, а на data-backdrop="".

ИмяТипПо умолчаниюОписание
backdropboolean or the string 'static'trueВключает в себя модальное окно-фон элемента. Кроме того, укажите static на фоне которого не закрыть модальное окно по щелчку.
keyboardbooleantrueЗамыкает модальное окно При нажатии клавиши Escape
showbooleantrueПоказывает модальное окно При инициализации.

Методы

.modal(options)

Активирует ваш Контент в модальное окно. Принимает необязательный варианты object.

$('#myModal').modal({
  keyboard: false
})
.modal('toggle')

Переключение вручную на модальное окно. Возвращает абоненту до модальное окно фактически было показано или скрыто (т. е. shown.bs.modal или hidden.bs.modal события).

$('#myModal').modal('toggle')
.modal('show')

Вручную открывает модальное окно. Возвращает абоненту до модальное окно фактически было показано (т. е. shown.bs.modal события).

$('#myModal').modal('show')
.modal('hide')

Вручную скрывает модальное окно. Возвращает абоненту до модальное окно На самом деле был скрытым (т. е. hidden.bs.modal события).

$('#myModal').modal('hide')

События

Bootstrap модальное окно класс предоставляет несколько событий для навески модальное окно функциональности. Все модальное окно события обстреляли модальное окно сама по себе (т. е. <div>).

Тип СобытияОписание
show.bs.modalЭто событие возникает сразу же, когда show способ экземпляра называется. Если вызываемое щелчком, щелчке элемент, как relatedTarget свойство события.
shown.bs.modalЭто событие запускается, когда модальное окно стала видимой для пользователя (будет ждать CSS переходы для завершения). Если вызываемое щелчком, щелчке элемент как relatedTarget свойство события.
hide.bs.modalЭто событие сразу же выполняется, когда вызывается экземпляр метода hide.
hidden.bs.modalЭто событие запускается, когда модальное окно закончил быть скрыта от пользователя (будет ждать CSS переходы для завершения).
$('#myModal').on('hidden.bs.modal', function (e) {
  // сделать что-то...
})

Что такое модальное окно и когда его использовать?

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

Возможно, вам было приятно увидеть это всплывающее окно, а может быть, вы были удивлены и сбиты с толку. Но как бы вы ни отреагировали, это окно определенно привлекло ваше внимание.В терминах веб-дизайна этот тип дисплея называется модальным .

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

На практике все зависит от того, хорошо ли спроектировано модальное окно и имеет ли он смысл. Если все сделано правильно, они могут быть полезными как для ваших пользователей, так и для ваших чисел: согласно недавнему исследованию почти 2 миллиардов модальных всплывающих окон, 10% лучших исполнителей конвертируются с поразительной скоростью — 9.28%.

Убеждены? В этом посте мы рассмотрим, почему модальные окна так хорошо работают. Мы также обсудим, когда, где и как эффективно разместить модальные окна на вашем сайте.

Что такое модальное окно?

Модальное окно (также называемое модальным окном или лайтбоксом) — это элемент веб-страницы, который отображается перед всем остальным содержимым страницы и деактивирует его. Чтобы вернуться к основному контенту, пользователь должен взаимодействовать с модальным окном, выполнив действие или закрыв его.Модальные окна часто используются для привлечения внимания пользователей к важному действию или информации на веб-сайте или в приложении.

Назначение модальных окон можно описать одним словом: фокус. Если вам нужно, чтобы посетители сосредоточились на чем-то простом, модальное окно — одно из наиболее эффективных средств для этого. Пользователи должны либо закрыть модальное окно, либо выполнить в нем определенное действие (например, прочитать сообщение и щелкнуть «ОК», заполнить форму и т. Д.).

Вот простой пример от жителя Нью-Йорка.Это модальное окно предлагает нам подписаться на их информационный бюллетень.

Источник изображения

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

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

Наконец, модальные окна также помогают сэкономить место на странице, отображая избранные медиафайлы, такие как изображения или видео, в лайтбоксе.

Модальное и немодальное

Мы называем этот тип элемента «модальным», потому что он вводит вторичный «режим» — или пользовательский интерфейс — на веб-страницу, на которой он появляется. Модальное окно отключает большую часть страницы и требует, чтобы пользователи сфокусировались на определенном окне, прежде чем продолжить. Веб-дизайнеры называют модальное окно «дочерним» окном, а остальную часть страницы — «родительским» окном.

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

Когда модальные окна используются в веб-дизайне?

Модальные окна эффективны всякий раз, когда вам нужно, чтобы пользователи увидели или сделали что-то конкретное. Обычно (но не всегда) они появляются после некоторого триггерного события, такого как нажатие кнопки, событие прокрутки или некоторое намерение выхода.Наиболее распространенные виды использования модальных окон в веб-дизайне включают предупреждения, оповещения, подтверждения, формы, отображение мультимедиа и многоэтапные процессы

Предупреждения, предупреждения и подтверждения

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

Источник изображения

Используйте модальные окна только для наиболее важных сообщений.Например, ошибки, которые активно препятствуют выполнению желаемого действия (например, «Мы не смогли выполнить ваш запрос из-за ошибки сервера. Обновите страницу и попробуйте еще раз») и действия, которые нельзя отменить (например, «Выполнены вы уверены, что хотите продолжить? ») являются вескими причинами для модального окна. Предупреждение о «политике файлов cookie», не так много — сохраните это для немодального окна или панели уведомлений.

Формы

Если процесс на вашем веб-сайте требует информации, предоставленной пользователем, вы можете разместить форму внутри модального окна.Вы часто будете видеть это как альтернативу специальной странице для входа / регистрации или странице, на которой продвигаются информационные бюллетени по электронной почте, предложения контента или код скидки.

Многие веб-сайты, такие как Boston Globe, ограничивают свой контент только участниками, и об этом можно сообщить не членам через модальное окно:

Источник изображения

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

Медиа-дисплеи

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

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

Миниатюра также может открывать модальное окно видео, которое отображает видео как собственный небольшой кинотеатр, а затем закрывается, когда видео завершается. На информационной странице веб-сайта интернет-провайдера Starry перечислены несколько видеороликов, представленных следующим образом:

Источник изображения

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

Многоступенчатые процессы

Для более длительных и энергоемких действий на вашем веб-сайте — создания профиля пользователя, подписки на услугу или завершения настройки инструмента — рассмотрите возможность разделения каждого шага в собственное модальное окно, чтобы удобство было более управляемым. Этот метод часто используется в программных приложениях в виде «мастера» или «руководства для установщика». Прогресс должен отображаться в окне в виде полосы, последовательности маленьких точек, чисел или какого-либо другого индикатора.

Pinterest хорошо справляется с этим с процессом создания учетной записи.Обратите внимание на индикатор прогресса вверху.

Источник изображения

Оптимальные методы работы с модальным окном

  1. Используйте модальные окна намеренно и нечасто.
  2. Отключить все элементы фона.
  3. Напишите четкие инструкции и текст кнопки.
  4. Дайте пользователям выход.
  5. Правильно установите размер модального окна.
  6. Ввести и закрыть модальное окно с плавным переходом.
  7. Ограничение модальных окон на мобильных устройствах.
  8. Сделайте ваши модальные окна доступными.

Модальные окна настолько распространены в сети, что ваши посетители могут отличить полезные модальные окна от бессмысленных или плохо спроектированных. Убедитесь, что ваши модальные окна имеют высокое качество, следуя этим восьми передовым методам проектирования модальных окон:

1. Используйте модальные окна намеренно и нечасто.

Модальные окна по своей природе разрушительны. Они, как правило, неожиданно появляются в процессе просмотра и всегда смещают фокус с родительского окна.Это дорого обходится пользователю, поэтому модальные окна всегда должны помогать пользователю в достижении его целей, а не мешать им.

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

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

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

2. Отключить все элементы фона.

Чтобы эффективно привлечь все внимание к модальному окну, все фоновые элементы должны быть визуально и функционально убраны за дочерним окном.

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

Функционально, убедитесь, что ни один элемент страницы за пределами модального окна не доступен для щелчка или выбора с помощью клавиатуры, а также рассмотрите возможность отключения прокрутки. Любые дополнительные функции родительской страницы будут посылать смешанные сигналы о назначении модального окна.

Еще одно важное замечание: поскольку модальное окно делает все остальное содержимое страницы недоступным, пока оно не закрыто, вся информация, необходимая пользователям для завершения модального окна, должна быть предоставлена ​​в самом модальном окне.Пользователям не нужно возвращаться к родительскому контенту для решения модального окна — любая задача, требующая такого переключения, лучше подходит для немодального дисплея.

3. Напишите четкие инструкции и текст кнопки.

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

4. Дайте пользователям выход.

Каждое хорошее модальное окно позволяет по крайней мере одно действие, возможность закрыть его. Соглашение гласит, что окно должно открываться после того, как пользователь нажмет клавишу выхода или щелкнет символ «X» или текст «Закрыть» в верхнем левом или правом углу модального окна.

Вы также можете закрыть окно, когда пользователь щелкает за пределами модального окна, и рассмотреть возможность размещения кнопки «Отмена» внутри модального окна в качестве альтернативы кнопке «Продолжить».

5.Подберите размер модального окна.

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

Хорошая рекомендация — ограничить модальное окно максимум 50% ширины окна браузера и примерно такой же высотой, хотя точные размеры будут зависеть от того, что вы поместите в модальное окно.

6. Введите и закройте модальное окно с постепенным переходом.

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

Вернемся к нашему примеру со звездой, обратите внимание, как модальное видео быстро, но плавно исчезает из поля зрения, а фоновое содержимое затемняется:

Источник изображения

7. Ограничьте модальные окна на мобильном телефоне.

Все описанные мною конструктивные особенности отлично подходят для экранов настольных компьютеров, но мобильные устройства — совсем другое дело. Уменьшенный размер экрана усложняет создание вида «окно в окне», не выглядя слишком большим или слишком маленьким.

Если вы можете разместить модальное окно на своем обычном сайте, рассмотрите вместо этого добавление немодального элемента или размещение модального содержимого целиком на новой странице. Если вы предпочитаете модальные окна на своем мобильном сайте, убедитесь, что они отзывчивые, разборчивые и простые в использовании.

8. Сделайте ваши модальные окна доступными.

Я уже затронул пару указателей веб-доступности в этом списке — вот несколько распространенных методов, позволяющих сделать ваши модальные окна доступными для всех:

  • Каждое нажатие на кнопку в модальном окне также должно быть возможно с помощью клавиатуры. Клавиша выхода должна закрыть окно, а клавиши табуляции и ввода можно использовать для выбора параметров.
  • Все остальные элементы за пределами модального окна не должны быть доступны с клавиатуры, пока модальное окно находится в поле зрения.
  • Модальное окно должно визуально контрастировать с фоновой страницей.
  • Переходы в модальное окно и из него должны быть плавными и неброскими.
  • Любые изображения, видео или другие элементы мультимедиа должны включать описательный альтернативный текст.
  • Весь текст и мультимедиа можно интерпретировать с помощью программ чтения с экрана и других вспомогательных технологий.

Как реализовать моды в CSS

Чтобы добавить базовое модальное окно на ваш сайт, можно использовать только CSS и HTML.Большинство факторов дизайна, которые мы рассмотрели в этом руководстве, можно изменить с помощью ноу-хау CSS. W3Schools предоставляет простой, но полезный шаблон кода для начала работы с методом CSS, или вы можете использовать бесплатный шаблон из Free Frontend или Material Design для Bootstrap.

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

Модальность

— единственная концепция пользовательского интерфейса, которую не полностью понимают большинство дизайнеров | Фабиан Себастьян

В реальном мире различие между модальными и немодальными экранами часто менее очевидно. Например, полноэкранный вид изображения является модальным в большинстве приложений, хотя это не процесс или диалог. Модальный экран также может иметь смысл в других особых ситуациях для создания фокуса.Если бы наш экран с подробностями о котенке (в центре) был конечным видом без других действий, таких как редактировать или комментариев , мы могли бы использовать модальность (полноэкранный вид). Но поскольку он позволяет пользователям глубже ориентироваться в информационной архитектуре и выполнять различные дополнительные действия ( показывают комментарии, , редактировать, …), он больше не имеет четкой конечной точки и, следовательно, является частью основного потока. Следовательно, Немодальный вид .

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

Сведите к минимуму использование модальности. Как правило, люди предпочитают нелинейное взаимодействие с приложениями. Рассматривайте создание модального контекста только тогда, когда критически важно привлечь чье-то внимание, когда задача должна быть завершена или отменена, чтобы продолжить использование приложения или сохранить важные данные. — Apple

Отказ от ответственности: конечно, интерфейс может работать отлично без строгого различия между модальным и немодальным представлениями. Однако концепция модальности глубоко укоренилась в интерфейсных экосистемах Apple, Google, Microsoft и других предприятий, и у пользователей возникли соответствующие ожидания.

Apple не была бы Apple, если бы она время от времени не нарушала свои собственные правила: например, новый App Store открывает основные моменты на вкладке «Сегодня» в виде модального экрана, но по-прежнему позволяет пользователям переходить к следующему рекомендации внизу модального экрана (нет четкой конечной точки). Таким образом, пользователи могут глубже перемещаться по модальному экрану, не имея фиксированной конечной точки. В процессе они теряют возможность изменять вкладки и больше не могут закрывать модальное представление на подстраницах. Открытие того же экрана приложения из чего-то другого, кроме рекомендации, приводит к тому, что экран отображается как немодальный экран.Это сохраняет панель вкладок и обратные действия (щелкните значок текущей панели вкладок еще раз, чтобы перейти на ее главный экран).

Модальные окна: все, что вам нужно знать

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

Любите ли вы их, ненавидите или просто игнорируете, модальное окно — полезный инструмент. Это помогает привлечь внимание пользователей, стимулировать участие пользователей и предоставить им актуальную и конкретную информацию.

В этом посте мы расскажем, что такое модальное окно, когда его использовать, и рассмотрим 5 основных передовых практик для создания собственного окна с помощью инструмента прототипирования.

Что такое модальное окно?

Если вы когда-либо пытались сохранить файл или выйти из документа без сохранения, значит, вы работали с модальным окном. Они довольно распространены в дизайне пользовательского интерфейса и могут использоваться, когда пользователь вынужден принимать важное решение.

Проще говоря, модальное окно (или модальное диалоговое окно) — это диалоговое окно, которое появляется поверх основного содержимого пользовательского интерфейса и требует действий со стороны пользователя.Модальное окно обычно появляется после того, как пользователь уже выполнил действие.

Это действие может быть, но не ограничивается:

  • Закрытие нескольких вкладок в браузере
  • Выход из приложения без сохранения
  • Делает что-то необратимое, например: « Вы уверены, что хотите навсегда удалить эти 5 элементов?»

Когда на экране появляется модальное окно, главное окно приложения часто отключается (он изменил режим пользовательского интерфейса), потому что пользователь должен взаимодействовать с окном, чтобы вернуться к тому, что он делал.

Когда использовать модальное окно?

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

• Привлечение внимания пользователя

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

Хотя Раймонд Чен писал, что это проблема, потому что многие люди боятся диалогового окна. Люди боятся отвечать на вопрос, если ответят неправильно. Большинство людей по привычке нажимают «Отмена».

• Получение информации от пользователей

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

• Когда вам нужно запросить информацию, которая могла бы уменьшить работу или усилия пользователей

Модели

работают особенно хорошо, если они используются для получения информации, чтобы сделать путь пользователя немного проще.

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

Эта информация может быть полезна для оптимизации остальной части процесса, избавляя пользователя, например, от необходимости заполнять целый блок информации, относящейся к их ипотеке.

Изображение предоставлено: Анна

5 основных передовых практик проектирования модальных окон

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

Предварительно определите ваше модальное окно

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

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

Экономно используйте модальные окна

В идеале вы хотите свести использование модального окна к минимуму. Тереза ​​Фессенден пишет, что модальные окна могут заставить пользователей забыть, что они делали.

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

Адаптивное проектирование модальных окон

UX-дизайнеры должны проектировать отзывчиво. Когда речь заходит о модальных окнах, мы говорим о том, чтобы они хорошо работали на настольных компьютерах и мобильных устройствах. Если ваше модальное окно не предназначено для мобильных устройств, это может ухудшить удобство использования.

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

Согласно исследованию, проведенному Стивеном Хубером, 75% людей полагаются на свой большой палец, а 49% людей полагаются на хват одной рукой, чтобы выполнять работу на своем мобильном телефоне.

Ограниченное пространство не прощает ошибок, когда дело доходит до модальных окон, которые могут быть довольно большими и требовать неудобной прокрутки. Не лучший пользовательский опыт.

Почему бы не избавиться от хлопот по разработке модального окна с нуля и выбрать один из множества наборов пользовательского интерфейса для использования в своих прототипах?

Это не означает, что вам не следует использовать модальное окно на мобильном телефоне, просто если вы собираетесь это сделать, лучше убедиться, что оно спроектировано с учетом требований пользователей.

Обеспечить визуальную согласованность

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

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

Избегайте использования модального окна для всплывающих окон списка рассылки

В веб-дизайне довольно часто бывает, что при первом посещении веб-сайта появляется всплывающее модальное окно с просьбой подписаться на информационный бюллетень.

Конечно, компании хотят, чтобы пользователи подписывались на их информационный бюллетень, но это может подорвать доверие. Плюс это раздражает. У пользователя не было времени получать какую-либо пользу от веб-страницы, так зачем им подписываться на вашу рассылку?

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

Заключение

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

Большой, жирный UX — использование модальных окон для взаимодействия с пользователем в приложении

Можете ли вы представить себе продукт или веб-сайт, которые испортились из-за слишком большого количества всплывающих окон? Время, когда ваш рабочий процесс или просмотр страниц были прерваны переходом на полноэкранный режим без выхода? Надоедливое уведомление просто не понимает намеков?

Конечно можно.К сожалению, такое плохое UX-поведение — обычное дело.

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

Модальные окна выделяются жирным шрифтом, и при правильном использовании они являются отличным способом доставки сообщений, заслуживающих полного внимания пользователей. Многие компании — Google, Grammarly, HubSpot, Spotify и т. Д. — успешно используют их, чтобы привлечь пользователей и подтолкнуть их к высокоэффективным действиям.

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

Что такое модальное окно?

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

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

Преимущества и варианты использования модальных окон

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

Вот некоторые распространенные варианты использования:

1. Подключение пользователей

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

Zapier добавляет радость в их приветственное сообщение с помощью анимированного конфетти.

Если вам есть что сказать, мультимодальные потоки могут стать отличным способом привлечь новых пользователей к вашему продукту.Индикаторы прогресса помогают мотивировать пользователей пройти многоэтапную адаптацию или ознакомление с продуктами.

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

2. Анонсы функций

Крупные анонсы — такие как редизайн продукта или выпуск долгожданной функции — часто заслуживают большого модального всплеска.

Calendly использовал простое модальное окно, чтобы объявить о новой захватывающей функции (автоматические последующие электронные письма).

3. Дополнительный ввод данных пользователем

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

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

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

Недостатки

Модальные окна по своей сути разрушительны.

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

Для контекстных сообщений, которые относятся к определенным элементам или функциям страницы (как в примере из HubSpot ниже), подсказки часто являются лучшим выбором.

Когда вы хотите предложить контекстную помощь (например, во время ознакомления с продуктом), всплывающие подсказки лучше привлекают внимание к одному конкретному элементу на странице или направляют пользователей через действия, которые им необходимо предпринять в данный момент.

Вы можете прочитать все о маленькой, но мощной подсказке здесь.

Советы по созданию отличного модального дизайна

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

Конечно, не существует универсального шаблона, но есть несколько практических правил, которые стоит запомнить. Давайте разберемся:

💯 Заголовок

Модальный заголовок должен с первого взгляда рассказывать пользователям, что это за модальное окно.

  • Для модальных окон адаптации пользователей начните с повторения «Добро пожаловать в {ваш продукт}» или «Добро пожаловать, {имя}».
  • В объявлениях о функциях используйте такие слова, как «Представляем» или «Новое», чтобы привлечь внимание пользователя.
  • Модальные окна подтверждения должны четко повторять предполагаемое действие. Например: «Удалить фото?»

🖼 Графика

Одно из самых больших преимуществ модальных окон по сравнению с узорами меньшего размера состоит в том, что они могут легко вмещать визуальный контент.Изображения могут быть добавлены под заголовком или в качестве главного изображения для дополнительного акцента. Короткие видеоролики или GIF-файлы могут помочь продемонстрировать, как работает функция, добавить человечности или даже немного юмора.

📝 Основной текст

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

🏃 Кнопка призыва к действию

Яркий, ориентированный на действия язык лучше всего подходит для CTA. Призывы к действию могут быть интригующими, но не слишком загадочными.Лучшие из них убедительно намекают на то, что будет дальше.

Для вдохновения прочтите, какие сильные слова находят отклик у пользователей.

🙅 Выходы

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

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

⏳ Индикаторы выполнения

При использовании серии модальных окон индикатор выполнения работает, чтобы поддерживать мотивацию пользователей и сообщать им, сколько еще шагов осталось в потоке.Тонкие точки (например, те, что использует Google), простая дробь или классическая полоса — все это может иметь большое влияние на то, завершают ли люди модальную серию.

Взгляните на модальное окно Календаря Google ниже. Здесь нет индикатора выполнения, поскольку это один шаг, но присутствуют все остальные компоненты хорошего модального окна: описательный заголовок, фирменная графика, информативный основной текст и возможность выйти с действием или без него.

Использование модальных окон для мобильных приложений


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

Это может быть ограничением — каждое сообщение в приложении может казаться намного более разрушительным на мобильных устройствах — но также открывает интересные возможности для владельцев приложений и маркетологов.

Хотя использование модального окна для перепродажи подписки более высокого уровня может показаться немного агрессивным на настольном компьютере, например, допродажа — прекрасный вариант использования для мобильного модального окна, если с ним обращаться с умом.

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

Permission Priming — еще один распространенный вариант использования модальных окон на мобильных устройствах:

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

Хотите узнать больше об использовании мобильных модальных окон? Ознакомьтесь с этими 8 примерами отличных мобильных модальных окон, которые порадуют и заинтересуют пользователей вашего приложения.

Сохранить модальные окна для впечатляющего обмена сообщениями

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

Если вы хотите создавать и экспериментировать с модальными окнами, которые выглядят нативно для вашего приложения (и не требуют программирования или помощи разработчика для начала работы), попробуйте Appcues !

Модальное или нет. Модальные окна популярны не зря… | Аллен Ким | Digital-Heart

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

Модальное окно вынуждает пользователей выполнить это действие, прежде чем вернуться к своему текущему рабочему процессу. Это делает пользователей более продуктивными, поскольку они выполняют одно действие за раз, а не выполняют несколько задач одновременно. Пользователи с меньшей вероятностью запутаются и потеряются в своем рабочем процессе из-за наличия модальных окон управления и ограничений. например, «Введите этот номер, чтобы продолжить»

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

Модальное диалоговое окно требует внимания и доступности

Модальное диалоговое окно должно занимать 100% экрана, полностью закрывая фоновое окно, также скрывая движение фона при прокрутке согласно W3C.

Модальное диалоговое окно должно быть настраиваемым и доступным, а доступные описания устанавливаются на основе содержимого каждого диалогового окна. Используйте role = "dialog" , aria-modal , aria-hidden соответственно для каждого модального окна.

Критика

Состояние модального окна, открытого на странице, не может быть представлено URL-адресом. Пользователи не могут посещать страницу с открытым модальным окном без дополнительного программирования.

НЕ используйте модальное окно, если пользователям необходимо перейти в модальное состояние по URL-адресу.

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

НЕ добавляйте слишком много содержимого в модальное окно.
НЕ используйте модальное окно для неважного содержимого. Вместо этого используйте всплывающую подсказку или другие компоненты пользовательского интерфейса, как предлагает эта страница.

Как насчет немодального диалога?

Немодальные диалоговые окна , которые остаются на экране и доступны для использования в любое время, но разрешают другие действия пользователя. Немодальный диалог должен использоваться только для информационного отображения или вспомогательной работы (диалог утилиты / палитры), который не является игнорируемым. Если это требует внимания пользователя, нельзя использовать немодальный диалог.

Избегайте использования немодального диалога, если это действительно не необходимо. например окно чата, статус загрузки, исчезающее диалоговое окно сообщения.

Как насчет всплывающего окна внутри всплывающего окна?

Я никогда не видел рекомендаций по использованию этого подхода. Согласно этой статье и обсуждению UX, он непоследователен, не сфокусирован и слишком сложен.

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

  • Модальное окно должно иметь описательный заголовок
  • Модальное окно должно иметь кнопку Отмена / Закрыть
  • Клавиша Escape должна закрывать окно
  • Закрыть при нажатии за пределами модального окна
  • Добавьте тень и прозрачный фон
  • Не создавайте модальное окно с слишком большим количеством содержимого. Это сбивает с толку.

Ссылки:

Далее я только собрал причины, по которым нам следует избегать модальных окон; https://medium.com/@allenhwkim/why-not-modal-84d9f5d7c646

Что такое модальный веб-дизайн

Интересный факт: всплывающие окна, с которыми вы сталкиваетесь на веб-сайтах, имеют настоящее имя. Их называют модальными окнами, и все уважаемые веб-дизайнеры знают, что есть правильный и неправильный способ их использования.

Все, что вам нужно знать о модальных окнах.

Что такое модальные окна?

Термин «модальное окно» относится к любому всплывающему окну, которое прерывает действие, которое вы пытаетесь завершить.

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

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

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

Неправильный способ использования модальных окон.

Какими бы полезными ни были модальные окна для владельцев бизнеса и дизайнеров веб-сайтов, важно помнить о них кое-что.

1. Они могут расстроить пользователей.

Слишком много модальных окон или модальных окон, которые размещаются не интуитивно, могут расстроить посетителей вашего сайта. Многие люди заранее запрограммированы на то, чтобы нажать «Отменить» или закрыть окно, не читая информацию, особенно если они уже встречались с ними на вашем веб-сайте раньше и думают, что знают, что они говорят.

2. Они могут заставить пользователей забыть, что они делали до появления окна.

Это еще одна причина, по которой вам следует экономно использовать модальные окна. Исследования показывают, что сбои, вызванные всплывающим окном, могут перегрузить когнитивную нагрузку пользователей, что означает, что они вообще забывают, почему они оказались на этой странице.

3. Они могут запутать пользователей.

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


По теме: что такое лайтбокс?


Как правильно использовать модальные окна.

Модальные окна также могут быть невероятно полезны для вас И посетителей вашего веб-сайта, если они используются способами, предназначенными для улучшения взаимодействия с пользователем. Например:

1. Привлечение внимания пользователя.

Привлечение внимания к тому факту, что пользователь запросил выполнение действия, которое не имеет смысла, — отличный способ использовать модальные окна.Кто случайно не закрыл браузер с товаром, который мы ДЕЙСТВИТЕЛЬНО хотели продать, или не закрыл программу, в которой было много часов несохраненной работы? Модальные окна можно использовать для привлечения внимания к действиям, которые кажутся нелогичными из-за действий пользователя.


Бонус: как JavaScript используется в веб-дизайне


2. Получение информации от пользователей.

Модальные окна для сбора информации о пользователях великолепны, как и модальные окна, используемые для сбора информации для входа в систему.Они могут сэкономить ценное пространство на веб-странице и более удобны для пользователей.

Однако это неверно для мобильных веб-сайтов, где отдельная страница входа, вероятно, является подходящим вариантом, так как модальные окна могут быть трудными для навигации на мобильном устройстве.

3. Упрощение взаимодействия с пользователем.

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


Продолжайте читать: что такое отступы в веб-дизайне?


Последнее слово.

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

Thrive Design — это клиентоориентированное агентство веб-дизайна и маркетинга из Сиэтла. Свяжитесь с нами сегодня, чтобы узнать, как мы можем улучшить ваш бизнес в Интернете! Найдите нас в Clutch, UpCity, LinkedIn, Facebook и Twitter.

Категория: Веб-дизайн Сиэтл

Модальные окна | AcceDe Web

Сводка

Принцип

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

Модальные окна контролируют текущую страницу, пока они отображаются на экране.

Базовый HTML-код

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

с заголовком , отображаемым на экране
  

[Модальный заголовок]

[Модальное содержание]

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

без заголовка , отображаемого на экране
  
[Модальное содержание]

Роли, состояния и свойства ARIA

  • role = "dialog" должен быть применен к контейнеру в модальном окне
  • aria-modal = "true" необходимо применить к контейнеру в модальном окне
  • Если заголовок модального окна отображается на экране, он должен быть прикреплен к модальному окну с помощью атрибута aria-labelledby :
    • Заголовок модального окна должен иметь атрибут id с уникальным значением.
    • Контейнер модального окна должен иметь атрибут aria-labelledby со значением атрибута id заголовка модального окна.
  • Если заголовок модального окна не отображается на экране, необходимо применить aria-label и предоставить его в контейнере модального окна.

Взаимодействие с клавиатурой

Выступ

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

Shift + Tab

Эта комбинация клавиш действует так же, как клавиша Tab , но в обратном порядке. Если при нажатии комбинации клавиш фокус клавиатуры находится на первом интерактивном элементе в модальном окне, фокус перемещается на последний интерактивный элемент в модальном окне.

Esc

Когда отображается модальное окно, оно закрывается, и фокус клавиатуры помещается на интерактивный элемент, который запустил модальное окно.

Ожидаемое поведение

Когда отображается модальное окно (открыто)

  • Фокус клавиатуры динамически помещается на первый интерактивный элемент, содержащийся в модальном окне.
  • Фокус клавиатуры должен быть ограничен модальным окном, а табуляция должна быть невозможна на остальной части страницы (под модальным окном).Модальное окно можно закрыть с помощью клавиши Esc .

Когда модальное окно скрыто (закрыто)

  • Фокус клавиатуры необходимо переместить на элемент, открывший проем модального окна.
  • В идеале модальное окно должно быть удалено из DOM. Однако, если модальное окно остается в исходном коде, к его контейнеру необходимо применить display: none или visibility: hidden .

Компоненты

Эти компоненты модального окна предлагаются здесь, потому что их уровень доступности считается хорошим или очень хорошим.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *