共通デスクトップ環境 スタイル・ガイド

ドラッグ&ドロップ・フィードバック

ユーザに対する視覚的なフィードバックは、ドラッグ&ドロップを機能させるための重要な要素の 1 つです。明快な視覚的フィードバックがないと、ドラッグ&ドロップ操作の結果を予測することが困難になります。また、視覚的なフィードバックはタイミングよく提供されなければなりません。

ユーザは、ドラッグ&ドロップ操作の際に、次の点を視覚的に識別できければなりません。

ドラッグされる項目のタイプ

ドラッグ&ドロップのビジュアル・フィードバックは、ユーザに見えるものをドラッグするという概念に基づいています。たとえば、ユーザがファイル・マネージャ内でフォルダ・アイコンを選択しドラッグを開始した場合は、図 3-1 に示すようにドラッグ・アイコンの一部としてフォルダ・アイコンが表示されなければなりません。

図 3-1 ドラッグ中のオブジェクトを示すドラッグ・アイコン

Graphic

必須 

dt: 

ドラッグ操作中に、アプリケーションは現在のポインタをドラッグ・アイコンに変更する。 

推奨 

du: 

ドラッグ操作中に、アプリケーションは現在のドラッグ・カーソルを、ソース・インジケータを取り込んだ形に変更する。 

これはだれにでもわかる動作に思えるかもしれませんが、何をドラッグしているのかがユーザにわかるようなフィードバックを提供することは、きわめて重要です。この種の一貫性を保つことで、ユーザにとってドラッグ&ドロップがより予期しやすいものになります。テキスト・ドラッグは、実際のテキストがドラッグされるわけではないという点で、この例外となります。図 3-2 にテキスト・ドラッグ・アイコンを示します。

図 3-2 テキスト・ドラッグ・アイコンの例

Graphic

アプリケーションは、ドラッグ・アイコンで使用されるグラフィックを用意する必要があります。このグラフィックは、通常は、ファイル・マネージャでドキュメントを表現するために使用される 32*32 アイコンのように、アプリケーションに付属するアイコンの 1 つです。使用されるグラフィックは、何がドラッグされているのかに依存します。

ユーザがドラッグを開始する前にアイコンを選択しなかった場合でも、特にドロップ時に出力先のアプリケーションが使用するグラフィックなど、関連性のあるグラフィックをドラッグ・アイコンに表示することをお勧めします。たとえば、カレンダの [アポイントエディタ] の中で、ユーザはスクロール・リストからアポイントを選択しますが、このスクロール・リストはアイコンを表示しません。この場合には、ドラッグ・アイコンの一部としてアポイント・アイコンが使用されます。アポイントがファイル・マネージャにドロップされると、ファイル・マネージャは同じグラフィックを使ってアポイントを表示します。

ドロップ領域

ユーザは、ドラッグ項目がいつ有効なドロップ領域の上にあるのかを知る必要があります。このフィードバックは、ドラッグ・アイコンとドロップ領域の 2 つが関連します。ドラッグ・アイコンは、ユーザがドラッグ・アイコンを有効なドロップ領域以外の場所に移動すると、矢印から無効ポインタに変わります。この動作はドラッグオーバ・フィードバックと呼ばれます。デスクトップ上では、無効なドロップ領域と、そもそもドロップ領域でない場所の間には区別がありません。図 3-3 にサンプルの無効ポインタ・ドラッグ・アイコンを示します。

図 3-3 無効ポインタ・ドラッグ・アイコンの例

Graphic

ドロップ領域フィードバック・オプション (ドラッグアンダ・フィードバックと呼ばれる) は、有効なドロップ領域を示すものです。このオプションには、サイトの周囲に実線を描く、ドロップ領域の周囲に射影の付いた縁を付けて、表面が出っ張ったり、へこんでいるように見せる、ドロップ領域の上にピックスマップを描画するという方法あります。射影の付いた縁には、ドロップ領域がへこんでいるように見せる効果があります。図 3-4 に、へこんでいる領域の例を示します。デスクトップ上では、ドラッグ・アイコンがドロップ領域の上にあり、それが有効なドロップ領域であることを示すのに、大部分のドロップ領域で、へこんでいる外観を使用します。

図 3-4 フロントパネルのドロップ領域フィードバックの例

Graphic

推奨 

dw: 

ドラッグ操作中に、アプリケーションは有効なドロップ領域であることを示すために、ドロップ領域フィードバックを変更する。 

推奨 

dv: 

ドラッグ操作中に、アプリケーションは無効なドロップ領域であることを示すために、現在のドラッグ・カーソルを変更する。アプリケーションは、共通デスクトップ環境の標準の無効ポインタを使用する。 

オプション 

dz: 

アプリケーションが使用するカーソル変更やドラッグオーバ効果は、マウス・ポインタがターゲット領域に達してから 0.2 秒以内に発生し、ドラッグ操作の対話形態には、表面上はまったく影響を与えない。 

結果として起こるアクション

共通デスクトップ環境では、ドラッグ・アイコンに関連付けられる操作が 3 つあります。これらの操作は、「ドラッグ・アイコンの各部分」で説明しています。ドラッグ・アイコンには、操作がコピーまたはリンクであるときに、それをユーザに通知するために使用される、デスクトップの一部として提供されている代替グラフィックがあります。デフォルトの操作である移動では、代替アイコン・グラフィックを使用する必要はありません。

成功または失敗

ユーザは、ドラッグ&ドロップ操作が成功したのか、失敗したのかを知る必要があります。ドロップの成功または失敗を表示するには、遷移効果を使用します。

遷移効果にはメルト スナップ・バックの 2 つの種類があります。メルト 効果は、ユーザがドラッグ・アイコンを有効なドロップ領域にドロップしたときに使用されます。この効果では、ドラッグ・アイコンがドロップ領域に溶けこむように見えます。ドラッグ・アイコンは消え、出力先のアプリケーションに応じた何らかの表示に置き換えられます。ドラッグ・アイコンをフロントパネル上の [印刷マネージャ] コントロールにドロップすると、メルト効果だけが表示されます。ドラッグ・アイコンを [ファイルマネージャ] コントロールにドロップすると、メルト効果が表示された後に、ファイル・マネージャにアイコンが表示されます。

スナップ・バック効果は、ドロップが失敗したときに使用されます。ドロップが失敗するのは、ドロップ領域が無効である場合と、データ転送が失敗した場合の 2 つです。ユーザがドラッグ・アイコンを、無効ポインタ・ドラッグ・アイコンを表示している無効なドロップ領域の上にドロップすると、ドラッグ・アイコンはソース・アプリケーションにスナップ・バックします。

ドロップが行われると、ソースと出力先のアプリケーションは、データを転送しなくてはなりません。データ転送が失敗した場合に、出力先アプリケーションは 2 つの処理を行わなくてはなりません。まず、ドロップ項目がソース・アプリケーションにスナップ・バックされるように、ドロップが失敗したことを API に通知する必要があります。次に、ドロップが失敗した理由と、ユーザがこの状況を修正するにはどうすればいいのかをはっきりと知らせるエラー通知をユーザに表示しなければなりません。

遷移効果は、即座には行われないことがあります。アイコンは、転送が終了するまで、ドロップされた場所に表示されます。この間に、アプリケーションはカーソルをビジー状態にしておかなければなりません。転送が完了するまで、ユーザはそのアイコンを移動したり、選択することはできません。ビジー・カーソルは、ユーザに、転送の実行中であることを知らせます。

推奨 

ea: 

ドラッグによって実行できるコピー、移動、またはリンク操作をサポートするコレクションでは、ドラッグ操作中にユーザに表示するフィードバックが、単一のオブジェクトが操作されているのか、複数のオブジェクトが操作されているのかを表示する。 

必須 

eb: 

転送に成功すると、データはドロップ領域に格納され、アプリケーションが使用した転送アイコンはすべて削除される。 

必須 

ec: 

アプリケーションがドラッグ&ドロップの完了時にデータを削除する場合には、ドラッグ&ドロップ転送が成功して完了した場合にのみ削除を行う。 

必須 

ed: 

転送が失敗した後、データはドラッグのソースに残り、ドロップ領域には格納されない。アプリケーションが使用した転送アイコンは、すべて削除される。 

推奨 

ee: 

ユーザがアプリケーションのウィンドウ内の不適当なドロップ領域にオブジェクトをドロップした場合、アプリケーションはスナップ・バック効果の表示処理に参加し、ドロップが実行できなかった理由を示すエラー・ダイアログ・ボックスを表示する。 

必須 

6-17: 

アプリケーションに、ドラッグ&ドロップのヘルプ・ダイアログ・ボックスを用意する場合は、実行中のドラッグ&ドロップ操作を取り消すための [取消し] ボタンを格納する。