ユーザー インターフェイスは、多くの場合、ボタン、入力フィールド、ダイアログ ボックス、スライダーなどのさまざまな入力デバイスで構成されています。通常、イベントの順序によって予想される動作が決まります。この動作は、多くの場合、単純なルールでは簡単に把握できません。
この種の問題に対する一般的なアプローチはありますか?
インターフェイスがいかに簡単に複雑になるかを示す例として、3 つのトグル ボタンを備えたインターフェイスを取り上げます。ボタン クリックの動作が各ボタンの状態に依存する場合、2 ^ 3 * 3 = 24 のイベント ケースが可能です。動作がイベント履歴にも依存している場合、イベント ケースの数は指数関数的に増加します。
実際の例として、私が取り組んでいる wysiwyg テキスト エディターを見てください。エディターでフォーカス/ぼかしイベントを選択して、エディターを有効/無効にします。一部のボタン (ウィジェット) はフォーカスをエディターにすぐに戻しますが、他のボタンはダイアログを開きます。下の画像の矢印は、インターフェイス要素をクリックしたときにフォーカスが移動する場所を示しています。
ここでは、フォーカスの管理が難しい問題であり、望ましくない、または直感に反する動作を引き起こすことがよくあります。