用户界面通常由不同的输入设备组成,例如按钮、输入字段、对话框、滑块等。事件顺序通常决定了预期的行为,而这种行为通常不容易在简单的规则中捕捉到。
是否有解决此类问题的通用方法?
为了说明界面变得多么容易变得复杂,请使用带有 3 个切换按钮的界面。如果按钮单击的行为取决于每个按钮的状态,则可能有 2 ^ 3 * 3 = 24 个事件情况。如果行为还取决于事件历史,则事件案例的数量呈指数增长。
作为一个真实的例子,看看我正在开发的一个所见即所得的文本编辑器。我选择编辑器上的焦点/模糊事件来启用/禁用编辑器。一些按钮(小部件)立即将焦点返回给编辑器,而其他按钮则打开一个对话框。在下图中,箭头显示了单击界面元素时焦点的位置。
我发现这里的注意力管理是一个棘手的问题,经常会引入不受欢迎或违反直觉的行为。