Проектирование диалоговых окон для приложения Microsoft Teams

Вы можете создавать модальные всплывающие окна в приложении Teams с помощью диалогов (называемых модулями задач в TeamsJS версии 1.x). Используйте эту возможность для отображения мультимедийных материалов и информации или для выполнения сложной задачи.

В примере показано диалоговое окно.

Комплект разработчика для пользовательского интерфейса Microsoft Teams

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

Открытие диалогового окна

Диалоговые окна можно запускать практически из любого места в приложении.

  • Вкладка. Диалоговое окно можно запустить по любой ссылке на вкладке. Используйте в сценариях, в которых пользователь хочет сосредоточиться на взаимодействии.
  • Бот. Диалоговое окно можно запустить по ссылке в сообщении бота.
  • Адаптивная карточка. Диалоговое окно может быть запущено из адаптивной карточки (отправленной с расширением сообщения или ботом), когда пользователь нажимает кнопку.
  • Расширение сообщений (команды действий): расширения сообщений позволяют выполнять определенные действия с содержимым сообщения. При выборе действия открывается диалоговое окно.
  • Расширение сообщения (контекст окна создания). В поле создания можно создать расширение сообщения, чтобы открыть диалоговое окно вместо обычного всплывающего элемента. Резервируйте диалоговые окна для сложных взаимодействий, таких как заполнение формы.

Структура

Диалоговые окна предоставляют гибкую поверхность для взаимодействия с размещенными приложениями. Они создаются с помощью iframe (desktop) или webview (mobile), поэтому вы можете создавать диалоги с помощью шаблонов пользовательского интерфейса (рекомендуется) или с нуля.

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

Мобильная версия

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

Счетчик Описание
1 Заголовок: создавайте ясные и четкие заголовки. Опишите задачу, которую необходимо выполнить пользователям.
2 Имя приложения: полное имя приложения.
3 Кнопка "Закрыть": закрывает диалоговое окно. При этом несохраненные изменения не применяются к содержимому приложения.
4 Веб-представление: пространство быстрого отклика, в котором размещено содержимое приложения.
5 Действия (необязательно): кнопки, связанные с содержимым приложения.

Версия для рабочего стола

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

Счетчик Описание
1 Значок приложения
2 Имя приложения: полное имя приложения.
3 Заголовок: создавайте ясные и четкие заголовки. Опишите задачу, которую необходимо выполнить пользователям.
4 Кнопка "Закрыть": закрывает диалоговое окно. При этом несохраненные изменения не применяются к содержимому приложения.
5 IFrame: пространство быстрого отклика, в котором размещено содержимое приложения.
6 Действия (необязательно): кнопки, связанные с содержимым приложения.

Проектирование с помощью шаблонов пользовательского интерфейса

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

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

Примеры

Список

Списки хорошо работают в диалоговом окне, так как их легко сканировать.

Мобильная версия

Пример списка в диалоговом окне на мобильном устройстве.

Версия для настольного компьютера

Пример списка в диалоговом окне.

Form

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

Мобильная версия

Пример формы в диалоговом окне на мобильном устройстве.

Версия для настольного компьютера

Пример формы в диалоговом окне.

Вход

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

Мобильная версия

Пример интерфейса входа в диалоговое окно на мобильном устройстве.

Версия для настольного компьютера

Пример интерфейса входа в диалоговом окне.

Мультимедиа

Внедрение мультимедийного содержимого в диалоговое окно для целенаправленного просмотра.

Мобильная версия

Пример содержимого мультимедиа в диалоговом окне на мобильном устройстве.

Версия для настольного компьютера

Пример содержимого мультимедиа в диалоговом окне.

Пустое состояние

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

Мобильная версия

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

Версия для настольного компьютера

Пример пустого состояния в диалоговом окне.

Встраивайте карусель галереи в iframe (для рабочего стола) или веб-представление (для мобильных устройств).

Мобильная версия

Пример коллекции изображений в диалоговом окне на мобильном устройстве.

Версия для настольного компьютера

Пример коллекции изображений в диалоговом окне.

Опрос

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

Мобильная версия

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

Версия для настольного компьютера

Пример опроса в диалоговом окне.

Рекомендации

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

Удобство использования

Пример рекомендаций для диалога (по одному диалогу за раз).

Сделать: показать одно диалоговое окно за раз

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

Пример, показывающий рекомендации по диалогу (поверх диалогового окна).

Не: вывод диалогового окна поверх диалогового окна

Это провоцирует утрату фокуса пользователем и сбивает его с толку.

Быстрый отклик

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

Убедитесь, что содержимое быстро реагирует на запросы

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

Пример рекомендаций для диалога (не используйте горизонтальные полосы прокрутки).

Не используйте горизонтальные полоски прокрутки

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

Простота

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

Будьте лаконичны

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

Пример, показывающий рекомендации по диалогу (не имеет длительных взаимодействий).

Не используйте длительные взаимодействия

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

Сообщения об ошибках

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

Используйте встроенные сообщения об ошибках

Рекомендации по обработке встроенных ошибок см. в шаблоне пользовательского интерфейса форм.

Пример рекомендаций для диалога (размещение сообщений об ошибках в диалоговых окнах).

Не помещайте сообщения об ошибках в диалоговые окна

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