Windows 7 鼠标和指针

注意

此设计指南是为 Windows 7 创建的,尚未更新Windows的较新版本。 大部分指南原则上仍适用,但演示和示例并不反映我们 当前的设计指南

鼠标是用于与Windows中的对象交互的主要输入设备。 鼠标功能还可以包含其他指向设备,例如轨迹球、触摸板和内置于笔记本计算机的指点棒、用于Windows Tablet and Touch Technology的笔,以及触摸屏(甚至用户手指)的计算机上。

注意

辅助功能触摸 相关的指南显示在单独的文章中。

在物理上移动鼠标时,鼠标移动图形指针 (也称为屏幕上的光标) 。 指针具有各种形状,用于指示其当前行为。

screen shot of five typical mouse pointers

典型的鼠标指针

鼠标设备通常有一个主按钮, (通常是左按钮) ,辅助按钮 (通常是右侧) ,两者之间的鼠标滚轮。 通过定位指针并单击鼠标上的主按钮和辅助按钮,用户可以选择对象并对其执行操作。 对于大多数交互,在光标位于目标上方时按鼠标按钮表示所选目标,释放该按钮将执行与目标关联的任何操作。

除繁忙指针之外,所有指针都有一个像素热点,用于定义鼠标的确切屏幕位置。 热点确定哪些对象受鼠标操作影响。 对象定义一个热区域,即认为热点位于该对象上的区域。 通常,热区域与对象的边框相吻合,但使用户意图更易于执行可能更大。

插入符号是当用户在文本框或其他文本编辑器中键入时显示的闪烁垂直条。 插入符号默认独立于指针 (,Windows在用户键入) 时隐藏指针。

screen shot of text box with cursor

插入符号

设计概念

鼠标直观

鼠标是一个成功的输入设备,因为它很容易用于典型的人手。 基于指针的交互已经成功,因为它直观,并且允许丰富的体验。

据说,设计良好的用户界面 (UI) 对象具有可负担性,这些对象是建议其使用方式的对象视觉和行为属性。 指针充当手的代理,允许用户与屏幕对象交互,就像使用物理对象一样。 我们人类对人类手的工作原理有内在的理解,所以如果某种东西看起来像可以推,我们试图推它:如果它看起来像可以抓住,我们试图抓住它。 因此,用户可以通过查看和尝试对象来了解如何使用具有强大负担的对象。

screen shot of a button and slider

按钮和滑块具有很强的负担能力

相比之下,负担不佳的对象很难弄清楚。此类对象通常需要标签或说明来解释它们。

screen shot of link text and internet earth icon

链接文本和图标的负担不佳

鼠标使用的一些方面并不直观

右键单击、双击和单击 Shift 或 Ctrl 键修饰符是三个不直观的鼠标交互,因为它们没有实际对应项。 与键盘快捷方式和访问键不同,这些鼠标交互通常不会在 UI 中的任何位置记录。 这表明,不需要右键单击、双击和键盘修饰符来执行基本任务,尤其是新手用户。 它还建议这些高级交互必须具有一致且可预测的行为才能有效使用。

单击或双击?

双击在Windows桌面上非常广泛地使用,这似乎不像高级交互。 例如,通过双击在Windows资源管理器的文件窗格中打开文件夹、程序或文档。 在Windows桌面上打开快捷方式也使用双击。 相比之下,在"开始"菜单中打开文件夹或程序需要单击一下。

可选择对象使用单键执行选择,因此需要双击才能打开,而不可选择的对象只需单击一次即可打开。 许多用户无法理解此区别 (单击程序图标是单击程序图标,右) ,因此,某些用户只需单击图标,直到他们获得所需内容。

直接操作

直接与对象交互称为直接操作。 指向、单击、选择、移动、调整大小、拆分、滚动、平移和缩放是常见的直接操作。 相比之下,可以通过其属性窗口或其他对话框与对象交互,可以描述为间接操作。

但是,如果存在直接操作,可能会发生意外操作,因此需要原谅。 宽恕是能够轻松扭转或纠正意外的操作。 通过提供撤消、提供良好的视觉反馈并允许用户轻松纠正错误,你可以进行直接操作。 与原谅相关的是防止意外的操作在一开始发生,你可以通过对具有意外后果的风险操作或命令使用受限的控制措施和确认来执行此操作。

标准鼠标按钮交互

标准鼠标交互取决于多种因素,包括单击鼠标键、单击鼠标键的次数、单击期间的位置以及是否按下了任何键盘修饰符。 下面是这些因素通常如何影响交互的摘要:

  • 对于大多数对象,左双击执行单个左键并执行默认命令。 默认命令在上下文菜单中标识。
  • 对于某些类型的可选择对象,每次单击都会展开单击的效果。 例如,在文本框中单击将设置输入位置,双击选择一个单词,然后三键选择句子或段落。
  • 右键单击可显示对象的上下文菜单。
  • 在指向鼠标悬停时保持鼠标保持状态。
  • 按住鼠标的同时按鼠标按钮表示单击和单个对象选择。 移动鼠标表示移动、调整大小、拆分、拖动和多个对象选择。
  • Shift 键连续扩展选择。
  • Ctrl 键通过切换单击的项的选择状态来扩展所选内容,而不会影响其他对象的选择。

简单的鼠标交互

下表描述了常见的鼠标交互和效果。

简单操作 交互 典型效果

将指针定位到特定对象,而无需单击任何鼠标按钮。
目标显示其悬停状态和任何动态负担。
徘徊
将指针定位到特定对象,无需单击任何鼠标按钮,且至少不移动一秒。
目标显示其工具提示、信息提示或等效项。
点击
将指针定位到特定、不可选择的对象,然后按并释放鼠标按钮而不移动。 单击会对鼠标按钮释放生效,以允许用户通过将鼠标移离目标来取消单击。 因此,鼠标按下仅指示所选目标。
若要使用主按钮单击一次,请激活对象。 若要使用主按钮双击,请激活对象并执行默认命令。 对于辅助按钮,显示对象的上下文菜单。
选择
将指针定位到特定的可选择对象,然后按并释放鼠标按钮。
对于使用主按钮的单击,请选择对象。 如果用户拖动鼠标,请选择一个连续的对象范围。 对于使用主按钮双击,请选择对象并执行默认命令。
对于文本,右主按钮单击设置插入点,第二次选择插入点处的单词,第三次单击将选择句子或段落。

将指针定位到特定对象,然后按鼠标按钮而不释放。
对于自动重复函数 (,例如按滚动箭头连续滚动) ,请重复激活。 否则,指示移动、调整大小、拆分或拖动的开始,除非后跟没有移动的发布。
随心所欲
移动鼠标滚轮。
窗口垂直向鼠标滚轮移动方向滚动。

指针形状

下表介绍了常见的指针形状和用法。

形状 名称 在使用时
screen shot of pointer with arrow shape
普通选择
用于大多数对象。
screen shot of hand with index finger pointing
链接选择
用于文本和图形链接,因为它们的负担能力薄弱。
screen shot of pointer with i-beam shape
文本选择
用于文本来指示字符之间的位置。
screen shot of pointer with large plus-sign shape
精度选择
用于图形和其他二维交互。

复合鼠标交互

下表描述了常见的鼠标交互。

复合操作 交互 典型效果 指针
移动
如果移动是通过提供命令) 输入的模式 (,请输入模式,将指针置于可移动对象上,按按钮并移动鼠标,释放鼠标按钮。 在这种情况下,指针将更改形状以指示模式。
否则,将指针置于可移动对象的抓取器上,按按钮并移动鼠标,释放鼠标按钮。 在这种情况下,指针不需要更改形状。
对象在指针移动的方向移动。
移动
screen shot of pointer with four arrows
用于向任何方向移动窗口。
平底锅
screen shot of pointer with hand shape
用于在任何方向的窗口中移动对象。
调整大小
将指针置于可调整大小的边框或调整大小控点上,按鼠标按钮并移动鼠标,然后释放鼠标按钮。
对象调整指针移动方向的大小。
垂直和水平调整大小
Screenshot that shows up-down pointers.screen shot of up-down and right-left pointers
用于调整单个维度的大小。
对角线调整大小
bb545459.mouse13(en-us,msdn.10).pngscreen shot of diagonal pointers with arrow tips
用于同时调整两个维度的大小。
行和列调整大小
bb545459.mouse15(en-us,msdn.10).pngscreen shot of arrow pointers with crossbar
用于调整网格中的行或列的大小。
拆分
将指针置于拆分器上方,按鼠标按钮并移动鼠标,然后释放鼠标按钮。
拆分窗格边框向指针移动方向移动。
窗口拆分器
bb545459.mouse17(en-us,msdn.10).pngscreen shot of arrow pointers with double crossbar
用于垂直或水平调整拆分窗格的大小。
拖放
将指针置于有效对象上进行拖动,按鼠标按钮并将鼠标移动到放置目标,然后释放鼠标按钮。
对象被移动或复制到放置目标。
普通选择
screen shot of photo, standard pointer, and infotip
用于有效拖动目标。 也可能有一个信息提示来指示特定效果。
没空
screen shot of small blocked/offline icon
用于指示图面不是有效的放置目标。

活动指示器

下表显示了用户在执行所需时间超过几秒钟才能完成的操作时看到的指针。

形状 名称 在使用时
Screenshot that shows a doughnut-shaped 'busy' pointer.
忙指针
用于等待窗口响应。
screen shot of doughnut-shaped pointer and arrow
在后台指针中工作
用于指向、单击、按或选择任务在后台完成时。

手指针

文本和图形链接使用手或“链接选择”指针, (一个手与食指 screen shot of hand with index finger pointing 指向) ,因为他们的负担能力薄弱。 虽然链接可能具有其他视觉线索来指示它们是链接 ((如下划线和特殊放置) ),但悬停时显示手指针是链接的明确指示。

为了避免混淆,必须不要将手指针用于其他目的。 例如,命令按钮已经具有强大的负担能力,因此它们不需要手指针。 手指针必须意味着“此目标是链接”,而别无其他。

自定义指针

Windows支持创建自定义指针。 有关更多详细信息,请参阅 设置游标图像用户输入:扩展示例

许多应用程序提供了一个控件面板,其中包含用于支持应用程序功能的自定义指针。

screen shot of palette with spray-can pointer

Microsoft 画图包括不同函数的调色板,每个函数都有唯一指针

拟合法

拟合法是图形用户界面设计中一个众所周知的原则,实质上指出:

  • 目标越远,使用鼠标获取目标所需的时间就越长。
  • 目标越小,使用鼠标获取目标所需的时间就越长。

因此,大型目标很好。 确保整个目标区域可单击。

不正确 正确 (整个目标可单击)
screen shot of icon with only label clickable screen shot of clickable icon and clickable label

当指向以便更轻松地获取时,可以动态更改目标的大小。

screen shot of character map with enlarged number

当用户指向使获取更容易获取时,目标会变大

接近的目标也不错。 找到靠近它们最有可能使用的可单击项。 在下图中,调色板离工具选择器太远。

screen shot of color palette separated from tools

调色板离可能使用的位置太远

请考虑用户当前指针位置与目标一样接近这一事实,使得获取目标变得微不足道。 因此,上下文菜单充分利用了“拟合”法,Microsoft Office使用的小型工具栏也一样。

screen shot of pointers near drop-down list

当前指针位置始终是最容易获取的

此外,在确定对象大小时,请考虑备用输入设备。 例如,建议触摸的最低目标大小为 23x23 像素, (13x13 DLL) 。

没有鼠标的环境

并非所有Windows环境都有鼠标。 例如,展台很少有鼠标,通常有触摸屏。 这意味着用户可以执行简单的交互,例如左键,或许可以拖放。 但是,它们无法悬停、右键单击或双击。 这种情况很容易设计,因为这些限制通常提前知道。

使用鼠标需要精细的运动技能,因此,并非所有用户都可以使用鼠标。 若要使软件可供最广泛的受众访问,请确保使用键盘执行精细运动技能的所有交互并不重要。

有关详细信息和指南,请参阅 辅助功能

如果你只做四件事...

  1. 使用标准指针随时提供与标准效果一致的鼠标交互行为。
  2. 限制高级鼠标交互 (需要右键单击、多次单击或修改键) 针对高级用户的高级任务。
  3. 分配高级鼠标交互一致、可预测的行为,以便能够有效地使用它们。
  4. 确保程序能够逆转或更正任何不需要的操作,尤其是对于破坏性命令。 使用直接操作时,更有可能发生意外操作。

指南

单击可负担性

  • 从不要求用户单击某个对象来确定该对象是否可单击。 用户必须能够单独通过视觉检查来确定可点击性。
    • 主 UI ((如提交按钮)) 必须具有静态单击功能。 用户不必悬停才能发现主 UI。
    • 辅助 UI (,例如辅助命令或渐进式泄露控件,) 可以在悬停时显示其单击功能。
    • 文本链接 应静态建议链接文本,然后在悬停时显示其单击提示 (下划线或其他演示文稿更改, 手指针) 悬停。
    • 图形链接 仅在悬停时显示手指针。
  • 仅对文本和图形链接使用手 (或“链接选择”) 指针。 否则,用户必须单击对象以确定它们是否是链接。

标准鼠标按钮交互

下表汇总了大多数情况下应用的鼠标按钮交互:

交互 效果
悬停
目标显示其工具提示、信息提示或等效项。
单击左键
激活或选择对象。 对于文本,设置插入点。
单击鼠标右键
选择对象并显示其上下文菜单。
双击
激活或选择对象,并执行默认命令。 对于文本,请在插入点选择单词, (第三次单击选择句子或段落) 。
双击
与单击鼠标右键相同。
单次左键单击
对于可选择的对象,连续扩展所选内容。 否则,与单击左键时可能进行修改相同。 例如,在画图中,使用 Shift 键修饰符绘制椭圆会导致绘制圆圈。
Shift 单一右键单击
与 Shift 单次左键单击相同。
Shift 双击
与 Shift 单一左键单击相同,并在整个选定内容上执行默认命令。
Shift 双击
与 Shift 单次左键单击相同。
按住 Ctrl 单击左键
对于可选对象,通过将单击项的选择状态切换来扩展所选内容,而不会影响其他对象的选择 (因此允许选择不连续) 。 否则,与单击左键相同。
Ctrl 单键右键单击
与 Ctrl 单击左键相同。
Ctrl 双击
与 Ctrl 单击左键相同,并在整个选定内容上执行默认命令。
Ctrl 双击
与 Ctrl 单击左键相同。

鼠标交互

  • 使单击目标至少为 16x16 像素,以便任何输入设备可以轻松单击它们。 对于 触摸,建议的最低控制大小为 23x23 像素, (13x13 DLL) 。 当用户指向使其更易于获取时,请考虑动态更改小型目标的大小。

    在此示例中,旋转控件按钮太小,无法有效地用于触摸或笔。

    screen shot of spin control with small arrows

  • 使拆分器至少为 5 像素宽,以便任何输入设备可以轻松单击它们。 当用户指向使其更易于获取时,请考虑动态更改小型目标的大小。

    在此示例中,Windows资源管理器导航窗格中的拆分器太窄,无法有效地用于鼠标或笔。

    screen shot of narrow, almost invisible splitter

  • 在空间上为用户提供错误边距。 允许某些鼠标移动 (例如,当用户释放鼠标按钮时,) 三个像素。 用户有时会在松开鼠标按钮时稍微移动鼠标,因此按钮释放前的鼠标位置会比紧跟的位置更好地反映用户的意图。

  • 暂时为用户提供错误边距。 使用系统双击速度区分单键和双击。

  • 单击对鼠标按钮向上生效。 允许用户在释放鼠标按钮之前从有效目标中删除鼠标来放弃鼠标操作。 对于大多数鼠标交互,按鼠标按钮仅指示所选目标并释放按钮会激活该操作。 自动重复函数 (例如按滚动箭头连续滚动) 是一个例外。

  • 捕获鼠标以 选择、移动、调整大小、拆分和拖动。

  • 使用 Esc 键可让用户放弃复合鼠标交互,例如移动、调整大小、拆分和拖动。

  • 如果某个对象不支持双击,但用户可能会假设它这样做,则将“双击”解释为一次单击。 假设用户打算执行单个操作而不是两个操作。

    由于用户可能假定任务栏按钮支持双击,因此应以单击方式处理“双击”。

    screen shot of taskbar button and standard pointer

  • 当程序处于非活动状态时,忽略冗余的鼠标单击。 例如,如果用户在程序处于非活动状态时单击按钮 10 次,则将其解释为单击。

  • 请勿使用双拖动或和弦。 双拖动是一个拖动操作,从双击开始,和弦是同时按下多个鼠标按钮。 这些交互不是标准的,不可发现,难以执行,最有可能意外执行。

  • 不要将 Alt 用作鼠标交互的修饰符。 Alt 键保留用于工具栏访问和访问键。

  • 不要将 Shift+Ctrl 用作鼠标交互的修饰符。 这样做太难使用了。

  • 使悬停冗余。 若要使程序可触摸,请充分利用悬停,但仅以不需要执行操作的方式。 这通常意味着也可以通过单击执行操作,但不一定以完全相同的方式执行操作。 大多数触摸技术都不支持悬停,因此具有此类触摸屏的用户无法执行任何需要悬停的任务。

鼠标滚轮

  • 使鼠标滚轮影响指针当前已结束的控件、窗格或窗口。 这样做可以避免意外的结果。
  • 使鼠标滚轮生效,而无需单击或具有输入焦点。 悬停足够。
  • 使鼠标滚轮影响具有最具体作用域的对象。 例如,如果指针位于可滚动窗口内可滚动窗格中的可滚动列表框控件上,则鼠标滚轮会影响列表框控件。
  • 使用鼠标滚轮时不要更改输入焦点。
  • 为鼠标滚轮提供以下效果:
    • 对于可滚动窗口、窗格和控件:
      • 旋转鼠标滚轮将垂直滚动对象,其中向上旋转。 对于方向盘具有自然映射,旋转鼠标滚轮绝不应水平滚动,因为这样做是迷失方向和意外的。
        • 如果按下 Ctrl 键,则旋转鼠标滚轮会缩放对象, 其中旋转放大并向下旋转缩小。
        • 水平倾斜鼠标滚轮可水平滚动对象。
    • 对于不带滚动条的可缩放窗口和窗格, () :
      • 旋转鼠标滚轮放大缩小字体功能 放大 缩小字体功能 放大缩小字体功能
      • 倾斜鼠标滚轮不起作用。
    • 对于选项卡:
      • 无论选项卡的方向如何,旋转鼠标滚轮都可以更改当前选项卡
      • 倾斜鼠标滚轮不起作用。
    • 如果 Shift 和 Alt 键处于低位,则鼠标滚轮不起作用。
  • 使用垂直滚动大小的Windows系统设置 (旋转) 和水平滚动大小 (倾斜) 。 这些设置可通过鼠标控制面板项进行配置。
  • 使旋转鼠标滚轮更快导致滚动更快。 这样,用户就可以更高效地滚动大型文档。
  • 对于可滚动窗口,请考虑单击鼠标滚轮按钮将窗口置于“读取器模式”。 读取器模式会种植一个特殊的滚动原点图标,并在相对于滚动原点的方向和速度上滚动窗口。

screen shot of page with scroll-origin icon

Internet Explorer 支持读取器模式,其中包含滚动源图标

隐藏指针

  • 不要隐藏指针。 异常:
    • 在全屏演示模式下运行的演示文稿应用程序可能会隐藏指针。 但是,当用户移动鼠标时,必须立即还原指针,并在两秒内处于非活动状态后重新隐藏。
    • 没有鼠标 (的环境(例如展台) )可以永久隐藏指针。
  • 默认情况下,当用户在文本框中键入时,Windows隐藏指针。 此Windows系统设置可通过鼠标控制面板项进行配置。

活动指针

Windows中的活动指针是忙碌的指针 (screen shot of doughnut-shaped pointer ) ,以及后台指针screen shot of doughnut-shaped pointer and arrow () 中的工作。

  • 当用户必须等待超过一秒才能完成操作时,显示忙碌的指针。 请注意,忙碌的指针没有热点,因此用户在显示时无法单击任何内容。
  • 当用户必须等待超过一秒才能完成某个操作时,在后台指针中显示工作,但程序响应迅速,并且没有其他视觉反馈,即该操作未完成。
  • 请勿将活动指针与进度条或进度动画组合在一起。

西文插入记号

  • 在文本输入窗口或控件具有输入焦点之前,不要显示插入符号。 插入符号向用户建议输入焦点,但窗口或控件可以在没有输入焦点的情况下显示插入符号。 当然,不要窃取输入焦点,以便上下文外对话框可以显示插入符号。

    Windows凭据管理器在带插入符号但没有输入焦点的情况下显示上下文外。 因此,用户最终在意外的位置键入其密码。

    screen shot of credential manager without focus

  • 放置用户最有可能先键入的位置。 通常,这是用户键入的最后一个位置或文本末尾。

可访问性

  • 对于根本无法使用鼠标的用户,请使用键盘使鼠标冗余。
    • 用户应能够使用鼠标可以使用的键盘执行所有操作,但精细运动技能至关重要的操作,如绘图和游戏游戏。
    • 用户应能够使用键盘执行所有操作,但有效文本输入除外。
  • 对于具有有限能力的用户,可以使用鼠标:
    • 不要双击并拖动执行操作的唯一方法。

有关详细信息和指南,请参阅 辅助功能

文档

引用鼠标时:

  • 避免使用复数鼠标;如果需要引用多个鼠标,请使用鼠标设备。
  • 使用鼠标按钮指示鼠标左键。 不要使用主鼠标按钮。 同样,使用鼠标右键而不是辅助鼠标按钮。 无论准确性如何,用户都会了解这些术语和重新编程按钮的用户进行心理转变。
  • 将滚轮用于鼠标滚轮的旋转部分,使用滚轮按钮来引用可单击的部分。
  • 使用谓词(如单击、点和拖动)来引用鼠标操作。 用户垂直旋转滚轮,水平倾斜,然后单击滚轮按钮。
  • 对于移动文档或文件夹的操作,请使用拖放操作。 可以使用拖放作为形容词,就像“移动文件夹是拖放操作”一样。
  • 始终用连字符双击并右键单击作为谓词。
  • 使用单击,而不是单击。 单击 (,如“在窗口中单击”) 是可接受的。

引用鼠标指针时:

  • 将鼠标指针称为指针。 仅在技术文档中使用游标。
  • 对于具有活动指示器的指针,请对仅包含活动指示器的指针使用忙碌指针,并在组合指针和活动指示器的背景指针中工作。
  • 对于其他类型的指针,请勿使用描述性标签来引用指针。 如有必要,请使用图形描述鼠标指针如何在屏幕上显示。

示例:

  • 指向窗口边框。
  • 使用鼠标,单击“ 最小化 ”按钮。
  • 按住 Shift 并单击鼠标右键。
  • 当指针变为指针 screen shot of arrow with two crossbars时,拖动指针以移动拆分线。

另请参阅