Microsoft Teams アプリのダイアログのデザイン

ダイアログ (TeamsJS v1.x のタスク モジュールと呼ばれます) を使用して、Teams アプリでモーダル ポップアップ エクスペリエンスを作成できます。 この機能を使用して豊富なメディアと情報を表示し、複雑なタスクを完了します。

ダイアログの例を示します。

Microsoft Teams UI Kit

Microsoft Teams UI Kit では、必要に応じて取得および変更できる要素など、より包括的なダイアログ 設計ガイドラインを確認できます。

ダイアログを開く

ダイアログは、アプリ内のほぼすべての場所から起動できます。

  • タブ: タブ内の任意のリンクからダイアログを起動できます。ユーザーが操作に集中するシナリオで使用します。
  • ボット: ボット メッセージ内のリンクからダイアログを起動できます。
  • アダプティブ カード: ユーザーがボタンを選択すると、アダプティブ カード (メッセージ拡張機能またはボットによって送信) からダイアログを起動できます。
  • メッセージ拡張機能 (アクション コマンド): メッセージ拡張機能を使用すると、メッセージ コンテンツに対して特定のアクションを実行できます。 アクションを選択すると、ダイアログが開きます。
  • メッセージ拡張機能 (compose box context): 作成ボックスで、一般的なポップアップではなくダイアログを開くメッセージ拡張機能を設計できます。 フォームの完成など、複雑な操作のダイアログを予約します。

構造

ダイアログは、ホストされているアプリ エクスペリエンスのための柔軟な画面を提供します。 これらは iframe (デスクトップ) または Webview (モバイル) を使用して構築されているため、UI テンプレート (推奨) またはゼロからダイアログを設計できます。

また、アダプティブ カード フレームワークを使用して構築することもできます。これは、一般的なシナリオ (フォームなど) を促進する、より簡単で迅速な方法です。

モバイル

モバイルでのダイアログの UI 構造を示す図。

カウンター 説明
1 ヘッダー: ヘッダーを明確かつ簡潔にします。 ユーザーに完了させたいタスクについて説明します。
2 アプリ名: アプリのフル ネーム
3 [閉じる] ボタン: ダイアログを閉じます。 アプリ コンテンツに保存されていない変更は適用されません。
4 Web ビュー: アプリ コンテンツをホストする応答性の高いスペース。
5 アクション (省略可能): アプリ コンテンツに関連するボタン。

Desktop

ダイアログの UI 構造を示す図。

カウンター 説明
1 アプリ アイコン
2 アプリ名: アプリのフル ネーム
3 ヘッダー: ヘッダーを明確かつ簡潔にします。 ユーザーに完了させたいタスクについて説明します。
4 [閉じる] ボタン: ダイアログを閉じます。 アプリ コンテンツに保存されていない変更は適用されません。
5 IFRAME​​: アプリ コンテンツをホストする応答性の高いスペース。
6 アクション (省略可能): アプリ コンテンツに関連するボタン。

UI テンプレートを使用して設計する

ダイアログ内の一般的なレイアウトにテンプレートを使用することを検討してください。 各コンポーネントは、より小規模なコンポーネントで構成され、使い慣れた、またはシナリオやブランドの外観に合わせてカスタマイズできる、優雅で応答性の高いデザインを作成します。

  • リスト: リストは、関連するアイテムをスキャン可能な形式で表示することが可能で、ユーザーがリスト全体または個々のアイテムでアクションを実行できるようにします。
  • フォーム: フォームは、構造化された方法でユーザー入力を収集、検証、送信するためのフォームです。
  • 空の状態: 空の状態テンプレートは、サインイン、最初の実行エクスペリエンス、エラー メッセージなど、多くのシナリオで使用できます。

リスト

リストはスキャンが簡単なため、ダイアログでうまく機能します。

Mobile

モバイル上のダイアログのリストの例。

Desktop

ダイアログのリストの例。

フォーム

ダイアログは、シーケンシャル ユーザー入力とインライン検証を使用してフォームを表示するのに最適な場所です。 フォーム要素を埋め込む方法としてアダプティブ カードを活用できます。

モバイル

モバイル上のダイアログのフォームの例。

Desktop

ダイアログのフォームの例。

サインイン

一連のダイアログでフォーカスされたサインインまたはサインアップ フローを作成し、ユーザーがシーケンシャルな手順を簡単に移動できるようにします。

Mobile

モバイルでのダイアログでのサインイン エクスペリエンスの例。

Desktop

ダイアログのサインイン エクスペリエンスの例。

Media

メディア コンテンツをダイアログに埋め込み、焦点を絞った表示エクスペリエンスを実現します。

Mobile

モバイルでのダイアログのメディア コンテンツの例。

Desktop

ダイアログ内のメディア コンテンツの例。

空の状態

ウェルカム メッセージ、エラー メッセージ、成功メッセージに使用します。

モバイル

モバイルでのダイアログの空の状態の例。

Desktop

ダイアログの空の状態の例。

ギャラリー カルーセルを IFRAME (デスクトップ) や Web ビュー (モバイル) に埋め込みます。

モバイル

モバイル上のダイアログのイメージ ギャラリーの例。

Desktop

ダイアログ内のイメージ ギャラリーの例。

投票

この例では、アダプティブ カードで起動した投票結果を示しています。 ポーリングはダイアログ内にも配置できます。

Mobile

モバイルでのダイアログのポーリングの例。

Desktop

ダイアログのポーリングの例。

ベスト プラクティス

これらの推奨事項を使用して、高品質のアプリ エクスペリエンスを作成します。

ユーザビリティ

ダイアログのベスト プラクティスを示す例 (一度に 1 つのダイアログ)。

実行: 一度に 1 つのダイアログを表示する

この目標は、ユーザーが最終的にタスクを完了する作業に集中させることです。

ダイアログのベスト プラクティスを示す例 (ダイアログの上部にダイアログをポップする)。

しない: ダイアログの上にダイアログをポップする

これによりフォーカスされなくなり、わかりづらいユーザー エクスペリエンスが作成されます。

応答性が高い

ダイアログのベスト プラクティスを示す例 (コンテンツが応答していることを確認します)。

やるべきこと: コンテンツの応答性を確認する

ダイアログでホストされているアダプティブ カードはモバイル デバイスで適切にレンダリングされますが、iframe を使用してアプリ コンテンツをホストする場合は、UI が応答性が高く、デバイス間で正常に動作することを確認します。

ダイアログのベスト プラクティスを示す例 (水平スクロール バーは使用しません)。

してはいけないこと: 水平方向のスクロール バーを使用する

これは、コンテンツにフォーカスし、時間がかかりすぎないように維持するベスト プラクティスです。 スクロールが必要な場合は、水平方向ではなく垂直方向にスクロールします。

簡易性

ダイアログのベスト プラクティスを示す例 (短くします)。

やるべきこと: 簡潔にまとめる

複数ステップ ウィザードは簡単に作成できますが、それが必ずしも必要とはいえません。 複数画面のダイアログは、受信メッセージが気を散らし、ユーザーが終了するように誘惑するため、問題になる可能性があります。 タスクが本当に関係している場合は、ダイアログではなく完全な Web ページにポップアップ表示します。

ダイアログのベスト プラクティスを示す例 (長い操作はありません)。

してはいけないこと: 長い対話を行う

対話を短くしてワンポイントになるようにします。

エラー メッセージ

ダイアログのベスト プラクティスを示す例 (インライン エラー メッセージを使用)。

するべきこと: インライン エラー メッセージを使用する

インライン エラー処理のガイドラインについては、UI テンプレートのフォームを参照してください。

ダイアログのベスト プラクティスを示す例 (ダイアログにエラー メッセージを配置する)。

してはいけないこと: ダイアログにエラー メッセージを表示する

ダイアログの上のダイアログでエラー メッセージをポップしないでください。 わかりづらいユーザー エクスペリエンスが作成されます。