web-dev-qa-db-ja.com

ダイアログボックスは、デフォルトで[ESC]キーで閉じることになっていますか?

ソフトウェア会社に就職し、制作したソフトウェアを使っていると、ポップアップするダイアログボックスが[ESC]ボタンで閉じていないことに気づきました。

これがダイアログボックスの既定の状態になると思いますが、反対またはこの状態を変化させることを示唆する標準があるかどうかはわかりません。

ガイダンスを提供していただけますか?

2
edgarator

ショートカットを使用してダイアログボックスを閉じることは、メッセージが重要でない場合にのみ有効にする必要があります。

  • メッセージ全体が表示されなくても、アプリケーションの操作には実質的な影響はありません。
  • ユーザーは、そのダイアログボックスを簡単に呼び出して、再度呼び出すことができます。
  • ダイアログボックスに表示されるコンテンツは「通知」であり、重大なイベントが発生しようとしていることをユーザーに警告しません。

上記の状況が当てはまる場合、ユーザーが[ESC]キーを使用してボックスを閉じるのを許可しても安全です。これは、[ESC]が何かを消すための反射として押されることが多いためです。

ダイアログボックスに、ユーザーがシステムを核攻撃するかどうかを尋ねるメッセージが表示された場合、[ESC]キーを閉じるアクションにバインドすることは不適切です。

1
F21

WindowsとWinForms(Windowsでデスクトップアプリケーションを構築する従来の方法)について話していると仮定します。

Windowsのエスケープキーは、ダイアログのForm.CancelButtonプロパティにクリックを送信します。標準のドラッグアンドドロップまたは単純なダイアログボックスを使用する場合、CancelButtonはUIの適切なボタンとして既に指定されています。カスタムダイアログ/フォームを作成する場合は、キャンセルするためのボタンを追加し、そのボタンがそのフォームのCancelButtonを表すことをシステムに通知する必要があります。

同様に、フォームのDefaultButtonとしてボタンを指定することにより、Enterキーをフックして特定のボタンを押すことができます。

2
Kit Grose