Модальное или немодальное окно: как выбрать?
Модальное или немодальное окно: как выбрать?
В статье разбираемся что такое модальное и немодальное окно и в каких случаях их лучше всего использовать.
Веб-дизайн
5 янв. 2021
Что такое модальное окно
Модальное окно — это окно, которое блокирует работу пользователя, но оставляет главный экран видимым вместе с модальным окном. Пользователи должны взаимодействовать с модальным окном, прежде чем смогут вернуться в родительское приложение.
Преимущество модальных окон в том, что в пользовательском интерфейсе они обеспечивают быстрое, целенаправленное и контекстное взаимодействие. Когда используется модальное окно, загрузка новой страницы не требуется. Такие окна снижают нагрузку с веб-сайта и оптимизируют его работу.
Язык модальных окон
Чтобы вам легко было воспринимать дальнейшую теорию, давайте сразу рассмотрим основные определения:
- Диалог — в пользовательском интерфейсе — это «разговор» между системой и пользователем.
- Модальность — особое состояние системы, когда одна и та же система имеет разные интерфейсы. Каждая модальность может сопровождаться различными действиями, или одно и то же действие может приводить к различным результатам в зависимости от модальности системы.
- Оверлей — окно, которое отображается поверх страницы. Обычно окно оверлея значительно меньше страницы под ним.
- Скрим/лайтбокс — временный эффект, применяемый к страницам: их содержимое становится менее заметно/более затемнено; собственно, отсюда и название «лайтбокс» (световой куб) — оно описывает визуальный эффект, фокусирующий внимание пользователя на содержимом оверлея.
Типы модальных окон
Nielsen Norman Group создали удобную схему, на которой показаны основные отличия между типами модельных окон:
Источник: https://www.nngroup.com/articles/popups/
Оригинал
Большинство модальных окон легко идентифицируются, поскольку визуально перекрывают главное экран: то же самое со всплывающими окнами, которые исчезают из основного окна в фоновом режиме, всплывающих меню и всплывающих диалоговых окон, лайтбоксов, оповещений…
Многие модальные экраны на мобильных устройствах занимают весь экран, поскольку пространство экрана ограничено. В итоге их сложнее отличить от немодальных окон, так как теперь они закрывают основное окно.
Что такое немодальное окно
Основное различие заключается в способе взаимодействия с каждым из окон. Пользователь может продолжить взаимодействие с основным контентом (и, возможно, даже переместить окно, свернуть его и т.д.), Пока диалог открыт. Немодальные экраны позволяют пользователям переходить назад и вперед на основном уровне навигации приложения.
Когда следует использовать модальность
Модальные экраны следует использовать, когда нужно привлечь полное внимание пользователя к определенному блоку информации. Модальное окно требует, чтобы люди сосредоточились на одной задаче, прежде чем продолжить работу в основном потоке приложения.
«Модальность создает фокусировку, не давая людям заниматься другими делами, прежде чем они не завершат задачу или не отклонят вызванное в модальном окне представление» — Apple
Google советует использовать модальные экраны(диалоговые окна) для…
«Критически важной информации, которая требует конкретной пользовательской задачи, решения или подтверждения» — Google
- Используйте модальные диалоговые окна для важных предупреждений, чтобы предотвратить или исправить критические ошибки.
- Используйте модальные диалоговые окна, чтобы запросить у пользователя ввод информации, критически важной для продолжения текущего процесса. Когда отсутствие информации не позволяет системе продолжить процесс, инициированный пользователем, модальный диалог может запросить у пользователя эту информацию.
- Модальные диалоги могут использоваться для разбиения сложной информации на более простые и удобоваримые фрагменты.
- Используйте модальные диалоговые окна, чтобы запрашивать информацию, которая, если будет предоставлена, может значительно уменьшить работу или усилия пользователей.
- Не используйте модальные диалоги для несущественной информации, не связанной с текущим пользовательским потоком.
- Избегайте модальных диалогов, которые прерывают важные процессы, такие как потоки оформления заказа. Оформление заказа — это процесс с высокими ставками как для пользователей, так и для предприятий: пользователи хотят убедиться, что процесс является плавным, безопасным и безошибочным, а компании хотят, чтобы пользователь следовал их решению о покупке. Модальные диалоги, если они необоснованны, могут в лучшем случае отвлекать пользователей и в худшем случае подрывать их доверие.
- Избегайте модальных диалогов для принятия сложных решений, требующих дополнительных источников информации, недоступных в модальном окне. Модальные диалоги следует использовать для коротких прямых диалогов с пользователем. Если модальное окно требует от пользователя проведения сложного исследования или обращения к дополнительным источникам информации (потенциально заблокированным модальным окном), то это не тот элемент пользовательского интерфейса, который подходит для этого взаимодействия.
Когда следует использовать немодальное окно
Немодальные окна полезны, когда пользователям нужно быстро переключаться между режимами, чтобы получить доступ к определенной информации. Например, Google Mail использует немодальные окна в качестве метода по умолчанию для создания новых сообщений электронной почты. Пользователи могут продолжить работу с открытым этим окном, свернуть составленное электронное письмо, не теряя его (или, при желании, развернуть его в модальное окно).
Читайте другие статьи
Белое или отрицательное пространство веб-страницы ошибочно считают бесполезной растратой ценного пространства экрана. Белое пространство — это не пассивный фон, а активный элемент, который требует должного внимания.
Веб-дизайн
19 февр. 2021
Как дизайнеру создать удобную систему управления файлами?
Веб-дизайнеры работают с огромным количеством файлов, которые бывает сложно найти в самый нужный момент среди неорганизованной коллекции различных мультимедиа. В статье мы расскажем, как создать четкую систему управления файлами и держать все в порядке
Веб-дизайн
22 мая 2020
Как дизайнеру прокачать насмотренность: этапы и ресурсы
Что позволяет дизайнерам быстро и сразу качественно разрабатывать проекты, кроме умения пользоваться Photoshop? Опыт, что на языке этих специалистов называется насмотренностью. В статье разбираем, как и где прокачать этот навык.
Веб-дизайн
14 апр. 2020
Использование модальных окон в пользовательских интерфейсах / Хабр
Многие дизайнеры в процессе создания цифровых продуктов основываются на свои чувства. Несмотря на то, что в некоторых случаях это полезно, существуют проверенные общие стандарты, которые помогают логически обоснованно создавать решения пользовательского интерфейса вместо того, чтобы полагаться на интуицию.
В этой статье мы постараемся изучить общий стандарт модальности в пользовательских интерфейсах, и обсудить причину, по которой существуют лишь два основных типа экранов, а также проанализировать, как приложения и веб-сайты терпят неудачу при преобразовании информационных архитектур и пользовательских потоков в интуитивно понятные пользовательские интерфейсы.
Начнем это исследование со следующего смелого утверждения:
Существует два типа экранов:
- Модальные экраны
- Немодальные экраны
Что такое «модальный экран»?
Модальные экраны можно обнаружить в различных его формах и представлениях, например одним из ниже перечисленных в списке:
- Полноэкранные модальные виды
- Всплывающие окна
- Поп-апы
- Лайтбоксы
Как модальные экраны, так и немодальные экраны являются дочерними представлениями, то есть они подчинены одному главному окну приложения. Однако, существует одно важное отличие:
«Модальное окно создает режим, который отключает главное окно, но сохраняет его видимым с модальным окном в виде дочернего окна перед ним. Пользователи должны повзаимодействовать с модальным окном, прежде чем они смогут вернуться в родительское приложение» — Википедия
Большинство модальных окон, особенно в настольных приложениях, можно легко идентифицировать, поскольку они визуально перекрывают главное окно.
Однако использование модального окна на мобильных устройствах ограничено, так как многие модальные экраны на мобильных устройствах занимают весь экран устройства. Они больше не держат основное окно видимым пользователю, и, следовательно, их труднее отличить от немодальных окон:
Пример iOS: модальные окна на мобильных устройствах часто полностью скрывают главное окно приложения.
Основное различие заключается в способе взаимодействия с каждым из окон. В то время как немодальный экран позволяет пользователям вернуться к родительскому экрану, модальный экран требует, чтобы пользователи завершили определённое действие, прежде чем вернуться в главное окно (такое как нажатие кнопки «Сохранить» в нашем примере) или отменить текущее действие, вызвавшее модальное окно.
Наиболее ярким визуальным индикатором для немодальных окон является навигация (панель вкладок в нашем примере). Немодальные экраны позволяют пользователям переходить назад и вперед на основном уровне навигации приложения.
Модальный же экран требует, чтобы пользователи закрывали окно, прежде чем они снова смогут использовать основную навигацию приложения (Кнопки «Сохранить» или «Отмена» в нашем примере).
Почему следует использовать модальность?
Модальные экраны решают простую проблему. И состоит она в следующем — пользователи легко отвлекаются, поэтому иногда приходится привлекать их полное внимание на какой-то определенный блок информации (источник). Модальный экран делает именно это — требует, чтобы люди сосредоточились на одной задаче, прежде чем продолжить работу в основном потоке приложения.
«Модальность создает фокусировку, не давая людям заниматься другими делами, прежде чем они не завершат задачу или не отклонят вызванное в модальном окне представление» — Apple
Когда следует использовать модальность?
Теперь, когда мы знаем, как выглядит модальный экран. Как же сравнить его с немодальным экраном и какова его цель? Прежде всего мы должны спросить себя: «В какой ситуации мы должны его использовать?»
Давайте представим, что мы создаем «гениальный и инновационный» стартап под названием «Purrrfect». Это база данных котят, которая позволяет пользователям загружать, просматривать и комментировать GIF-изображения милых котяток.
Упрощенный пользовательский поток нашего приложения может выглядеть следующим образом: пользователь открывает приложение и входит в одну из нескольких доступных вкладок (наша база данных о котятах), затем нажимает на одного из котят (входит в подробное представление одного котёнка) и затем нажимает на раздел комментариев (входит в раздел комментариев представления котёнка).
Пользовательский поток приложения «Purrrfect»
Кроме того, пользователь может выполнять дополнительные действия на каждом из этапов. Например, он может добавить другого котёнка в базу данных на экране списка котят. Или он может редактировать данные на экране подробностей котенка.
А теперь надо понять, какой из этих экранов является модальным, а какой нет? Классификация в данном случае вызывает сложность, но вот моё личное эмпирическое правило:
Используйте модальные экраны для автономных процессов, а немодальные экраны для всего остального.
«Автономный процесс» — это конкретное действие, которое имеет четкую начальную и конечную точку в процессе.
В течение ограниченного периода времени этого действия он выводит пользователя из общего потока пользователя, позволяя ему сосредоточиться на действии и затем возвращает его в ту точку потока, откуда он начал это действие.
Google формулирует это правило следующим образом:
Используйте модальные экраны (диалоги) для отображения «критической информации, которая требует конкретной пользовательской задачи, её решения или подтверждения» — Google
В случае нашего приложения «Purrrfect» это означает, что основной поток пользователя (используемый для исследования приложения) не является модальным. Однако специальные ограниченные по времени действия, такие как добавление котят, редактирование котят и написание комментариев, являются модальными.
Все модальные действия могут быть отменены либо успешно завершены, прежде чем пользователь вернется в основной поток. По этой причине модальные экраны используют кнопки «Отмена» и «Сохранить» (или другие подобные подтверждения действия) вместо кнопки «Назад». Если ваша кнопка «Назад» одновременно запускает действие сохранения на немодальном экране, вы можете рассмотреть возможность перехода на модальный экран, добавив кнопки «Отмена» и «Сохранить».
Однако верно и следующее утверждение: если два разных действия, таких как «Отмена» и «Сохранить», не имеют смысла на вашем модальном экране (потому что они вызовут одно и то же действие), вы можете переключиться на немодальное представление. В этом случае основная навигация (например, панель вкладок) также должна оставаться видимой на экране.
Давайте вернемся к нашему приложению. Возможный интерфейс для «Purrrfect» может выглядеть так:
Пользовательский интерфейс «Purrrfect»
В реальном мире различие между модальными и немодальными экранами зачастую менее очевидно. Например, полноэкранный вид изображения является модальным в большинстве приложений, хотя это не процесс или диалог. Модальный экран может также иметь смысл в других особых ситуациях, когда нужно генерировать фокус пользователя на определенном блоке информации. Если бы наш подробный экран котёнка (в центре) был конечной точкой без других действий, таких как редактирование или комментарии, мы могли бы использовать модальность (полноэкранный просмотр). Но так как он позволяет пользователям глубже переходить по информационной архитектуре и выполнять различные дополнительные действия (показывать комментарии, редактировать и т.п.), у него больше нет чёткой конечной точки, и поэтому он является частью основного потока. Следовательно, это немодальное представление.
Разработчик обязан оценить, является ли действие автономным или частью общего процесса потока приложения, и решить, делать экран модальным или нет. В случае возникновения сомнений, вспоминайте эту цитату:
Минимизируйте использование модальности. Как правило, люди предпочитают взаимодействовать с приложениями нелинейными способами. Рассматривайте возможность создания модального контекста только в тех случаях, когда важно привлечь чье-либо внимание, когда задача должна быть завершена или прекращена, чтобы продолжить использование приложения или сохранить важные данные. — Apple
Конечно, интерфейс может прекрасно работать без строгого различия между модальным и немодальным представлениями. Тем не менее, концепция модальности глубоко заложена в интерфейсных экосистемах Apple, Google, Microsoft и других компаний, которые разработали соответствующие ожидания для своих постоянных пользователей.
Как следует использовать модальность?
К настоящему времени надеюсь что возникло общее понимание того, когда использовать модальность. Остается только один вопрос: «Как мы спроектируем модальность?». Вот быстрый чеклист для использования модальных экранов:
- Всегда показывайте кнопку закрытия/скрытия модального окна (или «отмена», «отменить», «свернуть») в верхней панели навигации. Когда пользователь теряется, он может легко закрыть такое окно и вернуться на уровень приложения, откуда было вызвано модальное окно.
- Кнопки отмены на iOS и Android чаще всего располагаются в верхней левой части панели навигации. Android предпочитает иконку закрытия «X», в то время как iOS предпочитает кнопку с надписью «Отмена». Тем не менее, кнопки иконок также довольно распространен и в iOS.
- Кнопки подтверждения действия на модальном окне в iOS и Android по умолчанию расположены в верхней правой части панели навигации. Тем не менее, это размещение может быть недоступным для пользователя на устройствах с большой диагональю. Поэтому фиксированное плавающее размещение такого в нижней части экрана или в конце страницы может быть неплохим альтернативным решением.
Многоступенчатые модальные окна
Все становится сложнее, как только модальное диалоговое окно состоит из нескольких шагов или дочерних экранов. По умолчанию, кнопка продолжения действия отображается в правом верхнем углу. Экран второго шага не откроет новый модальный экран, но вместо этого остается внутри первого модального экрана и отображается как немодальный дочерний экран (так как не имеет возможности быть отменённым) существующего модального наложения в виде первого шага модального окна.
При размещении основного действия («сохранить», «применить» или «продолжить») в нижней части экрана (как было рекомендовано ранее) в верхней правой области второго шага модального блока всегда освобождается место для дополнительной кнопки отмены. Хотя перемещение выглядит более логичным слева направо, это размещение все же лучше для модального окна, чем отсутствие возможности закрывать модальный экран на дочерних (предшествующих) экранах.
Заключение
Многие дизайнеры разрабатывают продукты, основываясь на своих чувствах. И иногда интуиция важнее нормы, потому что в этом зачастую и есть суть творчества. Однако имеет смысл знать общие стандарты модальности, чтобы в нужный момент подстраивать их под основной пользовательский поток в приложении.
Модальное окно или страница: схема принятия решений
Аудио перевод статьи
При принятии решения об использовании модальных окон необходимо учесть множество различных факторов.
Обширный обзор имеющейся литературы на эту тему показал, что определенных правил использования модальных окон нет, есть только ряд рекомендаций и указаний. Автор статьи объединил все лучшие руководства, советы и рекомендации в блок-схему, которая не только поможет понять, нужен ли вашему дизайну оверлей, но и позволит убедительно обосновать свое решение.
Представьте, что вы создаете интерфейс для регистрации пациентов, ваш пользователь должен заполнить несколько форм и нуждается в дополнительной информации о том, как найти и ввести номер страхового полиса, без этого он не сможет перейти на следующий шаг. Некоторым пользователям нужно помочь выяснить, что это за номер, другим — где его найти (подсказка: он на другом листке бумаги).
Пример: Регистрационная форма сервиса AKIRA для владельцев корпоративного полиса медицинского страхования Manulife Financial. Что значит “номер страхового полиса Manulife”?
Вы в замешательстве. Как будет лучше поступить? Прервать сценарий? Добавить ещё одну страницу? Или модальное окно? Как принять верное решение?
Проблема: определенных правил использования модальных окон не существует
Обширный обзор имеющейся литературы по теме использования модальных окон показал, что определенных правил использования модальных окон нет, есть только ряд рекомендаций и указаний (которые вы можете найти в разделе ссылок в конце этой статьи).
Модальные окна помогают не потерять контекст
Однажды кого-то заинтересовал вопрос: «Как вывести на экран важную информацию, не потеряв контекст текущего экрана?» — бинго! Так и появились модальные окна.
Модальное окно требует от людей сосредоточения на конкретной задаче в условиях свободного перемещения в рамках информационной архитектуры приложения, прежде чем он продолжит использовать его дальше. Это помогает не потерять контекст текущего экрана при передаче важной информации, которая необходима пользователю.
Язык модальных окон
Кто-нибудь когда-нибудь задавался вопросом: «В чем разница между модальными, диалоговыми окнами и оверлеем? Часто их принимают за один и тот же элемент, или же считают различия между ними просто формальностью. Давайте все же определимся с терминами, прежде чем продолжить:
- Диалоговое окно (Dialog): Диалог — разговор между двумя людьми. В пользовательском интерфейсе диалог — это «разговор» между системой и пользователем, который осуществляется посредством диалоговых окон.
- Режим (Mode): Особое состояние системы, в котором одна и та же система имеет несколько разных пользовательских интерфейсов. Каждый режим может предлагать различные виды действий или одни и те же действия, но с разными результатами, которые зависят от режима работы системы.
- Оверлей (Overlay): Окно с контентом, которое отображается поверх другой страницы. Оверлеи обычно заметны меньше, чем основная страница.
- Затемнение/Осветление (Scrim/Lightbox): Временное затемнение, которое может быть применено к экрану, чтобы сделать контент менее заметным для создания эффекта лайтбокса (Lightbox), когда более светлый оверлей выделяется на темном фоне.
- Модальное окно (Modal): Блокировка содержимого фоновой страницы во время взаимодействия пользователя с оверлеем.
- Немодальное окно (Non-modal): Пользователи могут продолжать взаимодействовать с содержимым фоновой страницы (например, кликать на ссылки или нажимать кнопки), в то время как оверлей по-прежнему остается видимым.
Типы модальных окон
Чтобы упростить нам жизнь, Nielsen Norman Group создала очень полезную диаграмму, которая помогает понять несколько важных различий:
Карта модальных окон для разных компонентов
Для того чтобы вам было еще проще, я нарисовал удобную диаграмму, которая объединяет все, о чем мы говорили выше ☝️, и актуальные компоненты из Material Design от Google.
Итог: моя схема принятия решений
Я объединил все лучшие руководства, советы и рекомендации в блок-схему, которая, при правильном использовании, поможет вам понять, нужен ли вашему дизайну оверлей. Вы можете использовать эту блок-схему вместе с приведенной выше картой компонентов, которая позволит вам подобрать наиболее подходящий из них. В совокупности эти инструменты позволят вам найти лучшее решение для вашего дизайна и дадут вам убедительное обоснование этого решения.
Также рекомендую пользоваться этим шаблоном для записи ваших ответов на вопросы блок-схемы.
Шаблон: Google Docs
Заключение
Решить, стоит ли использовать модальное окно — довольно сложно, но еще сложнее, если вы пытаетесь определить, что будет лучше для пользователя, а не то, что будет проще для дизайнера. Данная блок-схема станет для вас надежной опорой и укажет правильное направление для принятия верного решения о том, как и когда использовать модальные окна. Каждая ситуация сама по себе уникальна, бывают случаи, когда данный ход решения не подходит для конкретной задачи, над которой работает дизайнер. Тем не менее, эта схема не раз выручала меня самого и мою команду, поэтому, надеюсь, она поможет и вам.
Ниже я оставил ссылки на ресурсы, которые я использовал при создании блок-схемы, возможно, они будут для вас полезны.
Ссылки
- Popups: 10 Problematic Trends and Alternatives
- https://www.nngroup.com/articles/modes/
- https://www.nngroup.com/articles/modal-nonmodal-dialog/
- https://uxplanet.org/modality-the-one-ux-concept-you-need-to-understand-when-designing-intuitive-user-interfaces-e5e941c7acb1
- https://uxplanet.org/best-practices-for-modals-overlays-dialog-windows-c00c66cddd8c
Что такое модальное окно и когда его использовать?
Что такое модальный?
Модальный против немодального
Когда модальные окна используются в веб-дизайне?
Предупреждения, предупреждения и подтверждения
Формы
Медиа-дисплеи
Многоступенчатые процессы
Лучшие практики модального окна
1 Используйте модальные окна намеренно и нечасто.
2 Отключите все элементы фона.
3 Напишите четкие инструкции и текст кнопки.
4 Дайте пользователям выход.
5 Правильно установите размер модального окна.
6 Введите и закройте модальное окно с постепенным переходом.
7 Ограничьте модальные окна на мобильных устройствах.
8 Сделайте свои модальные окна доступными.
Как реализовать модальные окна в CSS
Любой опыт работы с веб-сайтом похож на мозаику из более мелких элементов дизайна и решений. Вот одна из тех, с которыми вы, вероятно, столкнулись: вы просматриваете сайт и нажимаете какую-то кнопку. Сразу же страница исчезает, и на вашем экране появляется всплывающее окно, отображающее какое-либо сообщение или предлагающее действие, например подписку на список адресов электронной почты или загрузку предложения контента.
Возможно, вам было приятно увидеть это всплывающее окно, а может быть, вы были удивлены и сбиты с толку. Но как бы вы ни отреагировали, это окно определенно привлекло ваше внимание. В терминах веб-дизайна этот тип отображения называется модальным.
Модальные окна разнятся как среди дизайнеров, так и среди пользователей. Многие ценят свою способность быстро привлечь внимание к чему-то важному, в то время как другие считают их нежелательным препятствием для взаимодействия с пользователем.
На практике все зависит от того, хорошо ли спроектировано модальное окно и имеет ли он смысл. Если все сделано правильно, они могут быть полезными как для ваших пользователей, так и для ваших чисел: согласно недавнему исследованию почти 2 миллиардов модальных всплывающих окон, 10% лучших исполнителей конвертируются с поразительной скоростью – 9,28%.
Убежден? В этом посте мы рассмотрим, почему модальные окна так хорошо работают. Мы также обсудим, когда, где и как эффективно разместить модальные окна на вашем сайте.
Что такое модальный?
Модальное окно (также называемое модальным окном или лайтбоксом) – это элемент веб-страницы, который отображается перед всем остальным содержимым страницы и отключает его. Чтобы вернуться к основному контенту, пользователь должен взаимодействовать с модальным окном, выполнив действие или закрыв его. Модальные окна часто используются, чтобы привлечь внимание пользователей к важному действию или информации на веб-сайте или в приложении.
Назначение модальных окон можно описать одним словом: фокус. Если вам нужно, чтобы посетители сосредоточились на чем-то простом, модальное окно – одно из наиболее эффективных средств для этого. Пользователи должны либо закрыть модальное окно, либо выполнить в нем определенное действие (например, прочитать сообщение и щелкнуть «ОК», заполнить форму и т.д. ).
Вот простой пример из New Yorker. Это модальное окно предлагает нам подписаться на их информационный бюллетень.
Источник изображения
Помимо направления фокуса, модальные окна имеют дополнительные преимущества по сравнению с другими элементами отображения. Во-первых, модальные окна упрощают работу. Все остается на одной вкладке, помогая посетителям оставаться на связи с тем, что они делали до появления модального окна.
Во-вторых, поскольку модальные окна появляются на активной вкладке пользователя, вы можете быть уверены, что они будут видны. Если бы вместо этого приглашение должно было появиться в новом окне, пользователь мог бы пропустить его или инстинктивно закрыть новое окно после того, как был обусловлен раздражающими всплывающими рекламными окнами.
Наконец, модальные окна также помогают сохранить место на странице, отображая избранные мультимедиа, такие как изображения или видео, в лайтбоксе.
Модальный против немодального
Мы называем этот тип элемента «модальным», потому что он вводит вторичный «режим» – или пользовательский интерфейс – на веб-страницу, на которой он появляется. Модальное окно отключает большую часть страницы и требует, чтобы пользователи сфокусировались на определенном окне, прежде чем продолжить. Веб-дизайнеры называют модальное окно «дочерним» окном, а остальную часть страницы – «родительским» окном.
Противоположностью модальному элементу является «немодальный» элемент, который не отключает родительское окно. Пользователи всегда могут взаимодействовать с родительским контентом, пока открыт немодальный элемент. Примеры немодальных элементов включают раскрывающееся меню, боковую панель или всплывающий элемент, который по-прежнему позволяет пользователям нажимать на другие элементы страницы.
Когда модальные окна используются в веб-дизайне?
Модальные окна эффективны всякий раз, когда вам нужно, чтобы пользователи увидели или сделали что-то конкретное. Обычно (но не всегда) они появляются после некоторого триггерного события, такого как нажатие кнопки, событие прокрутки или некоторое намерение выхода. Наиболее распространенное использование модальных окон в веб-дизайне включает предупреждения, оповещения, подтверждения, формы, отображение мультимедиа и многоэтапные процессы.
Предупреждения, предупреждения и подтверждения
В тех случаях, когда пользователь действительно должен что-то увидеть, модальные окна отлично подходят для привлечения внимания. Модальное окно может содержать предупреждение о значительном событии или ошибке, предупреждение о последствиях какого-либо действия или подтверждение завершенного процесса. Например:
Источник изображения
Используйте модальные окна только для наиболее важных сообщений. Например, ошибки, которые активно препятствуют выполнению желаемого действия (например, «Мы не смогли выполнить ваш запрос из-за ошибки сервера. Обновите страницу и повторите попытку») и действия, которые нельзя отменить (например, вы уверены, что хотите продолжить? ») являются вескими причинами для модального окна. Предупреждение о «политике файлов cookie», не так много – сохраните это для немодального окна или панели уведомлений.
Формы
Если для процесса на вашем веб-сайте требуется информация, отправленная пользователем, вы можете разместить форму внутри модального окна. Вы часто будете видеть это как альтернативу специальной странице для входа / регистрации или той, которая продвигает электронную рассылку новостей, контентное предложение или код скидки.
Многие веб-сайты, такие как Boston Globe, ограничивают свой контент только участниками, и об этом можно сообщить не членам через модальное окно:
Источник изображения
Обычно триггером для этого типа модального окна является щелчок CTA или нажатие другой кнопки, но также часто сайты запускают модальное окно после события прокрутки. Вам решать, считаете ли вы этот триггер слишком отвлекающим, но знайте, что некоторых посетителей это будет беспокоить, если они сочтут его несущественным.
Медиа-дисплеи
Медиа часто поддерживает основное содержимое веб-страницы и задает тон для просмотра. Однако, если галерея изображений или видео служит центром внимания на вашем сайте, модальное окно позволяет посетителям просматривать их изолированно, не открывая их на другой странице.
Например, пользователь может щелкнуть миниатюру на родительской странице, что открывает модальное окно для галереи связанных изображений, по которой легко перемещаться с помощью кнопок со стрелками с обеих сторон окна. Эта реализация особенно эффективна для демонстрации продуктов и портфолио.
Миниатюра также может открывать модальное окно видео, которое отображает видео как собственный маленький театр, а затем закрывается после завершения видео. На информационной странице веб-сайта интернет-провайдера Starry перечислены несколько видеороликов, представленных следующим образом:
Источник изображения
Дополнительным преимуществом использования модальных окон для отображения мультимедиа является экономия места. Мультимедиа обычно занимают ценное место на странице, но доступ к галерее или видеопроигрывателю с помощью меньшего эскиза позволяет сэкономить ценное пространство.
Многоступенчатые процессы
Для более длительных и энергоемких действий на вашем веб-сайте – создания профиля пользователя, подписки на службу или завершения настройки инструмента – рассмотрите возможность разделения каждого шага в собственное модальное окно, чтобы удобство было более управляемым. Этот метод распространен в программных приложениях в виде «мастера» или «руководства по установке». Прогресс должен отображаться в окне в виде полосы, последовательности маленьких точек, чисел или какого-либо другого индикатора.
Pinterest хорошо справляется с этим с процессом создания учетной записи. Обратите внимание на индикатор прогресса вверху.
Источник изображения
Лучшие практики модального окна
- Используйте модальные окна намеренно и нечасто.
- Отключите все элементы фона.
- Напишите четкие инструкции и текст кнопки.
- Дайте пользователям выход.
- Подберите размер модального окна.
- Ввести и закрыть модальное окно с постепенным переходом.
- Ограничьте модальные окна на мобильных устройствах.
- Создавайте модальные окна для обеспечения доступности.
Модальные окна настолько распространены в сети, что ваши посетители могут отличить полезные модальные окна от бессмысленных или плохо спроектированных. Убедитесь, что ваши модальные окна имеют высокое качество, придерживаясь этих восьми передовых методов проектирования модальных окон:
1 Используйте модальные окна намеренно и нечасто.
Модальные окна по своему дизайну разрушительны. Они имеют тенденцию неожиданно появляться в процессе просмотра и всегда смещают фокус с родительского окна. Это дорого обходится пользователю, поэтому модальные окна всегда должны помогать пользователю в достижении его целей, а не мешать им.
Чтобы посетители не раздражались вашим сайтом, развертывайте модальные окна только тогда, когда вам это абсолютно необходимо, и только если они помогают пользователю в достижении их основной цели. Что-то меньшее, и пользователи могут забыть о своей первоначальной цели и разочароваться.
Для предупреждений и предупреждений только критические ошибки и постоянные действия должны вызывать модальное отображение. Что касается форм, придерживайтесь тех, которые собирают необходимую информацию или, по крайней мере, значительно улучшают их взаимодействие с вашим сайтом. И все шаги в многоэтапном модальном процессе должны иметь прямое отношение к конечной цели пользователя.
Для любых интерактивных элементов или шагов, которые не соответствуют требованиям, используйте вместо них немодальное отображение.
2 Отключите все элементы фона.
Чтобы эффективно привлечь все внимание к модальному окну, все фоновые элементы должны быть визуально и функционально убраны за дочерним окном.
Визуально модальные окна размывают и / или затемняют большинство или все родительские элементы. Это создает впечатление, что модальное окно находится над остальным контентом. некоторая тень вокруг модального окна также может создать этот эффект.
С функциональной точки зрения убедитесь, что ни один элемент страницы за пределами модального окна не доступен для нажатия или выбора с помощью клавиатуры, а также рассмотрите возможность отключения прокрутки. Любые дополнительные функции родительской страницы будут посылать смешанные сигналы о назначении модального окна.
Еще одно важное замечание: поскольку модальное окно делает все остальное содержимое страницы недоступным до закрытия, вся информация, необходимая пользователям для завершения модального окна, должна быть предоставлена в самом модальном окне. Пользователям не нужно возвращаться к родительскому контенту для решения модального окна – любая задача, требующая такого переключения, лучше подходит для немодального отображения.
3 Напишите четкие инструкции и текст кнопки.
Чтобы помочь пользователям быстро приспособиться к модальному дисплею и понять, почему он там есть, сделайте весь текст максимально кратким и понятным. Все модальные окна должны включать текст заголовка, в котором указывается намерение модального окна или требуемое действие. Напишите текст кнопки и другие подсказки к действию, чтобы они были краткими и интуитивно понятными.
4 Дайте пользователям выход.
Каждое хорошее модальное окно позволяет по крайней мере одно действие, возможность закрыть его. Соглашение гласит, что окно должно открываться после того, как пользователь нажмет клавишу ESC или щелкнет символ «X» или текст «Закрыть» в верхнем левом или правом углу модального окна.
Вы также можете закрыть окно, когда пользователи щелкают за пределами модального окна, и рассмотреть возможность размещения кнопки «Отмена» внутри модального окна в качестве альтернативы кнопке «Продолжить».
5 Правильно установите размер модального окна.
Модальные окна должны появиться как слой поверх родительского окна. Сделайте его слишком большим, и пользователи могут подумать, что модальное окно – это совершенно новая страница, слишком маленькая, и пользователи могут принять его за рекламу.
Хорошая рекомендация – ограничить модальное окно не более чем 50% ширины окна браузера и примерно такой же высотой, хотя точные размеры будут варьироваться в зависимости от того, что вы поместите в модальное окно.
6 Введите и закройте модальное окно с постепенным переходом.
Включите эффект перехода, чтобы упростить переход от родительского окна к дочернему. Кратковременное исчезновение фонового содержимого и постепенное появление модального окна будут хорошо работать практически в любом сценарии – более насыщенный событиями переход (например, вставка) или отсутствие перехода может показаться некоторым неприятным.
Вернемся к нашему примеру со звездой, обратите внимание, как модальное видео быстро, но плавно исчезает из поля зрения, а фоновое содержимое затемняется:
Источник изображения
7 Ограничьте модальные окна на мобильных устройствах.
Все описанные мною конструктивные особенности отлично подходят для экранов настольных компьютеров, но мобильные устройства – это совсем другое дело. Уменьшенный размер экрана усложняет создание вида «окно в окне», не выглядя слишком большим или слишком маленьким.
Если вы можете разместить модальное окно на обычном сайте, рассмотрите возможность добавления немодального элемента или размещения модального содержимого целиком на новой странице. Если вы предпочитаете модальные окна на своем мобильном сайте, протестируйте их, чтобы убедиться, что они отзывчивые, разборчивые и простые в использовании.
8 Сделайте свои модальные окна доступными.
Я уже коснулся пары указателей веб-доступности в этом списке – вот несколько распространенных практик, позволяющих сделать ваши модальные окна доступными для всех:
- Каждое нажатие на кнопку в модальном окне также должно быть возможно с помощью клавиатуры. Клавиша выхода должна закрыть окно, а клавиши табуляции и ввода можно использовать для выбора параметров.
- Все другие элементы за пределами модального окна не должны быть доступны с клавиатуры, пока модальное окно находится в поле зрения.
- Модальное окно должно визуально контрастировать с фоновой страницей.
- Переходы в модальное окно и из него должны быть плавными и неброскими.
- Любые изображения, видео или другие элементы мультимедиа должны содержать описательный альтернативный текст.
- Весь текст и мультимедийные данные можно интерпретировать с помощью программ чтения с экрана и других вспомогательных технологий.
Как реализовать модальные окна в CSS
Чтобы добавить базовое модальное окно на свой сайт, можно использовать только CSS и HTML. Большинство факторов дизайна, которые мы рассмотрели в этом руководстве, можно изменить с помощью ноу-хау CSS. W3Schools предоставляет простой, но полезный шаблон кода для начала работы с методом CSS, или вы можете использовать бесплатный шаблон из Free Frontend или Material Design для Bootstrap.
Как бы вы ни решили реализовать свои модальные окна, не забудьте ограничить их использование только необходимыми случаями. Время от времени требовать внимания к пользователю – это нормально, если это в конечном итоге служит их конечной цели и обеспечивает достаточную ценность, чтобы оправдать кратковременный сбой. Для каждого модального окна следует понимать его цель в пути посетителя и придерживаться наших лучших практик в отношении дизайна и функций.
Источник записи: https://blog.hubspot.com
краткий перевод свежих статей о digital. Читайте на Cossa.ru
Содержание
- Удалите вложенные формы из digital-продуктов
- UX вещей. Netflix
#915. Удалите вложенные формы из digital-продуктов
Removing Nested Modals From Digital Products
Визуальное представление вложенных модальных окон. Источник
Что такое вложенное модальное окно?
Модальное окно — это диалоговое окно, которое при появлении перекрывает основной контент на экране и заставляет пользователя выполнить лишнее действие для возврата. Вложенное модальное окно — это когда два или более модальных окна накладываются друг на друга.
Почему следует избегать вложенных модальных окон
Сложно быстро выйти из потока
Пользователи должны чувствовать контроль над тем, что они делают на сайте. Вложенные модальные окна усложняют информацию, поскольку она накладывается друг на друга — и выйти из нового потока одним щелчком мыши уже не получится. Если пользователь попадает во вложенные модальные окна и хочет вернуться к основному потоку, он должен сидеть и закрывать каждое модальное окно. Это заставляет пользователя вновь возвращаться к экранам, которые ему не нужны, и создаёт бесполезный опыт.
Начните размещать официальную рекламу в Telegram Ads через click.ru
Зарегистрируйтесь и продавайте товары или услуги в Telegram Ads с помощью готового решения от click.ru. Опередите конкурентов!
Бюджет от 3 000 €. Это гораздо дешевле, чем работать напрямую.
Для юрлиц и физлиц. Юрлица могут получить закрывающие документы, возместить НДС. Физлица — запустить рекламу без общения с менеджерами.
3 способа оплаты. Оплачивайте рекламу картой физического лица, с расчётного счета организации, электронными деньгами.
Подробнее →
Реклама
Схема пути пользователя с вложенными модальными окнами. Источник
Вводит в замешательство
Вложенные модальные окна добавляют ещё один уровень сложности и, в целом, пользователю тяжелее понять результаты своих действий. Например, пользователям придется только догадываться, что произойдёт, если они нажмут кнопку «Назад». Более того, даже многие браузеры не знают, как обрабатывать вложенные модальные окна.
Пример на видео ниже с сайта Dribbble кнопка. Кнопка «Назад» закрывает скрытое модальное окно и ещё ломает кнопку «Закрыть» на верхнем модальном окне.
Nested Modal Bug from Joseph Mueller on Vimeo.
Малоиспользуемое пространство
Большинство модальных окон обычно используют немного места на экране. Google-документы согласно Material Design предполагают, что «полноэкранные диалоги предназначены только для мобильных устройств. На планшете или компьютере используйте модальное диалоговое окно». Пространство за пределами модальных окон лучше использовать для более ценных компонентов. Для устройств с небольшими экранами и экранным пространством это особо актуально.
Когнитивная нагрузка увеличивается
Мы все хотим, чтобы наши пользователи могли сосредоточиться на своей текущей задаче. Мы понимаем, что процесс должен быть максимально упрощен. Когда переменных и потоков слишком много, это может вызвать затруднения и утомить пользователя. Если пользователю нужно открыть модальное окно, а затем другое, это, вероятно, знак того, что происходят более серьезные проблемы с вашей информационной архитектурой. Всегда старайтесь, чтобы опыт был как можно более плавным; потому что время и внимание пользователя обычно не на вашей стороне.
Что можно использовать вместо?
Бесконечное модальное окно
В таком виде модальные окна не складываются в кучу, а объединяет их в новый поток. Это решение очень полезно для мобильных устройств, поскольку имитирует то, как пользователь может вернуться/закрыть окно в приложениях.
Боковая панель
Если необходимо отобразить много контекстного контента и горизонтальное пространство не занято, то боковая панель может стать правильным решением. В уже приведенном выше видео о Dribbble обратите внимание, что информация о посте отображается через вложения модальных окон. Если бы Dribbble использовал боковую панель, это решило бы их проблему.
Встроенное раскрывающееся окно
У вас немного вертикального пространства? Встроенное раскрывающееся окно — отличное решение для маленьких экранов или для оптимизации использования.
Всплывающее окно
Используйте всплывающее окно, чтобы дать дополнительный контекст элементу на экране. Всплывающие окна могут отображать более сложные функции, и у пользователей меньше ожиданий от них, чем от раскрывающихся списков.
Модальное окно с вкладками
Это эффективный способ четко упорядочить контент для пользователя и добавить удобства при навигации.
Настройка контента
Иногда одна только настройка UX-шаблонов окон не может исправить вложенные модальные окна. Вот несколько предложений для конкретного контента, которые следует взять во внимание, если вы возьметесь менять поток.
-
Следует ли превратить модальное окно в страницу и добавить в основной поток?
-
Можете ли вы расположить информацию на странице так, чтобы сфокусировать на ней внимание?
-
Следует ли разделить какую-то страницу на несколько страниц?
-
Перепроверьте опыт, специально созданный для другой платформы, чтобы убедиться, что он по-прежнему работает на новой платформе.
Как модальные окна должны интегрироваться в идеальный поток?
Оптимальный модальный обратный поток. Источник
Вывод: Пользователи должны беспрепятственно перемещаться по приложению. Когда пользователь проходит через последовательность экранов, он мысленно строит линейный путь слева направо. Подумайте: кнопка назад указывает влево, а кнопка вперёд — вправо? Когда пользователю нужно выполнить второстепенную задачу, он делает метафорический «шаг в сторону», чтобы сосредоточиться на новой задаче, добавляя модальное окно поверх основного потока. Завершив вторичную задачу, пользователь возвращается к основному потоку в том же месте.
Перевели, чтобы вы сэкономили час-другой.
#913. UX вещей, эпизод 1. Netflix
The UX of Things Ep.1 — Netflix
Источник
Знаете ли вы, что Netflix начинался как сайт проката DVD ещё в 1997 году? :–)
Источник
По состоянию на октябрь 2020 года Netflix обслуживает более 195 миллионов платных подписчиков с операционным доходом в 1,2 миллиарда долларов. Скорее всего, в офисах Netflix происходит довольно много обсуждений UX-стратегии.
Как это чувствуется
На Netflix мы либо хотим найти что-то новое, чтобы посмотреть, либо продолжить то, что начали, либо позволить Netflix порекомендовать нам, что смотреть дальше.
Искать самим по заголовку — не вариант. Мы идём в жары. И там ничего не находим.
А Netflix не даёт рекомендаций. Точнее, не так. Рекомендации Netflix не основаны на качестве самих фильмов или отзывах пользователей. Они основаны на нашей истории просмотров и на том, что сам Netflix считает хорошим.
Отзывы пользователей
Нет ничего лучшего для понимания хорош фильм или нет, чем отзывы пользователей. Представьте, если бы Amazon или App Store были без отзывов. Отзывы пользователей — самый важный показатель, на который мы можем положиться при покупках. Отзывы пользователей лучше всего отражают продукт, особенно когда отзывов много.
Одно «но»: на Amazon вы тратите деньги, а на Netflix вы тратите время. Время дороже :–)
Раньше у Netflix были хотя бы рейтинги, но они решили удалить их в 2018 году, потому что тролли намеренно «бомбили» неудачные заголовки сериалов.
Мало кто любит сервис Netflix. Такое ощущение, что мы просматриваем App Store, не имея возможности видеть и читать отзывы пользователей, но зато с промовидео, воспроизводимыми при прокрутке.
Отзывы пользователей: решение
Если вы смотрите Netflix из браузера, это расширение позволит вам видеть рейтинги IMDB и Rotten Tomatoes в пользовательском интерфейсе Netflix.
Это выглядит так.
Источник
Представим, что Netflix решил показывать рейтинги по умолчанию. Если бы они сделали это, было бы довольно сложно продвигать сериал с очень низким рейтингом и называть его «рекомендованным к просмотру».
Функция автозапуска
Ещё один момент, с которым Netflix намеренно не работает — это функция автовоспроизведения.
Netflix автоматически воспроизводит трейлеры к сериалам, нравится вам это или нет. Неудивительно, что эта функция вызывает раздражение у слишком многих пользователей. Но, видимо, для Netflix преимущества явно перевешивают недостатки.
Это как если бы сервис Netflix был веб-сайтом, и они бы нажимали кнопку регистрации за вас, так что вам даже не приходилось бы делать это.
Функция автозапуска: решение
Это функция запускалась по умолчанию в течении десяти лет, и, наконец, в этом году, после многочисленных жалоб, Netflix уступил. Теперь мы можем выключить его самостоятельно в настройках.
Для этого:
1. Войдите в свою учётную запись Netflix в браузере.
2. Нажмите на свой профиль в правом верхнем углу и выберите «Управление профилями».
3. Выберите профиль, настройки которого хотите изменить.
4. Вы должны найти «Элементы управления автозапуском» и изменить настройки.
Одно только это изменение сильно повлияло на UX Netflix. Но несмотря на то, что они сделали это изменение возможным, большинство пользователей так никогда и не найдут этот параметр.
Вывод: хорошая новость в том, что мы можем справиться с двумя этими неудобствами. Плохая новость в том, что большинство пользователей никогда этого не сделает, ведь настроек по умолчанию придерживаются большинство из них. Скорее всего, лишь небольшое количество пользователей действительно кастомизируют Netflix в веб-браузере.
Перевели, чтобы вы смогли сэкономить часок.
Хэй-хэй! Пятница же! Хоп-хэй-лалалэй всем!
Читать по теме: Ланч-тайм: краткий перевод свежих статей о Digital (все выпуски)
Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на [email protected]. А наши требования к ним — вот тут.
Вы не знаете как должны работать модальные окна
Уверен, многие хоть раз создавали всплывающее модальное окно. Но задумывались ли вы об определении этого компонента? Как он должен работать?
В этом материале я постарался собрать максимально полный свод правил, рекомендаций и примеров реализации по которым модальные окна должны работать.
Я покажу, как просто создавать сложные, удобные, производительные и доступные модальные окна независимо от браузера, платформы, устройства или способа взаимодействия пользователя.
Этот список сформирован на основе спецификаций 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% его размера. Если ваш диалог будет большим:
- Его будет легче «нащупать». Дело в том, что пользователь может взаимодействовать со страницей следующим образом: он водит пальцем по дисплею, а программа чтения с экрана озвучивает то, что в данный момент находится под пальцем.
- Пользователю гарантированно не будут озвучиваться элементы «под ним». Иначе, например, VoiceOver на iPad может озвучивать отдельные фрагменты страницы под модальным окном даже «сквозь» оверлей блокирующий доступ указателю.
- Вы скроете прокрутку фона на некоторых устройствах при прокрутке контента в диалоговом окне.
- Удобнее для одной руки. Если окно растянуто на всю высоту – то у вас есть возможность прижать кнопки управления к нижней части дисплея. Туда намного проще дотянуться одной рукой пользователям современных смартфонов.
- Больше места для контента на устройствах с маленьким экраном, таких как 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>
из коробки).
Но:
- Не рассчитывайте, что пользовать всегда может нажать на оверлей и так закрыть диалог.
- Как я писал ранее, во многих случаях диалоговое окно может занимать всю или большую часть экрана. Таким образом попасть в него может быть сложно или невозможно.
- Такой оверлей семантически не считается интерактивным элементом. Он не может быть в фокусе и на него невозможно «нажать» клавишами.
- Не рассчитывайте, что у пользователя под рукой есть клавиатура, чтобы нажать Escape.
- Существует множество устройств, программ и различных инструментов, способных читать веб-сайты и давать пользователю взаимодействовать с ними, но не так как в браузере. Во многих случаях единственным рабочим вариантом остаётся кнопка внутри.
Простейшая реализация кнопки закрывающей родительский диалог:
<button> Закрыть </button>
А если вы делаете кнопку с иконкой, то не забывайте про подпись, чтобы передать ёё назначение:
<button aria-label="Закрыть"> × </button>
Поведение фокуса
При открытии диалога
Во время открытия диалогового окна фокус должен быть перемещён на элемент внутри него. На какой именно — зависит от содержания.
В общем случае фокус перемещается на первый интерактивный элемент. Именно так ведет себя нативный <dialog>
в браузере. Но нельзя делать сам элемент окна фокусируемым и перемещать фокус на него.
Например, для диалога с формой первый интерактивный элемент это первый <input>
. Если ваше диалоговое окно носит чисто информативный характер, например, уведомление об успешной подписке, тогда первым и единственным элементом будет кнопка закрывающая диалог.
Но есть и несколько исключений:
- Запрос подтверждения чего-либо. Если ваш диалог запрашивает у пользователя подтверждения перед выполнением каких-то необратимых действий (удаление чего-то или выполнение финансовых операций), тогда фокус автоматически должен ставится на кнопку «отмены» этих действий, независимо от её расположения.
- Ситуации, когда в диалоговом окне много статического контента и первый интерактивный элемент не помещается в видимую область. Проблема тут в том, что в таком случае браузер автоматически проскролит вниз к кнопке в фокусе. Это вынудит пользователя скролить обратно вверх, а потом снова вниз. Для таких случаев есть два подхода:
- Переместить или продублировать интерактивные элементы так, чтобы первый из них был в видимой части экрана. Например, выполнить кнопку закрыть в виде крестика и закрепить в верхней части диалогового окна.
- Заголовок или первый абзац текста нужно сделать фокусируемым при помощи
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>
и браузер полностью оставляет это на усмотрение разработчика.
Но и тут есть одно исключение: если элемент более не доступен, тогда фокус нужно вернуть туда, откуда наиболее логично для пользователя продолжить работу.
Пример
Предлагаю разобрать на примере. Представим систему из трех диалоговых окон:
- Сообщает пользователю об наличии подписки. В нем две кнопки: «Условия подписки» и «Подписаться»
- Отображается по клику на «Условия подписки». Открывается поверх первого.
- Отображается по клику на «Подписаться». Заменяет собой первое.
В примерах ниже я специально пропустил дополнительные атрибуты и элементы, для упрощения кода.
Итак, у нас есть стартовая кнопка.
<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? Так вот это пример хорошей работы с фокусом: каждый раз, при переходе на новый экран в фокус ставится элемент, с которым вы скорее всего будете взаимодействовать — кнопка «Далее» или «Обзор».
Подводя итог
- Используйте семантические теги
<button>
и<dialog>
. - Делайте ваши окна достаточно большими.
- В модальных окнах должен быть заголовок.
- Заголовок и содержимое должны быть соответствующим образом связаны с элементом модального окна.
- Убедитесь что в диалоге есть кнопка для закрытия окна.
- Перемещайте фокус внутрь при открытии, не выпускайте его из модального окна и возвращайте туда, где он был после закрытия.
Дополнительные ссылки
- Modal Dialog Design Pattern in WAI-ARIA Authoring Practices 1. 2
- HTML Living Standard
- Polyfill for the HTML dialog element
- Filament group Modal
юзабилити — Что такое модальное диалоговое окно?
спросил
Изменено 5 лет назад
Просмотрено 56 тысяч раз
Что такое модальное диалоговое окно и когда его следует использовать? Есть ли определенные случаи, когда вы должны воздержаться от его использования?
- удобство использования
- модальное диалоговое окно
- всплывающее окно
Модальное диалоговое окно — это окно, которое заставляет пользователя взаимодействовать с ним, прежде чем он сможет вернуться к использованию родительского приложения. Отличным примером этого может быть запрос на сохранение или диалоговое окно «открыть файл».
Они часто используются, когда пользователь вынужден принять важное решение. Допустим, вы работали над документом в Microsoft Word и перед сохранением решили выйти из Word. Появится модальное диалоговое окно и попросит вас сохранить, не сохранять или отменить. Пока вы не примете решение, вы не сможете пользоваться приложением, и оно не закроется.
2
Я согласен с Мэттом, что диалоговое окно файла должно быть модальным диалоговым окном.
Модальные диалоговые окна следует использовать, когда пользователь выполняет действие, для правильного заполнения которого требуется дополнительная информация. Диалоговое окно печати также является хорошим примером. Или диалоги «параметров» во множестве программ.
Когда использовать модальные диалоги, определить немного сложно, но я считаю, что их следует использовать с осторожностью и по возможности избегать. Посмотрите на пример Фрейзера с загрузчиком изображений Facebook. .. это не обязательно, так как это можно сделать асинхронно.
Эмпирическое правило: всякий раз, когда для завершения действия требуется дополнительная информация.
4
Мэтт уже сказал, что такое модальный диалог.
Что касается того, когда его следует использовать: Эмпирическое правило таково: «Когда никакие другие действия не имеют смысла, пока пользователь не завершит это диалоговое окно». Прочтите внимательно, здесь не говорится о том, что вы хотите, чтобы пользователь сделал! Многие диалоги в Mac не являются модальными, тогда как их аналоги в Windows являются модальными. Это не означает, что Mac лучше, но означает, что многие дизайнеры диалогов без необходимости заставляют пользователя выполнять действие, которое пользователь может захотеть отложить до тех пор, пока он не будет готов.
Примеры: 1) программа SSH требует пароль для подключения к серверу. Это может быть реализовано через модальное диалоговое окно, хотя вы могли бы возразить, что открытие конфигурации параметров имеет смысл независимо от того, подключен пользователь или нет. Реальный суд.
2) Браузер с несколькими вкладками должен , а не реализовывать базовую аутентификацию HTTP 401 через модальный диалог. Пользователь вполне может захотеть открыть другую вкладку, чтобы прочитать пароль из письма активации.
3) Диалог печати в многодокументном интерфейсе не должен быть модальным. Если пользователь хочет напечатать два документа, один из 1000 страниц, а другой из 5, но ошибочно начинает с 1000-страничного документа, вы не должны требовать от него отмены диалогового окна (и всех заданных им настроек) только для того, чтобы он мог напечатать меньший работа в первую очередь.
1
Мэтт ответил на вопрос, что это такое. Что касается того, когда его использовать, это полезно, когда вам нужно, чтобы пользователь сосредоточился на одной задаче и только на одной задаче. В Интернете модальное окно часто размещается по центру экрана, а остальная часть страницы становится серой, чтобы привлечь внимание к себе и визуально показать, что фон не будет использоваться, пока вы не выполните эту модальную задачу.
Где их не следует использовать, это сильно зависит от контекста вашего конкретного проекта. Где я видел злоупотребление этим, когда он используется в качестве замены нормального потока страниц. Пример, когда пользователь может инициировать задачу на главной странице для запуска модального окна, которое затем создает форму AJAX для загрузки формы, которая затем проходит через 3 модальных экрана перед завершением. В этом примере отправка пользователя на отдельную страницу, вероятно, была лучшим вариантом.
Модальное диалоговое окно — это дополнительное окно, которое открывается в основном окне. Чтобы продолжить выполнение набора задач, пользователь должен взаимодействовать с ним, чтобы вернуться обратно в главное окно.
Для справки: https://uxplanet.org/5-essential-ux-rules-for-dialog-design-4de258c22116
Best Practices for Modal Windows
Модальное диалоговое окно похоже на всплывающее окно, за исключением того, что оно появляется в окне браузера, в отличие от всплывающего окна, которое «выскакивает» из экрана. Модальное диалоговое окно также традиционно имеет наложение между собой и содержимым веб-страницы, чтобы сделать модальное окно более заметным.
Их можно использовать для самых разных целей, но обычно, когда пользователь хочет быстро вернуться на страницу, с которой появилось модальное окно.
См. ниже пример модального окна в стиле Facebook.
4
Твой ответ
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
Руководство по UX для модальных окон: +20 лучших плагинов и инструментов (2022)
- 29 ноября 2021 г.
Модальное окно — мощный инструмент. Он привлекает внимание и побуждает пользователей к действию.
Но с большой силой приходит и большая ответственность. Модальные окна должны предоставлять актуальную и конкретную информацию и поощрять участие пользователей; в противном случае они будут раздражать и отталкивать ваших пользователей. Это руководство покажет вам, как создавать удобные модальные окна с советами, рекомендациями и примерами.
Что такое модальное окно?
Модальные окна получили свое название из-за того, что они создают режим, который отключает главную страницу, но сохраняет ее видимой под модальным окном. Их также часто называют всплывающими модальными окнами, модальными диалоговыми окнами, модальными окнами или просто модальными окнами.
Модальные окна обычно вызываются действиями пользователя, такими как щелчок мыши или касание клавиатуры, и они преднамеренно прерывают рабочий процесс пользователя. Все, что находится за модальным окном, обычно затемнено, размыто или частично затемнено. Это позволяет пользователям поддерживать контекст своих задач, не путаясь и не теряясь в рабочем процессе. Пользователи могут вернуться на главную страницу только в том случае, если они взаимодействуют с модальным окном или закрывают его. Но как только они это сделают, они смогут продолжить с того места, на котором остановились.
Вверху: Пример модального окна
Когда лучше использовать модальные диалоговые окна?
Модальные окна — отличный способ привлечь внимание пользователей и побудить их к действию. Вот несколько способов, которыми вы можете использовать их для уведомления ваших пользователей о важной информации.
1. Адаптация пользователя
Модальные окна часто используются на этапе адаптации пользователя, чтобы поприветствовать новых пользователей и представить функции продукта. Их также можно использовать для сегментации пользователей и персонализации процесса адаптации в соответствии с их потребностями.
Soapbox — это бесплатное расширение Chrome от Wistia, которое позволяет пользователям записывать снимки экрана, показывая свое лицо. В этом примере адаптации пользователя (см. ниже) пользователи приветствуются модальным окном, когда они впервые входят в систему, в котором им задается несколько вопросов об их целях. А затем в том же окне пользователям также показываются наглядные подсказки о том, как работает приложение.
Модальное окно эффективно привлекает новых пользователей, выделяя ключевые функции и в то же время задавая вопросы, которые помогут обеспечить более персонализированный пользовательский опыт.
В другом примере, приведенном ниже, вы можете видеть, что модальное окно отображается для новых пользователей Salesforce Lightning. Это диалоговое всплывающее окно представляет пользователям видео при первом входе в приложение, а затем знакомит пользователей с процессом адаптации по всему приложению.
Вверху: Пример нового процесса адаптации пользователей, созданного с помощью решения Whatfix для адаптации пользователей.
2. Запуск новых функций
При общении с существующими пользователями модальные окна — отличный способ выделить и запустить новые функции, обновления или изменения дизайна продукта.
Например, когда Google обновил внешний вид своего календаря в 2017 году, модальное окно информировало пользователей об изменениях.
Заметная, но простая кнопка «Понятно» позволяет пользователям закрыть окно и сразу начать использовать приложение без каких-либо дальнейших прерываний.
3. Предупреждения и оповещения
Модальное окно может содержать предупреждение или уведомление, предупреждающее пользователей о последствиях действия, которое они собираются предпринять, особенно когда действие нельзя отменить или оно может привести к потере ценных или несохраненных данных. Задача завершается только тогда, когда пользователь предоставил подтверждение.
Например, в приложении для создания заметок и управления проектами Notion модальное окно не позволяет пользователям удалять что-либо из своей корзины, пока они не нажмут кнопку подтверждения. Модальное окно четко и лаконично предупреждает пользователей и помогает устранить любые дорогостоящие ошибки.
Как DAP помогают менеджерам по продуктам создавать и анализировать взаимодействие с приложением
Получите электронную книгу прямо сейчас!
Новая электронная книга
9 UX-советов по правильному использованию модальных окон (+примеры)
Вы уже находитесь на тонком льду, когда прерываете пользователей и заставляете их действовать, поэтому не создавайте для них плохой опыт с плохо разработанным модальным окном. Создавайте модальные окна, которые обеспечивают быстрое, целенаправленное и контекстуальное взаимодействие.
1. Используйте ясное и описательное название
Ваше модальное название должно четко и кратко излагать намерение модального окна. Оставьте любые пояснения, что делать в диалоге.
Wishpond использует четкий и короткий заголовок, чтобы рассказать пользователям, что именно они могут сделать — создать отличные кампании по привлечению потенциальных клиентов — если они создадут учетную запись на своей платформе для генерации лидов и автоматизации маркетинга.
2. Напишите четкий и краткий основной текст
Не ходите вокруг да около. Четко объясните своим пользователям, какие действия вы хотите, чтобы они предприняли, чтобы они могли быстро вернуться к использованию вашего приложения.
Например, Smart Blogger сообщает пользователям, что если они предоставят свои адреса электронной почты, они получат бесплатную шпаргалку за то, что станут писателем-фрилансером. Пользователь даже видит предварительный просмотр содержимого.
3. Включите прямой CTA
Модальные окна должны останавливать пользователей. Но чтобы убедиться, что они предпримут меры, напишите сильный и четкий призыв к действию.
Например, конструктор всплывающих окон Sleeknote имеет CTA с простым текстом, который обещает своим пользователям «бесплатный доступ ко всему». CTA также выделяется характерной зеленой кнопкой.
4. Ограничьте действия одной задачей
При работе с модальными окнами важно, чтобы ваши пользователи проводили в окне как можно меньше времени. Так что будьте проще и избегайте использования модального окна, требующего от пользователя выполнения слишком большого количества действий.
У Squarespace есть простой контрольный список для сбора отзывов пользователей. За считанные секунды пользователи могут выбрать вариант, а затем продолжить рабочий процесс с минимальным перерывом.
5. Предоставьте пользователям очевидный выход
Упростите для пользователей быстрый выход из модального окна, чтобы они могли вернуться к использованию вашего веб-сайта или приложения. Распространенные способы сделать это включают размещение «x», «нет, спасибо» или кнопки закрытия в модальном окне.
Например, пользователи могут легко увидеть и нажать кнопку x, нажать клавишу выхода или щелкнуть за пределами модального окна, чтобы продолжить просмотр веб-сайта Smithsonian Magazine.
6. Подберите размер окна
Ваше модальное окно не должно быть настолько большим, чтобы занимать весь экран. Но он также не должен быть слишком маленьким. Помните, его цель — привлечь внимание ваших пользователей.
Forbes искусно использовал модальное окно для рекламы своего саммита Power Women’s Summit, которое было достаточно большим, чтобы привлекать внимание, и достаточно маленьким, чтобы пользователи могли быстро закрыть его и вернуться к прокрутке.
7. Внедрение инициируемых пользователем модальных окон
Модальные диалоговые окна, инициируемые пользователем, запускаются, когда пользователи выполняют определенное действие, например, щелкают ссылку или кнопку. Поскольку диалоговое окно появляется как часть рабочего процесса, инициируемые пользователем модальные окна с меньшей вероятностью удивят или раздражат ваших пользователей.
Сравните это с модальными окнами, инициируемыми системой, такими как реклама, которая появляется случайным образом, и вы увидите, как модальные окна, инициируемые пользователем, работают лучше.
Miro, онлайн-платформа для совместной работы с досками, имеет инициируемое пользователем модальное окно, которое запускается при доступе к функции, доступной только для премиум-пользователей. Модальное окно ненавязчиво, поскольку оно появляется в середине рабочего процесса пользователя, и пользователь может либо обновить свой план, либо продолжить работу без дополнительной функции.
8. Сделать фоновые элементы временно недоступными
Чтобы подчеркнуть модальность, используйте наложение и ограничьте доступ к фоновой странице. Ваш оверлей должен быть достаточно темным, чтобы привлечь внимание пользователя к модальному окну, но достаточно светлым, чтобы он все еще мог видеть страницу, на которой находился.
Например, при регистрации новых пользователей Sellbrite использует темно-серую накладку на своей странице приветствия, которая позволяет пользователям заглянуть в свое приложение, удерживая их внимание на модальном окне перед ними.
9. Будь проще
Постарайся не переусердствовать и не напихать слишком много в коробку. Вместо этого сделайте ваш модальный контент ясным и простым. Если вы обнаружите, что слишком много вставляете в окно, это признак того, что вам может понадобиться альтернативное дизайнерское решение.
The New York Times соответствует всем требованиям и по-прежнему предлагает простой диалог, инициируемый пользователем, с минималистичным дизайном, коротким заголовком, кратким текстом модального текста и четким призывом к действию.
20 лучших плагинов с открытым исходным кодом для создания модальных всплывающих окон в 2022 году
Хотя вы можете встроить базовые модальные окна на свой сайт с помощью CSS и HTML, это может оказаться не самой доступной стратегией.
С помощью Whatfix вы можете создавать модальные окна без кода и другие элементы UX для обмена сообщениями в приложении, такие как всплывающие подсказки, интерактивные пошаговые руководства, обзоры продуктов, встроенные виджеты самопомощи и многое другое. Whatfix позволяет легко создавать эти настраиваемые интерактивные элементы для улучшения адаптации пользователей, принятия продукта и общего пользовательского опыта, не дожидаясь, пока ваша команда по продукту добавит их в дорожную карту.
С помощью Whatfix создавайте и запускайте модальные всплывающие окна — код не требуется!
Однако, если вы предпочитаете создавать модальные окна самостоятельно, мы понимаем. Вот 20 самых популярных плагинов с открытым исходным кодом для создания модальных всплывающих окон:
1. Tingle
Построенный полностью на JavaScript, Tingle не имеет зависимостей, полностью настраивается с помощью CSS и имеет простой API. Tingle также создан с учетом UX, поэтому он отзывчив и работает как на мобильных устройствах, так и на настольных компьютерах.
2. Vanilla Modal
Как следует из названия, Vanilla Modal работает на чистом ванильном JavaScript. Этот простой в использовании плагин крошечный, гибкий и не требует зависимостей. Он также поставляется с пользовательским CSS, поэтому вы можете изменить стиль окон.
3. jQuery Modal
jQuery Modal обеспечивает простой и простой способ отображения модальных окон с помощью jQuery. Он легкий (около 1 КБ в уменьшенном виде) и голый (без изображений). Он также поставляется с чистым макетом и минималистичным дизайном с простой разметкой, которая упрощает стилизацию.
4.animatedModal.js
animatedModal.js — это подключаемый модуль jQuery, который позволяет создавать полноэкранные модальные окна с переходами CSS3. Вы можете создать свои собственные переходы или изменить шаблоны из animate.css.
5. Подключаемый модуль jQuery jBox
jBox — гибкий, модульный и надежный подключаемый модуль jQuery. Он имеет мощную библиотеку, которая предлагает множество параметров для настройки внешнего вида и поведения ваших модальных окон. Он также отзывчивый и очень легкий (менее 30 КБ при минимизации и сжатии gzip).
6. Диалоги Vex
Диалоги Vex — это модальная библиотека JavaScript для мобильных устройств с простым API. Он легкий (около 2 КБ в сжатом виде и в сжатом виде), имеет широкие возможности настройки и поставляется с настраиваемой анимацией, стилями наложения и многим другим.
7. plainModal
В jQuery-плагине plainModal один из самых маленьких модальных скриптов. Его легко использовать, потому что это всего лишь один файл, в котором нет изображений или файлов CSS. Он также не имеет зависимостей и поставляется с базовыми функциями, которые вы можете настроить в соответствии со своей веб-страницей.
8. SweetAlert2
SweetAlert2 — красиво оформленная библиотека JavaScript, простая в настройке и использовании. Он не имеет никаких зависимостей, а его модальные окна просты в настройке, отзывчивы и полностью доступны на основе стандартов WAI-ARIA.
9. Bootbox.js
Bootbox.js — это небольшая библиотека JavaScript, позволяющая создавать программные диалоговые окна с использованием модальных окон Bootstrap. Он не требует кодирования HTML, а также доступна настройка типов кнопок, элементов ввода, раскрывающихся списков и т. д.
10. iziModal.js
iziModal.js — это альтернативный диалог jQuery, который легко генерирует модальные окна с различными стилями для различных целей. Он отзывчивый, полностью настраиваемый, простой в настройке и использовании.
11. Адаптивные модальные окна в дизайне материалов
Адаптивные модальные окна в дизайне материалов — это изящные адаптивные модальные окна, созданные с использованием CSS и JavaScript. Он прост в использовании, имеет небольшую библиотеку и не требует jQuery.
12. перышко.js
В соответствии со своим названием, файлfeatherlight.js легковесен; 400 строк JavaScript, 100 строк CSS, менее 6 КБ вместе взятых. Он умный, отзывчивый и поддерживает изображения, Ajax и iframe. Он также требует небольшого кода и легко настраивается в соответствии с вашими потребностями.
13. PicoModal
PicoModal работает на простом JavaScript. Он небольшой (около 2 КБ в минимизированном и сжатом виде), автономный (не требует дополнительных CSS или изображений) и не имеет зависимостей. Пользовательский интерфейс прост в использовании, и, изменив несколько параметров, вы можете настроить стили и поведение по умолчанию.
14. Modal.js для Bootstrap
Модальные окна Modal.js для Bootstrap создаются с использованием HTML, CSS и JavaScript. Модальные окна оптимизированы, но гибки и требуют минимальной функциональности. Он также имеет простой API, поэтому вам не нужно кодировать какой-либо JavaScript.
15. Avgrund
Avgrund — это простой ванильный модальный плагин jQuery. Его легко настроить, используя только CSS, файл JavaScript и пользовательскую анимацию.
16. Модальный
Modaal — это доступный модальный плагин WCAG 2.0, построенный на CSS и jQuery. Этот адаптивный плагин предоставляет множество функций для обеспечения гибкости и доступности и оптимизирован для вспомогательных технологий и программ чтения с экрана. Он также поставляется с поддержкой ARIA и требует минимальной настройки.
17. Boardal — модальное окно с Vue.js
Boardal — это модальный плагин JavaScript, специально созданный для пошаговой адаптации пользователей. Он включает в себя параметры для представления экранов горизонтально или вертикально в модальном окне.
18. ARIA-modal
Aria-modal — простой, простой в реализации плагин, построенный на TypeScript, JavaScript, HTML и CSS. Он также построен в соответствии с авторской практикой WAI-ARIA.
19. Morphing Modal
Morphing Modal — это простой в установке и настройке модальный плагин. Он основан на сочетании переходов и преобразований CSS, jQuery и Velocity. Когда пользователь нажимает кнопку CTA, он запускает модальное окно во всю ширину.
20. Модальные окна на основе Flexbox
Модальные окна на основе Flexbox созданы на основе CSS и jQuery, они просты, отзывчивы, легко интегрируются и расширяются и не зависят от каких-либо библиотек.
Заключительные мысли о модальных окнах
Независимо от того, решите ли вы использовать Whatfix для создания модальных окон или какой-либо из упомянутых выше плагинов, обязательно используйте их экономно и с твердым намерением. Хотя в некоторых случаях вам нужно привлечь внимание пользователей, старайтесь не делать это за счет пользовательского опыта. Будьте тактичны в их использовании, чтобы улучшить ваш UX, улучшить работу пользователей, вызвать новые функции и предупредить пользователей об ошибках.
Готовы узнать больше? Начните работу с Whatfix прямо сейчас!
Поделиться на facebook
Поделиться на Twitter
Поделиться на linkedin
Содержание
Похожие сообщения
Подпишитесь, чтобы получать новый контент прямо в свой почтовый ящик.
Спасибо за подписку!
Подпишитесь на нашу рассылку и ежемесячно получайте новый контент на свой почтовый ящик.
Модальные окна в современном веб-дизайне — Smashing Magazine
- 14 минут чтения
- Вдохновение, Витрины, Взаимодействие с пользователем
- Поделиться в Twitter, LinkedIn
Об авторе
Мэтт Кронин — заядлый графический дизайнер, веб-дизайнер/разработчик, программист Cocoa, фотограф, цифровой художник и т. п. Он также любит писать и делает… Больше о Мэтт ↬
Веб-дизайн — это организация информации в удобочитаемом, удобном, функциональном и доступном формате. Хорошая организация контента имеет решающее значение, и вам нужен надежный макет, на основе которого вы сможете построить веб-сайт. Вы можете использовать многочисленные элементы и структуры интерфейса для организации контента, такие как ползунки контента на основе jQuery и модальные окна , которые в основном представляют собой окна, плавающие над страницей. Модальное окно имеет много преимуществ. Например, когда модальное окно содержит меньший элемент, пользователю не нужно загружать совершенно новую страницу только для того, чтобы получить к ней доступ (другой способ добиться того же эффекта, например, с помощью вкладок на основе AJAX). Предоставляя модальные окна, вы повышаете удобство использования вашего сайта. Необходимость загружать страницы снова и снова будет раздражать большинство пользователей, поэтому избегать этого, безусловно, полезно. Модальные окна также позволяют сэкономить место, избавившись от больших элементов, которые не должны быть на главной странице. Например, вместо того, чтобы размещать полное видео на странице, вы можете просто предоставить ссылку, миниатюру или какую-либо кнопку. В этой статье мы рассмотрим лучшие практики и тенденции для работы с модальными окнами и их создания . Мы также предоставим множество примеров хорошо сконструированных модальных окон и несколько скриптов, которые помогут вам начать их создание.Веб-дизайн — это организация информации в удобочитаемом, удобном, функциональном и доступном формате. Хорошая организация контента имеет решающее значение, и вам нужен надежный макет, на основе которого вы сможете построить веб-сайт. Вы можете использовать многочисленные элементы и структуры интерфейса для организации контента, такие как ползунки контента на основе jQuery и модальные окна , которые в основном представляют собой окна, плавающие над страницей.
Модальное окно имеет множество преимуществ. Например, когда модальное окно содержит меньший элемент, пользователю не нужно загружать совершенно новую страницу только для того, чтобы получить к ней доступ (другой способ добиться того же эффекта, например, с помощью вкладок на основе AJAX). Предоставляя модальные окна, вы повышаете удобство использования вашего сайта. Необходимость загружать страницы снова и снова будет раздражать большинство пользователей, поэтому избегать этого, безусловно, полезно. Модальные окна также позволяют сэкономить место, избавившись от больших элементов, которые не должны быть на главной странице. Например, вместо того, чтобы размещать полное видео на странице, вы можете просто предоставить ссылку, миниатюру или какую-либо кнопку.
В этой статье мы рассмотрим лучшие практики и тенденции для работы с модальными окнами и их создания . Мы также предоставим множество примеров хорошо сконструированных модальных окон и несколько скриптов, которые помогут вам начать их создание.
Вам могут быть интересны следующие статьи по теме:
- 30 Скрипты для галерей, слайд-шоу и лайтбоксов
- Как использовать элементы справки для улучшения дизайна
- 8 Макетные решения для улучшения дизайна
- Проектирование выпадающих меню: примеры и передовой опыт
- Хлебные крошки в веб-дизайне
Больше после прыжка! Продолжить чтение можно ниже ↓
Когда использовать модальные окна
Модальные окна — отличный структурный элемент, но они подходят не для каждого типа контента или мультимедиа. Вот несколько элементов, для которых вам следует рассмотреть возможность использования модальных окон.
Лайтбокс для изображений/видео
Наиболее очевидным применением модальных окон является лайтбокс, который демонстрирует изображения и видео в чистом и удобном виде. Используя лайтбокс для изображений, пользователям не нужно загружать новую страницу только для просмотра одного изображения или видео. Модальные окна также экономят место в макете содержимого, позволяя отображать только миниатюру изображения или видео, которое открывает модальное окно при нажатии. Используя миниатюру вместо всего элемента, вы занимаете гораздо меньше места, а макет выглядит более организованным.
Кроме того, вы обычно размываете или затемняете фон за модальным окном, фокусируясь на самом изображении или видео, таким образом создавая прекрасную среду, в которой посетители сайта могут просматривать медиафайлы. Для получения подробной информации о затухании и размытии фона модального окна см. рекомендации по стилю, описанные ниже.
При использовании лайтбокса для галереи изображений обязательно свяжите каждое изображение с одним и тем же лайтбоксом, предоставив кнопки «Далее» и «Назад», чтобы пользователи могли легко перемещаться по набору изображений. Тогда пользователю не нужно закрывать и снова открывать модальное окно для просмотра каждого изображения в галерее.
Контактные формы
Часто можно увидеть контактные формы, содержащиеся в модальных окнах. Модальные окна хорошо подходят для этой цели, потому что вам не нужно создавать полную страницу для этой функции. С точки зрения удобства использования важно, чтобы контактные формы были сразу доступны и их было легко найти. Используя плавающее окно, контактные формы легко доступны на каждой странице. Контактные формы, как правило, небольшие, поэтому они прекрасно впишутся в эти окна.
Формы регистрации/входа
Вместо того, чтобы создавать отдельную страницу для входа и регистрации пользователей на вашем сайте, вы можете использовать модальное окно, которое на самом деле часто используется для этой цели. Такой подход делает форму доступной на каждой странице для облегчения доступа. Вы можете включить ссылку на окно входа в шапку сайта.
Предупреждения/уведомления
Если вы хотите предупредить пользователей о важной функции или происходящем действии, лучше всего это сделать через модальное окно. Когда на странице открывается модальное окно, пользователь не может игнорировать его, потому что оно появляется прямо в середине экрана, именно там, куда смотрит пользователь. Кроме того, остальная часть контента будет затемнена и отключена, поэтому пользователь не сможет ничего сделать, пока не посмотрит на окно и не щелкнет, чтобы закрыть его. На снимке экрана ниже вы можете видеть модальное окно, используемое для оповещения пользователей о загрузке.
Обратите внимание, что вы не должны использовать модальное окно в качестве альтернативного всплывающего окна. Обязательно предупредите своих посетителей только в том случае, если произошло что-то важное для текущего сеанса просмотра. Во многих ситуациях простой затемненный блок в макете будет работать лучше, чем модальное окно.
Элементы справки/подсказки
Дополнительные элементы справки и подсказки не важны для функциональности и навигации по веб-сайту, поэтому вы не хотите, чтобы они занимали место и мешали содержимому. В любом случае не все пользователи хотят их использовать. Однако они должны быть удобно расположены для тех, кто хочет их использовать, поэтому представляется разумным отображать элементы справки и подсказки в модальных окнах. Пользователи могут легко открывать и закрывать их, не мешая содержимому и функциональности.
Ниже приведен хороший пример элемента справки в плавающем окне. Это окно намного меньше, чем другие, которые мы видели; но он содержит аналогичные функции. Например, полупрозрачная рамка для визуального разделения и кнопка «выход» (закрыть) в правом верхнем углу.
Окна поиска
Это менее распространенная практика, но иногда вы будете видеть модальные окна, содержащие окна поиска. Функциональность расширенного поиска может занимать довольно много места, поэтому, чтобы большое окно поиска не занимало места от содержимого, вы можете поместить его в плавающее окно. Вы можете увидеть это на практике на скриншоте ниже.
Встраивание PDF-файлов
Иногда вам нужно встроить файлы на свой веб-сайт, например PDF-файл вашего резюме. Вместо предоставления ссылки, по которой пользователи могут щелкнуть, чтобы загрузить PDF-файл на свой компьютер, или встраивания PDF-файла каким-либо другим способом, вы можете использовать модальное окно для той же цели. Таким образом, PDF-файл можно легко просмотреть, не нарушая работу пользователя с веб-сайтом. Размывая фон, вы также фокусируете внимание на PDF-файле, что повышает удобство использования.
Практики удобства использования и стиля
Ниже приведен список методов и тенденций удобства использования и стиля, которые следует учитывать при создании модальных окон.
Размытие и исчезновение фона окна
Первостепенное значение для удобства использования и стиля имеет затемнение страницы за плавающим окном. Вы увидите, что это практикуется почти везде, чаще всего с лайтбоксами для медиа. Затухая страницу, вы привлекаете все внимание пользователя к плавающему окну. Если фон не исчезает, пользователь может даже не сразу понять, что окно «парит» над страницей и не является частью основного макета. Появление окна, физически плавающего над страницей, также придает объемность вашему сайту. Это выглядит чище и устраняет путаницу. В целом, затухание обеспечивает столь необходимое разделение между окном и страницей, улучшая функциональность и удобство использования.
Убедитесь, что затенение сильное, но оставьте небольшую непрозрачность, чтобы пользователь знал, что страница не исчезла. Например, черный переход с непрозрачностью около 75% будет работать хорошо. Но для веб-сайтов с белым фоном затените страницу белым цветом с небольшой непрозрачностью и используйте тень.
Иногда вы увидите модальное окно, которое не закрывает всю страницу, а вместо этого имеет сильную тень под ним, чтобы добавить размерности. Это создает тот же эффект и обеспечивает аналогичное визуальное разделение. Вы можете увидеть, как эта техника отлично используется на скриншоте ниже.
Стратегия выхода: кнопка, щелчок за пределами окна, клавиша Escape
Для повышения функциональности всегда размещайте кнопку выхода в верхнем углу окна. Стандартной практикой является использование простой круглой кнопки с изображением «x», что является чистым и очевидным для пользователя. В лайтбоксе, показанном ниже, хорошо видна кнопка выхода.
Другие способы разрешить пользователям закрывать модальные окна — позволить им щелкнуть за пределами окна на предыдущей странице, щелкнуть отображаемый элемент в модальном окне или нажать клавишу Escape один раз.
Отключить все функции страницы за окном. Он должен быть сфокусирован, и никакие кнопки не должны быть нажаты, когда модальное окно открыто. Плавающее окно должно быть отделено от остального содержимого, поэтому отключение страницы ниже создает лучшее разделение. Тем не менее, сохранение функции прокрутки страницы — хорошая идея, чтобы у пользователей была хотя бы некоторая свобода вернуться к странице, если это необходимо.
Использование эффектов перехода
Эффекты перехода — это мелкие детали, которые выглядят очень красиво, если все сделано правильно. Один из хороших эффектов перехода для модальных окон — появление и исчезновение. Но не переусердствуйте, чтобы не раздражать пользователей. Держите затухание кратким, но слегка заметным.
В приведенном ниже примере размытый серый фон появляется и исчезает, создавая великолепный эффект.
Скрипты, инструменты и плагины для лайтбоксов и модальных окон
Когда вы начнете процесс интеграции модальных окон, вы, вероятно, захотите что-то построить. Вот 11 отличных скриптов и плагинов jQuery, на которых можно основывать свои модальные окна. Каждый из них имеет свои уникальные особенности и функции, так что проверьте их все.
Модный лайтбокс Это один из лучших плагинов jQuery для лайтбоксов. Он хорошо оформлен и очень функционален. Он имеет чистый стиль, функции маркировки и интеграцию с веб-сайтом, а также работает с AJAX.
Лайтбокс 2 Это оригинальный скрипт лайтбокса, созданный только для изображений. Он просто оформлен и поддерживает просмотр набора изображений.
Средство просмотра изображений/контента Facebook Вот отличный скрипт, основанный на плавающем окне Facebook. Это окно поддерживает изображения и контент и похоже на известное окно Facebook.
Лайтбокс Woork Mootools В этом превосходном руководстве от Woork показано, как создать простой скрипт лайтбокса. Сценарий включает в себя функции набора изображений и функции меток.
Подключаемый модуль jQuery nyroModal Этот простой оконный плагин поддерживает все типы медиа и файловых сценариев, включая AJAX. Он также имеет несколько отличных эффектов отображения/скрытия.
Диалоговое окно предупреждений jQuery Этот подключаемый модуль jQuery предназначен для предупреждений и диалоговых окон. Он имеет множество функций и очень хорошо работает для отправки сообщений пользователям.
LightWindow Вот всеобъемлющий сценарий лайтбокса со многими функциями, такими как встраивание PDF, поддержка нескольких галерей изображений, реализация SWF и многое другое.
Класс окна прототипа Еще один подробный набор сценариев с различными функциями, такими как диалоговые окна, окна входа в систему, окна содержимого AJAX, лайтбоксы изображений и многое другое.
Толстая коробка 3.1 Один из самых популярных инструментов лайтбокса, ThickBox. Он работает с изображениями, встроенным контентом и AJAX.
красивая фотография Хорошо оформленный лайтбокс для изображений, который хорошо работает с наборами изображений.
Разоблачение jQuery Это немного отличается от скрипта модального окна. Этот раскрывает выбранные элементы HTML. Когда вы щелкаете определенный элемент, остальная часть страницы исчезает. Это отличная альтернатива модальному окну: оно по-прежнему затеняет страницу, чтобы сфокусировать внимание на элементе.
Витрина модальных окон
Grooveshark Grooveshark — хорошо сконструированное и стильное приложение, и модальные окна — не исключение. Модальное окно с затемненной страницей используется для входа в систему и регистрации.
Дигг Digg — еще один пользовательский веб-сайт с функциями входа и регистрации в плавающем окне. Ссылка для входа находится в шапке сайта. Обратите внимание, что вместо затемнения и тени используется полупрозрачная рамка. Граница обеспечивает более визуальное разделение.
Трейлеры Apple Movie Apple использует модальные окна во многих местах. Здесь вы можете увидеть окно, используемое для просмотра трейлеров к фильмам. Окно построено так, чтобы большие видеофайлы не влияли на производительность окна.
Apple iMac: Галерея дизайна Еще один пример модальных окон на сайте Apple. Они имеют чистый, простой стиль с сильной тенью для визуального разделения.
Шпионаж Еще один хороший пример лайтбокса для изображений. В этом случае изображение доходит до края окна, а кнопка выхода накладывается прямо на изображение. Здесь не нужна граница из-за сильного цветового контраста.
Daylite 3 Хороший пример окна с затемненным фоном. Несколько страниц контента объединены здесь в одном модальном окне.
Еще одна контактная форма, на этот раз со знакомым элементом «Отправить другу», который обычно размещается в модальном окне. Поскольку фон веб-сайта в основном темный, для разделения используется светлая полупрозрачная рамка.
Фейсбук Очень узнаваемое модальное окно Facebook. Этот содержит информацию, связанную с элементом справки в форме регистрации. Снова сильная полупрозрачная граница.
KISSmetrics Вот отличная форма входа в модальное окно. Форма хорошо оформлена и содержит элементы справки для повышения удобства использования: то, что функция входа в систему находится в модальном окне, не означает, что вы можете пренебрегать удобством использования.
Зал Наси Бриани Еще одна форма входа, немного другая. Вместо полноценного модального окна это просто всплывающее окно с небольшой формой.
Pixelight Creative Лайтбокс на сайте портфолио фрилансера. Когда вы щелкаете один из элементов портфолио, в лайтбоксе открывается увеличенный вид.
Каподастр Еще одно хорошо оформленное окно, на этот раз видео с обзором программного обеспечения, что является обычной практикой. Этот также содержит простую границу с небольшой тенью.
Принять идеи Это плавающее окно прикреплено к окну поиска. Когда вы вводите запрос, результаты отображаются в самом модальном окне. Окно имеет базовые функции, включая кнопку выхода и рамку.
Типографский настольный справочник Очень простое модальное окно с сильной тенью, которая добавляет глубину.
Веб-приложение Evernote На этом снимке экрана показано предупреждение, которое вы получаете при открытии веб-приложения Evernote. Обратите внимание, как сильно исчезает страница, из-за чего все внимание сосредоточено на содержимом окна.
Айсберг Еще одна форма регистрации в плавающем окне. У этого нет затухания или тени, но есть граница для разделения.
Корпоративный Viewzi Красиво оформленное модальное окно. Обратите внимание на большую чистую кнопку выхода в верхнем углу, щедрое отступы в окне и полупрозрачный фон.
Почтовый шимпанзе Этот лайтбокс имеет полупрозрачную рамку, и страница исчезает.
Резуматор Обратите внимание на то, насколько сильно фон изображения контрастирует с фоном страницы. Здесь используется этикетка, но она не прикреплена к окну, что создает очень красивый вид.
Приложение для оформления заказа Хорошо оформленное модальное окно с изображением. Это окно имеет небольшую тень, чтобы добавить глубины, и сплошную границу, чтобы обеспечить большее разделение и обрамление изображения.
Пиксельматор Еще один пример хорошего оповещения о загрузке. Это оповещение появляется сразу после начала загрузки. Обратите внимание на отличный стиль, например, на небольшую непрозрачность окна.
Бейсбольный стадион Вот модальное окно для видео, обычное для корпоративных и программных веб-сайтов, таких как этот. Чаще всего вы видите видео QuickTime и SWF в модальных окнах, но в этот встроено видео с Vimeo. Отличный плавный переход и исчезновение тоже.
Рюкзак Еще одно окно с видео. Обратите внимание еще раз, как страница становится светлее, а не темнее.
Гифкс Лайтбокс с изображением для портфолио — всегда отличная идея, если вы хотите включить изображения большего размера, чтобы показать детали своей работы.
Дополнительные ресурсы
Вам могут быть интересны следующие публикации по теме:
- 30 Скрипты для галерей, слайд-шоу и лайтбоксов
- Как использовать элементы справки для улучшения дизайна
- 8 макетов для улучшения вашего дизайна
- Проектирование выпадающих меню: примеры и передовой опыт
- Навигационные цепочки в веб-дизайне
Большой, смелый UX — использование модальных окон для взаимодействия с пользователем в приложении
Можете ли вы подумать продукта или веб-сайта, который был испорчен слишком большим количеством всплывающих окон? Время, когда ваш рабочий процесс или работа в Интернете были прерваны полноэкранным захватом без выхода? Надоедливое уведомление просто не приняло бы подсказку?
Конечно можно. Такое плохое поведение UX, к сожалению, распространено.
Поскольку модальные окна обладают способностью привлекать внимание, их часто рассматривают как быстрое решение всего, что может повысить вовлеченность.
Модальные окна должны быть выделены жирным шрифтом, и при правильном использовании они являются отличным способом доставки сообщений, заслуживающих полного внимания пользователей. Многие компании — Google, Grammarly, HubSpot, Spotify и другие — успешно используют их для адаптации пользователей и подталкивания их к эффективным действиям.
В этой статье мы поговорим о том, что делает хорошим модальным окном и как вы можете использовать этот шаблон пользовательского интерфейса для улучшения вашего UX и вовлечения (а не раздражения) ваших пользователей.
Что такое модальное окно?
Модальные окна (также известные как модальные окна, наложения и диалоговые окна) — это большие элементы пользовательского интерфейса, которые располагаются поверх главного окна приложения — часто со слоем прозрачности позади них, чтобы пользователи могли заглянуть в главное приложение.
Чтобы вернуться к основному интерфейсу приложения, пользователи должны взаимодействовать с модальным слоем. Поскольку они по своей природе и преднамеренно разрушительны, их нельзя использовать легкомысленно.
Преимущества и варианты использования модальных окон
Модальные окна лучше всего использовать для заслуживающих внимания объявлений и важной информации, например приветственных сообщений или обновлений, которые нельзя пропустить. Поскольку они не привязаны к какому-либо конкретному элементу, они, как правило, лучше работают для общих сообщений в приложении, а не для контекстной помощи.
Некоторые распространенные варианты использования включают:
1. Регистрация пользователей
Модальное окно может быть как раз для простого приветственного сообщения, которое тепло приветствует новых пользователей.
Zapier добавляет немного удовольствия к своему приветственному сообщению с помощью анимированных конфетти.Если вам есть что сказать, мультимодальные потоки могут стать отличным способом привлечь новых пользователей к вашему продукту. Индикаторы прогресса помогают мотивировать пользователей пройти многоступенчатую адаптацию или обзор продукта.
Grammarly использует серию модальных окон, чтобы знакомить новых пользователей с важными функциями, повторяя при этом основные ценностные предложения продукта.2. Объявления о функциях
Крупные объявления, такие как изменение дизайна продукта или выпуск долгожданной функции, часто заслуживают большого модного внимания.
Calendly использовал одно простое модальное окно, чтобы объявить о новой интересной функции (автоматические последующие электронные письма).ПОВЫШЕНИЕ ВОВЛЕЧЕННОСТИ
Создавайте пиксельные сообщения в приложении
- Предоставьте пользователям удобный пользовательский интерфейс, предоставляя контекст и подсказки в приложении, когда им это нужно
- Максимально используйте ограниченное пространство экрана с модальными окнами
3.
Дополнительный пользовательский вводМодальные окна также можно использовать для сообщений об успешном завершении, важных предупреждений и других вещей, требующих дополнительного ввода пользователя, будь то форма или подтверждение одним щелчком мыши. Эти инциденты стоит прерывать в рабочем процессе, если они имеют важные последствия, такие как удаление чего-либо, сохранение прогресса, совершение покупки и т. д.
InVision использует модальное окно, чтобы потребовать от пользователя дополнительного ввода перед удалением прототипа. Это важное действие, и шаблон пользовательского интерфейса, привлекающий внимание, полезен для предотвращения случайного удаления данных.Некоторые модальные окна занимают полноэкранный режим пользователя, блокируя видимость вашего приложения и полностью фокусируя пользователя на сообщении и опыте адаптации пользователя перед ним. Мы называем этот шаблон полным захватом экрана. Особенно на настольных компьютерах этот шаблон пользовательского интерфейса лучше всего зарезервировать для критически важной информации или когда есть необходимые входные данные, которые пользователь должен выполнить, прежде чем он сможет выполнить действие.
Недостатки
Модальные окна по своей природе разрушительны.
Для небольших объявлений используйте более тонкие шаблоны пользовательского интерфейса. Слайды и баннеры часто больше подходят для предоставления мгновенной обратной связи или обычных объявлений (как это делает Datadog в приведенном ниже примере).
Для контекстных сообщений, которые относятся к определенным элементам или функциям страницы (как в примере с HubSpot ниже), всплывающие подсказки часто являются лучшим выбором.
Когда вы хотите предложить контекстную помощь (например, во время обзора продукта), всплывающие подсказки лучше справляются с задачей привлечения внимания к одному конкретному элементу на странице или направляют пользователей через действия, которые им необходимо предпринять в данный момент.
Вы можете прочитать все о небольшой, но мощной всплывающей подсказке здесь.
Советы по созданию отличного модального дизайна
Итак, теперь, когда вы знаете, когда использовать модальное окно — и когда вам лучше использовать меньший шаблон пользовательского интерфейса — стоит поближе взглянуть на то, как на самом деле выглядит хороший модальный дизайн.
Конечно, универсального шаблона не существует, но есть несколько практических правил, которые стоит запомнить. Давайте разберем это:
💯 Заголовок
Заголовок модального окна должен с первого взгляда сообщать пользователям, что это за модальное окно.
- Для модальных окон для пользователей начните с некоторой итерации «Добро пожаловать в {ваш продукт}» или «Добро пожаловать, {имя}».
- Для анонсов функций используйте такие слова, как «Представляем» или «Новинка», чтобы привлечь внимание пользователя.
- Модальные окна подтверждения должны четко повторять предполагаемое действие. Например: «Удалить фото?»
🖼 Графика
Одним из самых больших преимуществ модальных окон по сравнению с меньшими шаблонами является то, что они могут легко вмещать визуальный контент. Изображения можно добавлять под заголовком или в качестве основного изображения для дополнительного акцента. Короткие видеоролики или GIF-файлы могут помочь продемонстрировать, как работает функция, добавить человечности или даже немного юмора.
📝 Основной текст
Основной текст может состоять как из нескольких коротких абзацев, так и из предложения. Как и в любом письме UX, будьте ясны и лаконичны.
🏃 Кнопка призыва к действию
Строгий, ориентированный на действия язык лучше всего подходит для призывов к действию. Хотя призывы к действию могут быть интригующими, не будьте слишком загадочными. Лучшие из них убедительно намекают на то, что будет дальше.
Для вдохновения узнайте больше о том, какие сильные слова находят отклик у пользователей.
🙅 Выход(ы)
Не держите своих пользователей в заложниках. Пользователям должно быть легко выйти из модального окна и вернуться в основное приложение.
Модальные окна могут включать как кнопку «X», так и призыв к действию для выхода. Они также могут закрываться, если пользователь выходит из модального окна.
⏳ Индикаторы выполнения
При использовании серии модальных окон индикатор выполнения работает, чтобы поддерживать мотивацию пользователей и сообщать им, сколько еще шагов осталось в потоке. Тонкие точки (например, те, которые использует Google), простая дробь или классическая полоса могут сильно повлиять на то, завершат ли люди модальную серию.
Взгляните на модальное окно Календаря Google ниже. Здесь нет индикатора выполнения, так как это один шаг, но все остальные компоненты хорошего модального окна присутствуют: описательный заголовок, фирменная графика, информативный основной текст и возможность выйти с действием или без него.
Использование модальных окон для мобильных приложений
Модальные окна также могут быть мощным инструментом для взаимодействия с мобильными приложениями. Поскольку мобильные экраны предлагают ограниченное пространство, грань между мобильными модальными окнами, слайдами и даже всплывающими подсказками может стать немного размытой — большая всплывающая подсказка может начать выглядеть как маленькое модальное окно на ладони.
Это может быть ограничением — каждое сообщение в приложении может показаться гораздо более разрушительным на мобильных устройствах — но также открывает интересные возможности для владельцев приложений и маркетологов.
В то время как использование модального окна для дополнительных продаж подписке более высокого уровня может показаться немного агрессивным на настольных компьютерах, например, дополнительные продажи — прекрасный вариант использования мобильного модального окна при продуманном подходе.
Duolingo использует серию игривых анимированных модальных окон, чтобы подтолкнуть постоянных пользователей к своему продукту премиум-класса.Предоставление разрешений — еще один распространенный вариант использования модальных окон на мобильных устройствах:
Skyscanner использует модальное окно с частичным экраном, чтобы предложить пользователям включить уведомления после того, как они завершат свой первый поиск рейса в приложении.Хотите узнать больше об использовании мобильных модальных окон? Ознакомьтесь с этими 8 примерами отличных мобильных модальных окон, которые порадуют и привлекут пользователей вашего приложения для получения полной информации.
Сохранение модальных окон для эффективного обмена сообщениями
Модальные окна беззастенчиво выделены жирным шрифтом. Используйте их экономно и убедитесь, что содержащиеся в них сообщения приносят пользу, чтобы привлечь, а не разозлить ваших пользователей.
Если вы хотите создавать и экспериментировать с модальными окнами, которые выглядят естественно для вашего приложения (и не требуют написания кода или помощи разработчиков для запуска и запуска), попробуйте Appcues !
Дизайн модальных окон, темы, шаблоны и загружаемые графические элементы на Dribbble
Просмотр всплывающего окна/наложения
Всплывающее окно/наложение
View Figma UI kit Система дизайна React — Шаблон всплывающего диалогового окна
Комплект пользовательского интерфейса Figma Система дизайна React — Шаблон всплывающего диалогового окна
Просмотр компонентов пользовательского интерфейса (легкий)
Компоненты пользовательского интерфейса (светлые)
Модальный установщик просмотра интеграции | Кузница сплавов
Модальный установщик интеграции | Кузница сплава
Просмотр Share_modals
Share_modals
Посмотреть продолжение по электронной почте
Дальнейшие действия по электронной почте
Просмотр управления тегами
Управление тегами
View Daily UI 016: всплывающее окно/наложение
Ежедневный пользовательский интерфейс 016: всплывающее окно/наложение
Просмотреть службу продвижения Dribbble — компоненты пользовательского интерфейса
Служба продвижения Dribbble — компоненты пользовательского интерфейса
Просмотр модальных окон и вход
Модальные окна и вход
Посмотреть демонстрацию расписания Исследование
Расписание демонстрационных исследований
Просмотр приложения «Диск»
Приложение «Диск»
Просмотр мобильных диалоговых окон
Мобильный диалог Windows
Просмотр правил управления
Управление правилами
View Figma UI kit Система дизайна React — темная тема Modals
Комплект пользовательского интерфейса Figma Система дизайна React — Темная тема Modals
Просмотр модального окна
Модальное окно
Просмотр сброса пароля
Сброс пароля
Модальное окно «Поделиться»
Режим обмена
Просмотр Логин — Модальный
Логин — модальный
Просмотреть предложение уведомлений
уведомления предлагают
Просмотр Schedule_modal
Schedule_modal
Посмотреть Поделиться новостью
Поделиться новостью
Просмотр модальных окон — всплывающие окна
Модальные окна — всплывающие окна
Посмотреть презентацию встречи
Презентация
Зарегистрируйтесь, чтобы продолжить или войдите в систему
Загрузка еще. ..
Модальные диалоговые окна — Доступ и использование
Модальное диалоговое окно появляется вверху страницы после некоторых действий пользователя. Ожидает ввода пользователя. Содержимое страницы ниже сейчас неактивно. Часто затемняется.
Модальное диалоговое окно может иметь разные цели: пользователю может быть предложено выбрать один из нескольких вариантов, подтвердить действие до его выполнения, изменить некоторые настройки или другие данные, написать комментарий или сообщение.
Модальное диалоговое окно в действии
В следующем видео показано типичное модальное диалоговое окно в действии.
Описание видео
На странице twitter.com (после авторизации) кнопка «Твитнуть» открывает модальный диалог для ввода сообщений.
- Пользователь нажимает кнопку «Tweet» в правом верхнем углу и активирует ее нажатием ENTER.
- Откроется модальное диалоговое окно, фокус установлен на текстовое поле.
- Пользователь набирает «Привет!» в текстовое поле.
- Вкладки через несколько элементов управления к кнопке «Твитнуть»
- Он активирует кнопку «Твитнуть» клавишей ENTER.
- Твит «Привет!» отправляется, и модальное диалоговое окно закрывается.
Различные типы модальных диалоговых окон
Модальное диалоговое окно является обычным элементом в обычном программном обеспечении. В веб-контенте он впервые появился как небольшие серые сообщения системного типа, генерируемые браузером, которые авторы могли отображать при использовании предупреждения или подтверждения Javasript.
Эти сообщения невозможно было стилизовать и они были сильно ограничены по содержанию, поэтому авторы начали создавать собственные модальные диалоги, используя div
s.
Повышение важности веб-контента на мобильных устройствах привело к сокращению количества модальных диалогов — по крайней мере, если под диалогом понимается псевдоокно поверх неактивного фона страницы. На сайтах, оптимизированных для мобильных устройств, модальное диалоговое окно обычно представляет собой еще одно полноэкранное промежуточное представление.
Наконец, в HTML5 есть собственный диалог, который должен облегчить жизнь авторам и пользователям. К сожалению, браузерная поддержка нативного диалогового окна все еще слишком плоха для уверенного использования его в Интернете (сравните Текущее состояние доступности модального диалогового окна). Microsoft Internet Explorer и Edge, а также браузер Apple Safari Browser не поддерживают его, а Firefox пока поддерживает его только тогда, когда он включен вручную (о чем большинство пользователей не знают). Однако существует полифилл диалога, который будет генерировать резервные пользовательские диалоги в браузерах, не поддерживающих собственные диалоги. (Примечание: мы не проверяли, насколько хорошо это работает).
Типичные проблемы с удобством использования модальных диалоговых окон
Проблемы для пользователей с клавиатурой — нет доступа к диалоговому окну
Самая серьезная проблема с удобством использования, вызванная модальными диалогами, заключается в том, что они часто недоступны для пользователей с клавиатурой, и особенно для пользователей программ чтения с экрана. Когда всплывает диалоговое окно, оно часто вставляется в конец или начало исходного кода страницы. Это означает, что диалоговое окно находится далеко от элемента управления, из-за которого оно появилось. Когда пользователь нажимает кнопку и открывается диалоговое окно, фокус очень часто не устанавливается на диалоговое окно. Пользователи клавиатуры не могут взаимодействовать с содержимым диалога — или они могут добраться до него только после перехода через всю страницу.
Проблемы для пользователей программ чтения с экрана — они даже не замечают диалоговое окно
В то время как зрячие пользователи клавиатуры, по крайней мере, видят, что диалоговое окно появилось, и ждут некоторого взаимодействия, слепые пользователи часто даже не замечают, что диалоговое окно появилось. Фокус блуждает по фону страницы, пока логика программы застревает — она ждет ввода в диалог.
Проблемы пользователей программ чтения с экрана — плохо помеченные или недоступные с клавиатуры элементы диалогового окна
Другие частые проблемы заключаются в том, что такие важные элементы, как кнопка закрытия, не доступны с клавиатуры, вообще не помечены или помечены на неправильном языке.
Проблемы с виджетами из среды разработки
Одна из причин, по которой так много диалогов, используемых в Интернете, вызывает проблемы, заключается в том, что многие разработчики используют готовые виджеты, предоставляемые их средой разработки или библиотеками JavaScript. Эти встроенные диалоги часто не содержат role=dialog
, поэтому они не будут объявляться пользователями программ чтения с экрана как диалоги. Только некоторые устанавливают фокус на диалоговое окно, почти все не могут снова установить его на триггер — тогда пользователи обнаружат, что их фокус находится в начале страницы.
Для некоторых наиболее известных фреймворков Javascript и CSS были разработаны плагины или виджеты, которые помогают улучшить доступность. Примерами являются ngA11y для Angular, плагин bootstrap-accessibility-plugin для Bootstrap и полностью доступное модальное окно для React.
Примеры
В следующих примерах показаны типичные проблемы удобства использования при взаимодействии с модальными диалоговыми окнами.
1 Использование для слабовидящих: поиск модального диалогового окна
Использование сильного увеличения означает, что диалоговые окна часто открываются полностью или частично за пределами видимой в данный момент части экрана.
Описание видео
Пользователь с плохим зрением, работающий с лупой Windows 10 с увеличением 700%, использует Twitter (twitter.com, после входа в систему) и хочет опубликовать твит.
- Сначала он закрывает раздел уведомлений, в котором его просят подтвердить адрес электронной почты.
- Он ищет в верхней части страницы вправо, находит кнопку «Twitter» и нажимает на нее.
- На затемненном фоне открывается модальный диалог для написания твита, за пределами видимого в данный момент раздела.
- Пользователь перемещает курсор мыши, после чего появляется видимая часть.
- Пользователь обнаруживает модальный диалог с полем ввода текста для твита.
2 Использование клавиатуры, невизуальное использование: плохая видимость фокуса, плохое управление фокусом, немаркированные элементы управления
На следующем видео показан пользователь клавиатуры, пытающийся взаимодействовать с диалоговым окном. Программа чтения с экрана была включена, чтобы указать, где находится фокус — для зрячих пользователей клавиатуры он вообще не виден.
Описание видео
На странице simplesite.com, которая представляет собой набор инструментов для визуального создания простых веб-сайтов, пользователь с клавиатурой взаимодействует с модальным диалоговым окном для выбора элементов веб-контента.
- Пользователь с клавиатуры фокусирует кнопку «ДОБАВИТЬ СОДЕРЖИМОЕ», которая не имеет видимого фокуса, и активирует ее (см. примечание)
- Откроется диалоговое окно
- Вкладка включена, фокус на кнопке закрытия (x) не виден
- Табуляция включена, также нет видимого фокуса ни на одном из элементов
- При включении табуляции фокус перемещается за пределы содержимого диалогового окна на хром браузера (адресную строку)
- Затем фокус проходит через все содержимое страницы за диалоговым окном
Примечание: Чтобы было проще следить за происходящим, мы включили программу чтения с экрана. Зрячий пользователь клавиатуры не будет знать, где находится фокус, и поэтому не сможет открыть диалоговое окно, если только он/она не использует вспомогательный букмарклет, такой как Force Focus, который принудительно указывает положение фокуса.
Советы по специальным возможностям для модальных диалогов
- Сделайте диалог заметным. В модальном диалоговом окне отображается некоторый контент, которого изначально не было на странице. Для пользователей программ чтения с экрана важно, чтобы они заметили это, когда открывается модальное диалоговое окно. Если он не размечен правильно, они могут не воспринимать диалог. Используйте
role="dialog"
(илиrole="alertdialog"
) иaria-modal="true"
в диалоговом окне (но сравните примечание с aria-modal). - Переместить фокус клавиатуры на диалоговое окно и обратно на триггер. Для пользователей клавиатуры (включая слепых пользователей) важно, чтобы фокус перемещался на диалоговое окно, когда оно открывается, чтобы они могли взаимодействовать с его содержимым. Когда диалоговое окно закрывается, фокус должен вернуться к элементу, вызвавшему диалоговое окно.
- Удерживать фокус в диалоговом окне. Фокус клавиатуры должен оставаться в открытом диалоговом окне. Он должен циркулировать по интерактивным элементам диалога.
- Дайте осмысленное имя модальному диалоговому окну. Обратитесь к их видимому заголовку через
aria-labeledby
или укажите невидимое имя черезaria-label
. - Пометьте все элементы управления диалогового окна, включая кнопку закрытия. Каждое диалоговое окно должно иметь четко обозначенный элемент управления для его закрытия. Кнопки на основе значков для закрытия [x] должны иметь доступное имя, которое будет читаться пользователями программ чтения с экрана.
- Скрыть содержимое под диалоговым окном. Установите
aria-hidden="true"
для содержимого страницы в фоновом режиме, когда диалоговое окно открыто. Хорошей структурой для достижения этого является реализация диалогового окна как родственного элемента основного содержимого (т.е., как иmain
, это прямой дочерний элементbody
). - Управление вводом указателя вне диалогового окна. Игнорируйте щелчки или касания за пределами модального диалогового окна или заставляйте их закрывать модальное диалоговое окно.
- Убедитесь, что клавиша Escape закрывает диалоговое окно. Это обычная практика, и многие пользователи ожидают, что нажатие клавиши
ESC
закроет диалоговое окно. Не полагайтесь наESC
, но также включите видимую кнопку закрытия: есть устройства, у которых нет клавиатуры.
Примечание по aria-modal: Использование aria-modal="true"
в настоящее время делает статическое содержимое в диалогах (если оно есть) недоступным в macOS и iOS (сравните Текущее состояние доступности модального диалога).
СРАВНЕНИЕ кейсов с классом доступности
- Всплывающее окно твита (twitter.com)
- Модальное диалоговое окно без прокрутки (ticketmaster.com)
- Модальный диалог, проблемы с фокусом (simplesite.com)
Ресурсы для модальных диалогов
- Текущее состояние доступности модальных диалогов (Скотт о’Хара, Paciello Group, июнь 2018 г.) — также читайте комментарии.
- Диалог (модальный) (WAI-ARIA Authoring Practices 1.1. Примечание рабочей группы W3C, июль 2018 г.)
- Как сделать модальные окна лучше для всех (Скотт О’Хара, Smashing Magazine, август 2014 г.)
- Доступное модальное окно (GitHub, Скотт О’Хара)
- Создание доступного модального диалогового окна (bitsofcode, август 2016 г.)
- Доступные модальные диалоги — A11ycasts #19 (видео на YouTube, Роб Додсон, Google, июнь 2017 г.)
- Невероятно доступное модальное окно, версия 4 (Грег Краус, без даты)
- How to Build WAI-ARIA Modal Alert Dialogs: A11y Support Series (Paul Adam, Deque Blog, August 2016) — обсуждаются отклонения от шаблона, предложенного в WAI-ARIA Authoring Practices 1.