windows:Interaction/mouse-and-points

出自UXGuide.net

跳转到: 导航, 搜索

鼠标与指针
Mouse and Pointers

目录


“鼠标”是在 Microsoft® Windows® 中用来与对象进行交互的主要输入设备。鼠标一词也泛指其他指点设备,例如:轨迹球、触摸板、笔记本电脑内置的指点杆、Windows Tablet 中使用触摸技术的手写笔、以及对于有触摸屏的电脑,甚至包括用户的手指等。

物理地移动鼠标会移动屏幕上的图形“指针(pointer)”(也被称为“光标(cursor)”)。鼠标指针有许多形状用来指示其当前的行为。

Bb545459_mouse01(en-us,MSDN_10).png


典型的鼠标指针

现代鼠标通常有一个主按钮(通常是左键)、一个辅助按钮(通常是右键)和一个位于两者之间的鼠标滚轮。通过定位指针和点击鼠标上的主辅按钮,用户可以选择对象并对其执行操作。对于大多数交互来说,按下鼠标按钮表示选中目标,释放按钮则执行操作。

除了忙碌指针以外,所有的鼠标指针都有一个单像素的“热点(hot spot)”,用于定义鼠标指针在屏幕上的确切位置。热点决定了操作会影响到哪个对象。对象也定义有“热区(hot zone)”,表示热点位于哪些位置时被认为是在该对象之上。通常,热区与对象的边界是一致的,但为了便于操作,热区也可能会更大一些。

“插入符(caret)”是用户在文本框或其他文本编辑器中打字时出现的闪烁竖线。插入符与鼠标指针无关,但当用户键入文本时,Windows 默认会隐藏鼠标指针。

Bb545459_mouse02(en-us,MSDN_10).png


插入符

注:无障碍访问(辅助特性)相关的设计规范请参考各自相应的章节。


设计理念

鼠标是直观的

鼠标是一个成功的输入设备,因为对于人的手来说易于使用。基于指针的交互也很成功,因为它很直观,而且可以用于各种丰富的体验。

设计良好的用户界面对象被称为具有良好的功能可见性(affordance),即对象的视觉及行为属性对其应当如何使用的暗示。鼠标指针代替手,让用户能够像操作真实物体一样与屏幕上的对象进行交互。人类天生能够理解如何使用人手,所以如果某样东西看上去能够被按下的话,我们就会试着去按它;如果看上去像是能抓起来,我们就会试着去抓。因此,用户只要看看试试就能够明白如何使用那些功能可见性很强的对象。

Bb545459_mouse03(en-us,MSDN_10).png


这些对象的功能可见性较强。

相反,功能可见性较弱的对象则较难理解。这类对象往往需要标签或说明文本来加以解释。

Bb545459_mouse04(en-us,MSDN_10).png


这些对象的功能可见性较差。


鼠标使用的有些方面不够直观

右击、双击、以及按住 Shift 或 Ctrl 键点击是不够直观的三种鼠标操作,因为在真实世界中没有对应的操作。与键盘快捷键和访问键不同,这些鼠标操作通常不会在 UI 的任何位置进行说明。这也意味着右击、双击和键盘修饰键不应当用于完成基本的任务,尤其是对于新用户。这也意味着这些高级操作必须具有一致、可预测的行为,以实现高效使用。

最重要的两点:

  1. 仅在用于高级用户的高级任务中使用高级鼠标操作。
  2. 为高级鼠标操作指定统一、可预测的行为,以实现高效使用。


单击还是双击?

双击在 Windows 桌面上使用得非常广泛,以至于看起来不像是高级操作。例如,在 Windows Explorer 的文件面板中打开文件夹、程序或者文档都是通过双击来完成的。在 Windows 桌面上打开快捷方式也是通过双击完成的。相反,在开始菜单中打开文件夹或程序则只须单击,在快速启动栏中启动程序也是如此。

可以选中的对象通过单击来进行选定,因此它们需要双击来打开,而不可选中的对象则只须单击即可打开。很多用户不能理解这种差别(单击程序图标就是单击程序图标,不是吗?)结果是,有些用户不断地单击图标,直到目的达到为止。


直接操纵

直接通过鼠标操作对象被称为直接操纵(direct manipulation)。指向、单击、选择、移动、调整大小、分割、滚动、平移以及缩放是最常见的直接操纵。相反,通过属性窗口或其他对话框来操作对象则可以被称为是间接操纵。


标准鼠标按钮操作

标准鼠标操作基于多个因素,包括按下的鼠标键、点击的次数、点击过程中的位置、以及是否有键盘修饰键按下。下面是这些因素如何对操作产生影响的总结:


常见鼠标指针形状

下表给出了常见的鼠标指针形状,及其交互和效果。


简单鼠标交互

简单操作 交互 典型效果
指向(point) 将鼠标指针移至某对象上,不按下任何鼠标键。 目标显示其悬停状态以动态效果。
悬停(hover) 将鼠标指针移至某对象上,不按下任何鼠标键,并保持不动至少一秒。 目标显示其工具提示、信息提示或其他等价信息。
单击(click) 将鼠标指针移至某个不可选中的对象上,在不移动鼠标的前提下按下并松开鼠标键。单击在放开鼠标键时生效,以使用户有机会通过移开鼠标来取消该单击操作。因此,按下鼠标仅仅是选定目标。 单击主按钮将激活对象,双击主按钮则会激活对象并执行默认命令。辅助按钮则用于显示对象的快捷菜单。
选中(select) 将鼠标指针移至某个可选中的对象上,按下并松开鼠标键。 单击主按钮将选中对象。如果用户拖放鼠标,则可选中连续范围内的对象。双击主按钮,则选中对象并执行默认命令。

对于文本,直接单击主按钮将设置插入点位置,再次单击则会选中插入点处的单词,第三次单击则选中整个句子或者段落。

按下(press) 将鼠标指针移至某对象上,按下鼠标键不放。 对于自动重复功能(比如按住滚动箭头以持续滚动),则会重复激活。否则则表示移动、调整大小、分割或拖动的开始,除非又松开鼠标且中途没有移动。
滚动(wheel) 移动鼠标滚轮 按鼠标滚轮移动的方向纵向滚动窗口。


鼠标指针

形状 名称 何时使用
Bb545459_mouse05(en-us,MSDN_10).png 普通选择 用于大多数对象。
Bb545459_mouse06(en-us,MSDN_10).png 链接选择 用于文本或图形链接,因为它们的功能可见性较差。
Bb545459_mouse07(en-us,MSDN_10).png 文本选择 用于文本以指示字符之间的位置。
Bb545459_mouse08(en-us,MSDN_10).png 精确选择 用于图形及其他二维操作。


复合鼠标交互

复合操作 交互 典型效果 鼠标指针

移动(move)

如果移动是一个模式的话(通过命令进入),则进入该模式,将鼠标指针放在可移动的对象上,按下鼠标键并移动鼠标,然后松开鼠标键。在这种情况下,鼠标指针会改变形状来表明所处的模式。


否则,将鼠标指针放在可移动对象的移动控制点上,按下鼠标键并移动鼠标,松开鼠标键。在这种情况下,鼠标指针无须改变形状。

对象按照鼠标指针运动的方向移动。

移动

Bb545459_mouse09(en-us,MSDN_10).png

用于向任意方向移动窗口。


平移

Bb545459_mouse10(en-us,MSDN_10).png

用于向任意方向移动窗口内的对象。

调整大小(resize)

将鼠标指针放在可缩放边框或调整大小句柄上,按下鼠标键并移动鼠标,然后松开鼠标按钮。

对象按照鼠标指针运动的方向改变大小。

垂直和水平调整大小

Bb545459_mouse11(en-us,MSDN_10).png Bb545459_mouse12(en-us,MSDN_10).png

用于单方向调整大小。


对角线调整大小

Bb545459_mouse13(en-us,MSDN_10).png Bb545459_mouse14(en-us,MSDN_10).png

用于两个方向同时调整大小。


行列调整大小

Bb545459_mouse15(en-us,MSDN_10).png Bb545459_mouse16(en-us,MSDN_10).png

用于在网格中调整行或列的大小。

分割(split)

将鼠标指针放在分隔条上,按下鼠标键并移动鼠标,然后松开鼠标键。

分割面板的边框按照鼠标指针移动的方向移动。

窗口分割

Bb545459_mouse17(en-us,MSDN_10).png Bb545459_mouse18(en-us,MSDN_10).png

用于垂直或水平调整分割面板的大小。

拖放(drag and drop)

将鼠标指针放在可拖放的对象上,按下鼠标键并移动鼠标至拖放目标上,然后松开鼠标键。

对象被移动或复制到拖放目标。

正常选择

Bb545459_mouse19(en-us,MSDN_10).png

在有效拖放目标上方时使用,可能还具有信息提示以指明具体的效果。


不可用

Bb545459_mouse20(en-us,MSDN_10).png

用于指明不是有效拖放目标的位置。


活动指示

下表显示了当正在执行需要较长时间才能完成的操作时,用户看到的鼠标指针。

形状 名称 何时使用
Bb545459_mouse21(en-us,MSDN_10).png 忙碌指针 用于等待窗口恢复响应。
Bb545459_mouse22(en-us,MSDN_10).png 后台操作指针 用于当有任务在后台执行时进行指向、点击、按下或选择操作。


自定义鼠标形状

允许用户进行多种非标准直接操纵的应用程序提供了带直接操纵模式的调板窗口。

Bb545459_mouse23(en-us,MSDN_10).png


在这个示例中,画图程序带有使用直接操纵模式的调板窗口。


手形指针

文本和图形链接使用手形或称“链接选择”指针(一只伸出食指的手 Bb545459_mouse24(en-us,MSDN_10).png ),因为它们的功能可见性很低。虽然链接可能具有其他视觉线索来表明它们是链接(比如下划线和特殊的位置),但是当悬停时显示手形指针是链接的决定性标志。

为了避免混淆,切勿将手形指针用作其他用途。例如,命令按钮已经具有很强的功能可见性了,因此无须再使用手形指针。手形指针必须仅仅用于表示“此处是链接”。


费茨法则(Fitts' Law)

费茨法则是图形用户界面设计人机工程学中的著名原则,其基本思想是:

也就是说,尺寸大的目标比较好。不过要确保整个目标区域都是可点击的。

错误:

Bb545459_mouse25(en-us,MSDN_10).png


正确:

Bb545459_mouse26(en-us,MSDN_10).png


在正确的示例中,整个目标都是可点击的。

你可以在当目标被指向时动态更改其尺寸以使其更容易到达。

Bb545459_mouse27(en-us,MSDN_10).png


在这个示例中,当用户指向目标时,目标会变大以使其更容易到达。

靠近目标也很好。将可点击的项放在靠近他们最有可能被使用的位置。

错误:

Bb545459_mouse28(en-us,MSDN_10).png


在这个示例中,调色板离有可能使用它们的位置太远。

考虑这样一点,用户当前的鼠标位置是最容易接近的目标,很容易就可以到达。因此,快捷菜单很好地利用了费茨法则,Microsoft Office 中的迷你工具栏以及智能标记也是如此。

Bb545459_mouse29(en-us,MSDN_10).png


当前鼠标位置永远是最容易到达的位置。

而且,当决定对象尺寸的时候考虑其他的输入设备。传统的 16x16 像素图标是适合于所有输入设备的最小尺寸。例如,15x9 像素的微调控件按钮太小,在 Windows Tablet 以及触摸技术下使用手写笔则会使用困难。


没有鼠标的情况

并非所有 Windows 环境都有鼠标。例如,展台设备很少会有鼠标,而通常是具有触摸屏。这意味着用户可以进行类似左键单击和拖放的简单操作。但是,他们无法悬停、右击或双击。这种情况很容易进行专门设计,因为这些限制往往事先能够知晓。

使用鼠标需要健全的运动技能,因此,并非所有用户都能够使用鼠标。要使你的软件能够被更大范围内的受众使用,确保那些需要健全运动技能的操作并非必不可少的,且可以使用键盘来代替完成。

更多信息和设计规范,参见无障碍访问(辅助特性)


设计规范

单击的功能可见性


标准鼠标键操作

下表总结了适合于大多数情况的鼠标键操作:

操作 效果
悬停 目标显示其工具提示、信息提示或等价物。
左键单击 激活或选中对象。对于文本,设置插入点。
右键单击 选中对象并显示其快捷菜单。
左键双击 激活或选中对象,并执行默认命令。对于文本,选择位于插入点的单词(第三次点击则会选中句子或段落)。
右键双击 与右键单击相同。
Shift 加左键单击 对于可选择的对象,连续扩展其选区。否则,与左键单击类似。例如,在画图中,按住 Shift 键绘制椭圆则可绘制正圆。
Shift 加右键单击 与 Shift 加左键单击相同。
Shift 加左键双击 与 Shift 加左键单击相同,并对整个选区执行默认命令。
Shift 加右键双击 与 Shift 加左键单击相同。
Ctrl 加左键单击 对于可选择对象,通过切换被单击项的选择状态来扩展选区,而不会影响其他对象的选择(即允许非连续选区)。否则,与左键单击相同。
Ctrl 加右键单击 与 Ctrl 加左键单击相同。
Ctrl 加左键双击 与 Ctrl 加左键单击相同,并对整个选区执行默认命令。
Ctrl 加右键双击 与 Ctrl 加左键单击相同。


鼠标交互

错误:
Bb545459_mouse30(en-us,MSDN_10).png
在这个示例中,微调控件按钮太小,使用手写笔则难以操作。
错误:
Bb545459_mouse38(en-us,MSDN_10).png
在这个示例中,Windows Explorer 导航窗格中的分隔条太窄,用鼠标或手写笔难以操作。
错误:
Bb545459_mouse31(en-us,MSDN_10).png
因为用户可能会认为任务栏按钮支持双击,所以“双击”应当被当成一次单击来处理。Windows Vista® 在窗口最小化时的行为是正确的。


鼠标滚轮

Bb545459_mouse33(en-us,MSDN_10).png
在这个示例中,Windows Internet Explorer® 支持阅读模式。


隐藏鼠标指针


活动指针

Windows 中的活动指针包括忙碌指针( Bb545459_mouse34(en-us,MSDN_10).png )和后台操作指针( Bb545459_mouse35(en-us,MSDN_10).png )。


插入符

错误:
Bb545459_mouse36(en-us,MSDN_10).png
Windows Credential Manager 脱离上下文显示,带有插入符,但不具有输入焦点。因此,用户不会在出乎意料的位置输入密码。


无障碍访问

更多信息和设计规范,参见无障碍访问(辅助特性)


文档编写

当指及鼠标时:

当提及鼠标指针时:

示例:

个人工具
名字空间
变换
动作
导航
工具箱