UML软件工程组织

键盘用户界面设计指南
作者:佚名
 摘要:本文描述设计用于 Microsoft Windows 应用程序的键盘用户界面的指南。

概述
 本文描述设计用于 Microsoft? Windows? 应用程序的键盘用户界面 (UI) 的指南。键盘 UI 让用户可以通过只使用键盘或结合使用鼠标(或者另一个指针设备)来浏览应用程序并操作 UI 元素。遵循这些指南将有助于设计一个使您的应用程序对残疾人来说更易于访问的键盘 UI。

键盘 UI 在可访问性方面的角色
 设计良好的键盘 UI 是软件可访问性的一个重要方面。它使盲人用户或有某种行动障碍的用户能够浏览应用程序并与其功能交互。这类用户可能不能够操作鼠标,并且可能依赖于辅助技术(例如,键盘增强工具、屏幕键盘、屏幕放大器、屏幕阅读器和语音输入工具),所有这些技术都要依靠应用程序的键盘 UI。

许多辅助技术以编程方式使用键盘 UI,即使用户没有使用标准键盘输入设备也是如此。尽管一些辅助技术可能有能够使操作更简单的自定义键盘快捷键,但是在键盘 UI 设计上(针对辅助技术以及用于可访问性的所有方面),一致性和标准化对避免使用户产生混淆是很重要的。

Windows UI 设计最大化了输入灵活性。控制面板中的辅助功能选项 (Accessibility Options) 提供了增强键盘功能的工具,如粘滞键、筛选键、切换键和鼠标键。这些工具可以帮助用户用键盘操作应用程序。但是,它们不会取代由设计良好的键盘 UI 提供的辅助功能。

键盘 UI 设计基础
设计良好的应用程序包括两个基本要求:

即使当键盘是唯一的输入设备时它们也必须是可使用的。

 它们还必须是实用而且用户友好的。

以下几节提供了在您开始设计键盘 UI 前应该熟悉的信息。

键盘 UI 设计规则

要设计一个有效的键盘 UI,请使用下列设计规则:

提供对所有功能的键盘访问,并且为键盘界面提供文档。

建议键盘能够执行与鼠标设备相同的任务。在产品手册以及联机帮助中提供键盘 UI 的文档。确保输入焦点位置(在 UI 中,输入在该点被定向)以编程方式直观地提供。

有关更多信息,请参阅输入焦点位置。

 保持键盘导航快速简单。

提供简单的键盘导航方法。键盘导航方法应该像鼠标导航方法一样简单易懂。为普通和重复的任务提供可编程的、可自定义的快捷方法。进行关于应用程序键盘 UI 设计的可用性研究,不使用鼠标而确保易于使用。

有关更多信息,请参阅设计键盘 UI。

 避免意外的键盘 UI 更改。

某个任务所需的击键不应该意外变更。例如,无论选择或者其他模式状态如何,一个命令的下划线访问键应该是相同的。

 提供一个一致的键盘导航模型。

应用程序应该与基本的键盘导航一致以避免系统问题。避免输入焦点中的意外的更改。

有关更多信息,请参阅符合标准键盘导航。

 提供一致的键盘快捷键。

应用程序间一致的键盘 UI 帮助用户了解新应用程序并与之交互。应用程序一定不能影响系统范围内的任何快捷键(用于执行某一命令的一个键或一个键组合),如打开 Start 菜单的 Windows 徽标键 ()。应用程序还必须遵循公认的快捷键分配,例如,用于复制的 CTRL+C 和用于撤消的 CTRL+Z。

尽管如此,这并不意味着所有快捷键都需要被标准化或者应用程序必须总是被强制去支持相同的快捷键。例如,不是所有的应用程序都需要支持 CTRL+P 用于打印。

有关更多信息,请参阅分配快捷键和 Windows 快捷键。
 避免同时发生多个键输入。

除了修改键 SHIFT、CTRL、ALT 和 Windows 徽标键,应用程序不应该要求用户同时按多个键。Windows 操作系统中的粘滞键辅助功能可以通过允许用户按连续顺序按键来模拟键组合。

唯一原始设备制造商 (OEM) 功能键(如便携机键盘上的 Fn 键)是不作为组合键被支持的。

 避免妨碍 Windows 支持的辅助功能选项或模拟输入设备。

应用程序不能妨碍 Windows 支持的键盘和鼠标辅助功能选项,如粘滞键、筛选键、切换键和鼠标键。来自模拟输入设备的输入必须与标准设备的输入相同。应用程序必须能够接受来自键盘或鼠标模拟设备的输入,如用一个屏幕键盘或者串行键设备。

有关更多信息,请参阅GetAsyncKeyState 和检索键的状态。

常见键盘 UI 设计错误和限制

理想情况下,所有应用程序功能都必须可以通过键盘访问。但是,这可能不总是可行的。有时,对一个功能的键盘访问强制用户遵循难以使用的或复杂的步骤。或者要通过该键盘 UI 来实现一个功能可能是编程方式上的一种挑战。

下面的列表描述了与创建键盘 UI 相关联的问题和挑战。

对话框中不一致的导航顺序。

导航顺序必须是合乎逻辑的并且是按照语言的阅读方向的。当一个新控件添加到一个现有的对话框中时,这个顺序经常遭到破坏。在一组控件中,每个控件之间的导航必须是连续并且有序的。

 输入焦点在每个单个的选项按钮上停顿。

输入焦点必须只在选定的项上,而且用户必须能够通过使用箭头键选择其他选项。

 窗格和视图之间的导航不一致或丢失。

窗格和视图用于划分单个窗口以显示多个信息视图。窗格和视图之间的导航必须是合乎逻辑并且对键盘用户可用的。

 自定义树控件中不一致的导航。

树控件是 Windows 中的一种导航模型,键盘模型通常通过公用控件库可用。自定义树控件必须是合乎逻辑的并且遵循标准的导航模型。

 设计欠佳的自定义控件。

通过结合不同的控件并保持与现有控件相似的外观来开发一个新的控件也许更容易。必须使输入焦点既对用户直观可用又对开发人员以编程方式可用。在开发控件时,请使用 Microsoft Active Accessibility? 动态批注 API。

 键盘 UI 冲突。

您可以通过使用标准键和组合键的组合以多种方法分配快捷键。但是,这会导致与为专有功能提供全局键序列的应用程序冲突,与许多辅助技术也会冲突。为避免冲突,不要使用 Windows 全局键序列或用于快捷键的常见序列。

键盘 UI 在辅助技术间变化很大,并且可能与某一应用程序的快捷键冲突。因此,只为重要的击键提供自定义快捷键,并且避免常用键。例如,在许多屏幕阅读器中,用户按 CTRL 键来停止语音评述过程。因此,您应该对最近分配的快捷键和可自定义快捷键进行可用性研究,来避免与系统和其他应用程序冲突。

 用于鼠标操作的键盘 UI。

用户可以使用其他通过键盘或用另一个输入设备模拟鼠标操作的工具。但是,这些工具不会替换一个设计良好的键盘界面。例如,一个简单的拖放操作可能需要超过 40 次复杂的击键,而一个盲人用户可能会发现要用击键来执行视觉操作是困难或者不可能的。

一个需要广泛使用鼠标的应用程序可以通过使用逻辑绘图对象和控制命令提供一个有效的键盘 UI。应用程序会通过对选定对象使用诸如 Rotate、Flip 和 Move 等命令提供有效且合乎逻辑的导航,而非在一个像素接一个像素的基础上操作控件。

关于常用快捷键的更多信息,请参见 Windows 快捷键。

设计键盘 UI
在您了解了设计键盘 UI 的基本规则后,您可以开始考虑用户将如何使用键盘 UI 来浏览您的应用程序并与其功能及 UI 元素交互。

符合标准键盘导航

用于创建一个设计良好的键盘界面的优秀实践是,让其模仿用户已经熟悉的界面,以及与其他常用应用程序和控件兼容的界面。下面一节描述在设计键盘 UI 时要牢记的标准键盘导航实践。

以合乎逻辑的顺序浏览

用户移动或浏览一个 UI 的元素的顺序必须合乎逻辑,并且与用于编写该 UI 的自然语言一致。在一个设计良好的 UI 中,导航顺序从最常用的控制开始并按语言被阅读的方向流动。例如,在一个用英语编写的 UI 的对话框中,导航顺序从左到右、从上到下移动。

在 Windows 应用程序中,用户通过按 TAB 键将输入焦点从一个 UI 元素移动到另一个来进行浏览。他们按 SPACEBAR 或 ENTER 键来选择当前选定的活动区域,或者激活一个控件或命令。按 SHIFT+TAB 键组合反转导航顺序,将输入焦点经由那些元素向后移动;按箭头键将输入焦点按指定的方向在一组元素内移动。关于输入焦点的更多信息,请参阅输入焦点位置。

下面的图 1 阐释了通过一组控件的导航顺序。它有两个选项按钮:Default Printer 和 File;以及两个命令按钮:OK 和 Cancel。File 选项按钮是一个独立控件,而文本框是一个依赖控件,这意味着只有当 File 按钮已经被选定时才可使用。

这类控件的导航顺序总是从选定的选项按钮(如 File)开始,然后按其依赖控件的顺序进行。接着它移动到到窗体中的其它控件,如 OK 命令按钮。正确地分配导航顺序以确保所有控件在正确的时间以一个合乎逻辑的序列可用是很重要的。

图 1. 通过一组控件的导航顺序


直观导航顺序通过禁用(变灰)所有当前依赖于未选定的选项按钮被强制使用。当一个选项按钮被选定时,其所有的依赖控件跟着被启用。要避免使用户产生混淆,当一个用户选择某一有依赖控件的选项按钮时,输入焦点绝对不能自动移动到第一个依赖控件。

在 Windows 窗格间浏览

当一个窗口被划分为两个或更多个窗格时,键盘用户可以通过按 TAB 键或 SHIFT+TAB 键组合在它们之间移动。它们可以按箭头键来在一个单窗格中的一组元素内移动输入焦点。如果某一窗口有许多活动的 UI 元素,考虑分层排列每个窗格。

下列击键用于在一个窗口内的窗格之间移动:

只有在 TAB 键没有被窗口内的任何其他控件使用时,它才将输入焦点移动到活动窗格的下一个区域。

 CTRL+TAB 快捷键或 F6 功能键将输入焦点移动到下一个窗格或调色板。

 CTRL+F6 组合将输入焦点移动到一组相关窗口中或多文档界面 (MDI) 窗口间的下一个窗口。

始终为分层导航的快捷键提供文档,它们是应用程序专用的并且提供一个唯一的键盘界面。

在字段内浏览

通过对话框或窗体上的控件的导航应该是连续且无障碍的,而且不会导致用户更改值或接收到错误消息,这是很重要的。对于在无论何时用户离开它们时验证其内容的控件来说,这可能是困难的。在这些实例中,窗体或控件必须遵循下列约定之一:

在导航期间决不要求用户更改控件的初始值。所有在退出时验证的控件必须以有效值开始。例如,用户必须能够在不应用新值的情况下在控件间移动输入焦点,直到他们按 Submit 按钮为止。

 只在控件值改变并且用户试图将输入焦点移出该控件时验证控件值。定位到(或者离开)一个字段不会更改其值。

 当用户选择 OK 或提交更改的等效命令时,更改以验证字段。这种情况下,您必须允许用户取消操作或选择一个命令来恢复默认的值。

通过匹配字符导航

应用程序必须为使用匹配导航在一个项列表中移动输入焦点的用户提供反馈。在匹配导航中,用户通过键入匹配列出的项的前几个字母的字符定位一个列表。有两种方法来向用户展示匹配字符串缓冲区中的字母:

当用户将输入焦点移动到一个基于部分匹配的项时,输入焦点指示符是在匹配字符而不是整个项的周围,来展示已经键入的是什么。

 一个工具提示在输入焦点附近打开以展示匹配字符串缓冲区内容。

应用程序必须提供反馈以帮助用户正确地完成匹配导航。要确保应用程序提供这种类型的反馈,请使用下列指南:

当匹配字符串缓冲被清除(在一段时间没有输入后或当用户按 BACKSPACE 键)时,输入焦点指示符围绕在整个项周围。

 如果缓冲区内容没有任何项,该缓冲被清除并且 PlaySound 函数被调用。这会播放一个指示无效输入的默认声音。

 用户执行另一个操作时(如单击鼠标或按一个非打印字符来离开一个控件,或者手动将输入焦点移动到另一个项),缓冲必须被清空。

关于匹配导航的更多信息,请参阅提供自动完成。

与 UI 元素交互

设计良好的键盘 UI 允许用户与所有 UI 功能和元素交互。下一节描述当考虑如何为您的应用程序提供键盘访问时要牢记的功能和任务。

访问菜单和对话框

菜单和对话框是 Windows 操作系统中两个最常见和最标准化的 UI 元素。菜单将相关命令分组到列表内,对话框将重要功能分组到窗口中。要确保键盘用户能够通过按 ALT 键进入和退出菜单。为了防止菜单变得太长且难以使用,对其进行配置以便多数命令从视图看是隐藏的,除非用户要求访问完整的列表。

拆分窗口

许多应用程序支持拆分条,它允许用户将一个窗口拆分成多个窗格。确保用户能够使用键盘命令定位并调整拆分块。实现这一点的一个常见方法是提供用于添加、移动及重新定位拆分条的菜单命令。将这些命令放在 Window 或 View 菜单下,或者放在一个快捷菜单中。例如,在 Microsoft Word 中,用户可以通过使用 Window 菜单中的 Split 命令定位或删除拆分条。

调整元素的大小和位置

多数窗口都有允许用户调整 UI 元素和对象的位置和大小的 Move 和 Size 命令。这些命令位于 System 或 Control 菜单中。可以使用 ALT+SPACEBAR 键组合访问 Control 菜单,这个菜单出现在标题栏的左端。它使用户能够使用键盘来执行 Control 菜单操作。这些命令也可以提供给菜单栏或对象的快捷菜单上的应用程序特定的对象。

如果 Size 命令能够以逻辑或数字方式完成,它会更加强大。例如,在 Microsoft Excel 中,用户可以使用 Format 菜单来以逻辑或数字方式更改列或行的宽度。在列表视图中,数字键盘上的快捷键 CTRL+ (+) 键调整所有列宽以装下单元格的内容。

控制复杂属性

一个设计良好的键盘界面还允许用户通过调整对象属性表上的值来操作对象。例如,图 2 展示了出现在 Microsoft Visual Basic? 窗体旁边的属性表。想要调整 OK 按钮的左边缘的用户可以使用键盘来更改属性表中的 Left 属性的值。

图 2. Visual Basic 属性表


访问工具栏

对鼠标用户来说,工具栏是一个强大的 UI 解决方案,但是它对键盘用户通常是不可访问的。确保您的应用程序通过使用菜单、键盘快捷键或工具按钮包含相等或相似的工具栏功能。例如,打印功能可以使用工具栏上的 Print 按钮或者 CTRL+P 快捷键来完成。

Microsoft Office 有一个能够被自定义并且使键盘可访问的扩展工具栏界面。

访问选项卡控件

当对话框有大量选项或 UI 元素时,您可以使用选项卡控件通过分类来组织它们。如图 3 所示,选项卡控件可以将控件划分到几个页面,通过快捷键(如 CTRL+TAB、CTRL+PAGE UP 和 CTRL+ PAGE DOWN)来访问。通常,选项卡控件在活动 UI 元素的导航顺序内。当输入焦点在控件上时,用户可以通过使用箭头键浏览不同的元素。访问每个元素的顺序必须是合乎逻辑的,这样用户才不会感到困惑。

图 3. 选项对话框选项卡控件


设置定时控件

键盘 UI 必须为调整计时、禁用超时或共享计时的系统范围设置提供选项。这使不能快速响应的用户能够访问这些控件。

用户可以通过控制面板设置几个不同的键盘行为,如 Keyboard Properties 和 Accessibility Options。基于 Windows 的应用程序必须支持由其用户设置的键盘选项。使用 SystemParametersInfo 函数来读取设置。
有关更多信息,请参阅用于键盘 UI 的 Windows 系统参数。

显示工具提示

工具提示是当用户将光标定位在按钮或 UI 控件上时出现的一个文本批注框。工具提示包含必须显示给键盘用户的重要信息。当用户将输入焦点保持在一个 UI 控件上一段时间时,使用相同的鼠标计时标准 (SPI_GETMOUSEHOVERTIME) 来使工具提示显示出来。

创建快捷键和访问键

键盘用户可以使用单个键和键组合作为快捷键来跳过菜单并执行命令。这些键被称为快捷键和访问键,即便是鼠标用户也发现使用它们比使用鼠标单击屏幕对象会更快捷并且更不易疲劳。下列指南描述如何创建快捷键和访问键。
分配快捷键

快捷键是一个单个键或者键组合,它让用户能够通过使用键盘快速访问频繁执行的操作。例如,应用程序键,让用户能够显示快捷菜单来移动或复制项。如图 4 所示,当输入焦点在 Windows 资源管理器中的一个文件夹上时按这个键,将打开一个使用户能够将文件有效率地移动或发送到其他位置的快捷菜单。这与拖放鼠标的操作相似。

图 4. Windows 资源管理器和快捷菜单


在创建快捷键时,CTRL+ 字母 组合和功能键(F1 到 F12)通常是最好的选择。例如,对 Cut、Copy 和 Paste 命令的键盘替代快捷键分别是 CTRL+X、CTRL+C 和 CTRL+P。

国与国之间的键盘设计不同,所以应该避免使用不能跨不同语言使用的字符或者由系统保留的快捷键组合中的字符。建议国际应用程序中的快捷键是可自定义的,这是因为记忆关联在一些语言中可能是没有用的,比如用 CTRL+B 设置粗体。

使用下列指南来设计快捷键:

分配简单并且一致的键组合。

 使快捷键可以自定义。

 对表示大范围影响的操作,使用带有 CTRL 键的快捷键,如用于保存当前文档的 CTRL+S。

 对扩展或补充标准快捷键操作的操作使用 SHIFT+ 键 组合。例如,ALT+TAB 快捷键显示正在运行的应用程序的主窗口。或者,SHIFT+ALT+TAB 键组合允许您向后浏览前面已经访问过的当前运行中的应用程序。

 使用 SPACEBAR 键作为控件的默认操作,如按一个按钮控件或切换复选框控件的状态。这与单击鼠标的左键或主键是相似的。

 使用 ENTER 键(如果可用)作为对话框的默认操作。

 使用 ESC 键来停止或撤消一个操作。

 避免将已修改字母或区分大小写的字母用作快捷键。

 避免将下列字符用作快捷键:@ ???_ $ {} [] \ ~ | ^ ' < >

 避免 ALT+ 字母 组合,这是因为它们可能与访问键冲突。此外,系统将很多特殊键组合用作专用输入,例如,ALT+~ 调用一个日语输入编辑器。

 避免 CTRL+ALT 组合,这是因为在一些语言版本中系统将这个组合解释为生成字母数字字符的 ALTGR 键。

 避免分配由系统保留或定义的组合,或者其他应用程序经常使用的组合。

 不要将 Windows 徽标键作为组合键用于非系统级的功能。

关于快捷键的更多信息,请参阅 Windows 快捷键。

选择访问键

访问键是与 ALT 键一起使用以激活控件的字母数字键。如图 5 所示,访问键是常见而高度可视的,并且显示为菜单或 UI 控件上的带下划线的字母。

图 5. 菜单访问键


随着用户开始熟悉一个应用程序,他们更可能去使用访问键来加速常见操作。这个趋势在辅助技术用户中更为常见。例如,屏幕阅读器依次显示 UI,这样用户可以阅读或倾听以发现系统选择了什么 UI 元素。访问键在这个复杂过程中是很有用的,尤其是在一个组有很多控件的时候。

在 Microsoft Win32? 应用程序中,您可以通过在分配给访问键的字母前放置一个“&”符为公共控件分配访问键。例如,用于已经分配了 &Settings 的按钮控件的访问键是 S。在 HTML 文档或应用程序中,您可以通过指定 ACCESSKEY 和 TABINDEX 属性指定快捷键和导航顺序。

下列设计规则帮助确保访问键提供一个固定的可访问性解决方案:

使访问键可发现。

访问键必须是用户容易找到的。为访问键选择尽可能靠近标签开头的字母 — 例如,Settings。下面是一些好的字母选择:

标签的第一或第二个单词开头的字母。

 标签中与众不同的辅音或元音字母。

 宽度较宽的字母,如 w、m 和大写字母。

避免使用当它们被分配为访问键时难以看清的字母。这些字母包括:

带下伸的字母,如 p、g、q 或 y。

 在带下伸的字母旁边的字母。

 只有一个像素宽的字母,如 i 或 l。


 避免重复访问键。

使访问键分配保持唯一;重复的访问键会使用户产生混淆。如果绝对有必要,您可以分配一个重复的访问键,但是要确保它不会妨碍用户的键盘操作。一些控件允许输入焦点在相同范围内的带有重复访问键的控件之间移动,如标准菜单和列表视图控件。

如果标签中没有字符可用,您可以重命名控件或者在标签末尾附加一个用括号括起来的访问键 — 例如,Next (>)。或者,您可以省略一些分配给一些 UI 控件的访问键,这取决于命令的使用频率。

 不要将访问键用于默认按钮或对话框模板中的按钮。更具体一些注意事项有:

不要将访问键分配给 OK、Finish 或 Cancel 命令按钮。OK 或 Finish 通常被分配给 ENTER 键用于对话框默认操作,而 Cancel 被分配给 ESC 键。

? 不要将访问键分配给对话框模板中的按钮(如 OK、Cancel 和 Apply 按钮)。不允许它们与特定页面上的那些控件冲突。

将这些按钮按对话框的 TAB 键顺序定位,或将默认和取消操作分配给 ENTER 和 ESC,是可以接受的解决方案。

带下划线的访问键

在 Microsoft Windows 2000 之前的 Windows 版本中,带下划线的访问键在任何时候都可见。在 Windows 2000 和以后的版本中,如果用户不使用它们,就可以将其隐藏。

如果您的应用程序正在使用标准菜单和对话框,这个行为就是自动的。但是,绘制其自己的自定义控件的应用程序(如菜单和对话框)必须适当地显式处理这一点。当您正在决定到哪里为访问键设置下划线时,请牢记下面的情形:

设置系统参数以显示访问键的下划线。

用户可以通过控制面板调整下划线的默认设置。如果系统参数指示访问键总是带有下划线的,那么应用程序将始终在访问键下面显示下划线。(默认设置隐藏下划线。)

关于这些设置的更多信息,请参阅 Platform SDK 中的 SystemParametersInfo 函数的 SPI_GETMENUUNDERLINES 或 SPI_SETMENUUNDERLINES 参数。

 通过使用键盘与菜单或对话框交互。

用户可以做下面的事情:

通过按一个键组合(如 ALT、F10 或 SHIFT+F10)调用某一菜单。

 通过使用鼠标调用某一菜单,但随后使用键盘在菜单间浏览。在用户通过使用键盘与某一菜单交互后,直到菜单关闭为止,所有访问键都必须带有下划线。

 按一个键来激活另一个控件,如按 TAB 键时将输入焦点移动到另一个控件或按 SPACEBAR 键时选择一个选项控件。下划线必须保持显示,直到用户关闭对话框或容器。

提供可自定义的键盘 UI

要适应不同的可访问性需要,应用程序必须有一个易于自定义的键盘 UI。您可以通过在键盘 UI 中包括下列功能来提供这种可自定义能力:

自定义快捷键。

这使用户可以为频繁使用的命令分配新的快捷键。用户也可以更改默认快捷键,以便其不会与辅助技术冲突。

 自定义菜单。

这些菜单允许用户添加他们自己的命令。另外,它们可以为用户提供一个选择:有多个级别的菜单。

 用于自定义宏的键盘快捷键。

应用程序可以允许用户为自定义宏分配个人键盘快捷键。从而,用户可以通过使用单一击键执行多个命令。

系统范围控件(如组合框或列表视图)自动支持完整的键盘辅助功能。但是,当您在做下列工作时,确保提供自定义键盘界面:

创建自定义窗口类或控件。

 改变标准窗口或控件的正常行为。

 在窗口或控件(如对话框)中分配键盘导航。

 将语音识别技术用于用户输入或命令。

 通过使用标记语言创建控件。

 将客户端脚本或插件用于用户输入或命令。

自定义键盘 UI 必须与相似的应用程序的 UI 一致并进行彻底测试。更改过的控件必须支持等同于标准控件行为的键盘行为。

定位并扩展选择

设计良好的键盘 UI 使键盘用户能够做扩展选择,如在一个列表选择两个或更多项或突出显示几段文字。扩展选择的初始点叫做定位点。输入焦点的最终点叫做终点。当用户做出扩展选择时(如通过按住 SHIFT 键并移动光标突出显示一段文字),在定位点和终点间的所有项将会处在选定状态。通常,除非按住 CTRL 键,否则所有其他项将不会被选定。

一个单个可选择控件可能需要支持 SPACEBAR、CTRL + 箭头键或者箭头键。在一个多列表视图控件中,SPACEBAR 键与修改键以及箭头键的组合是选择、输入焦点和定位点导航所需的。

如需更多信息,请参阅对话框和公共控件快捷键。

线性扩展选择示例

用户可以做出的扩展选择的一种类型是线性扩展选择。Windows 资源管理器的详细视图模式是线性或单一维度中的多选列表的一个示例。图 6 展示一个由 5 个文件夹(标记为 A 到 E)组成的多选列表视图。下面的过程阐释当浏览图 6 中展示的列表时,定位点和扩展选择的行为:

1.
通过只选择文件夹 A 定位初始输入焦点。

2.
按向下箭头键。文件夹 A 变成未选定,文件夹 B 变成已选定,并且收到定位点和输入焦点。

3.
按 SHIFT+ 向下箭头键。文件夹 B 保持选定并保留定位点,同时文件夹 C 变成已选定并获得输入焦点。(定位点没有移动,这是因为用扩展选择操作选定了文件夹 C)。

4.
按 CTRL+ 向下箭头键。文件夹 B 和 C 保持选定并且 B 保留定位点。文件夹 D 获得输入焦点。(因为按了 CTRL 键,所以文件夹 D 没有被选定)。

5.
按 CTRL+ 向下箭头键。文件夹 B 和 C 保持选定,文件夹 B 保留定位点,文件夹 E 获得输入焦点。

6.
按 SHIFT+SPACEBAR 以扩展选择。文件夹 B、C、D 和 E 变成选定,文件夹 B 保留定位点,文件夹 E 保有输入焦点。

7.
按 CTRL+SPACEBAR 来取消选定文件夹 E。文件夹 B、C 和 D 保持选定,但是定位点移动到保留了输入焦点的文件夹 E。

8.
按 CTRL+ 向上箭头键两次。文件夹 C 获得输入焦点,文件夹 E 保留定位点,文件夹 B 到 D 保持选定。

9.
按 SHIFT+SPACEBAR。选择从定位点位置(未选定的文件夹 E)扩展到文件夹 C。文件夹 C、D 和 E 变为选定,但是文件夹 B 变为未选定。

列表视图是灵活的,而且与键盘 UI 和辅助技术兼容。虽然多选列表框与扩展选择列表框在视觉上没有区分,您可以考虑将它们设计成显示为所有者描述的复选框的可滚动列表(如图 6 中图像右侧所示)。复选框对键盘用户来说有时更容易浏览和选择。您可以将由公共控件(如 LVS_EX_CHECKBOXES)支持的窗口样式用于列表视图。或者您可以使用 Microsoft Active Accessibility 来包含额外的所有者描述的图形的信息。

图 6. 多选列表


二维扩展选择的示例

用户可以做的扩展选择的另一种类型是二维扩展选择。下面的表阐释一个由 3 行 4 列组成的数组。


(1,1)
(1,2)

定位点:

按 CTRL 时,输入焦点开始。
(1,3)
(1,4)
(2,1)
(2,2)
(2,3)

Input focus is moved here using CTRL+ arrow keys.
(2,4)
(3,1)
(3,2)
(3,3)
(3,4)

下列过程阐释选择单元格(1,2),并扩展选择以包含单元格(2,3)的两种方法:

选择定位点和当前输入焦点(单元格(1,2)、(1,3)、(2,2)和(2,3)将被选定)之间的矩形区域中的所有项。在某行的右边缘没有连接到下一行的左边缘的情况下使用这种方法(比如在表网格控件中)。

 选择从定位点到当前输入焦点的所有项,按逻辑顺序读取(在以英文编写的对话框中从左到右,从上到下)。单元格(1,2)、(1,3)、(1,4)、(2,1)、(2,2)和(2,3)将被选定。在右箭头键从某行的右边缘折到下一行的左边缘的情况下使用这种方法。对大多数编辑控件来说这是典型的行为,虽然一些控件可能支持与线形扩展选择示例相似的块选定。

非法的多选操作

任何对创建一个不受支持的扩展选择或不连贯选择的尝试(如在一个列表的最后项之外滚动)都必须激活一个生成警告声音的错误事件。此外,当前的选择绝对不能通过操作以任何方式更改。例如,在应用程序中,如果用户在只有两项被允许的时候试图选择第三个项,就必须发生一个错误事件。

一些应用程序忽略旨在使选择扩展或不连贯的修改键。对可用性来说这是很关键的,由于残疾或者项被滚出了视图,用户不能察觉到视觉反馈,因此他们可能没有意识到选择是无意的。

要避免非法多选操作,请遵循这些指南:

在列表末端提供反馈。

当用户在一个项列表(如列表视图中的图标,或对话框中的列表控件)中导航时,该用户需要知道它们什么时候已经到达了列表的末端。

如果用户试图在列表中的最后项之外浏览,应用程序绝对不能移动输入焦点,并且必须调用 PlaySound 函数来播放通常发出信号表示无效输入的默认声音。通常,最好在停止时给以反馈。将输入焦点移回到列表中的第一个对象而没有反馈可能会有问题。例如,盲人或低视力用户可能没有意识到它们已经回到了列表的起点。

 激活警告事件。

只要用户按了一个无效的键或者导航键不能移动输入焦点,应用程序必须激活警告事件。例如,当插入点在一个文本字段的左端并且用户按左箭头键试图将输入焦点移动到字段外时,应用程序必须激活警告事件。当激活该警告事件时,调用 PlaySound 函数来播放默认声音。

提供自动完成

自动完成是当用户从键盘输入一个文本字符串时,自动完成它或者建议可能匹配的文本字符串的一种功能。如果您的应用程序提供自动完成,请确保它符合下列标准:

应用程序不应该试图完成一个字符串,除非有足够的信息在可用值或预定义值中标识该字符串。

 在字符串已经标识之后,字符串剩余的部分应该以一种选定的状态紧接在已经输入的部分之后显示。因此,用户键入的任何其他字符将替换由自动完成功能建议的文字。在该点,将会建议另外的文字。它也能表现得恰如在一个编辑控件中有一个部分选定的字符串一般。

检索键的状态

除非绝对必要,否则请避免使用 GetAsyncKeyState 函数检索一个键或者一个鼠标按钮的状态。GetAsyncKeyState 查询硬件驱动程序来确定物理键或按钮的状态,但是忽略任何被人为按下或被辅助功能模拟的键。

如果可能,您必须使用 GetKeyState 函数,它正确地反映任何模拟输入。不过,可以在某些情况下调用 GetAsyncKeyState,如当用户击一个键来中断一个需时较长的处理任务时。

在处理鼠标拖操作时,您必须避免用 GetAsyncKeyState 函数检测鼠标按钮何时被放开。相反,您必须使用 SetCapture 函数并等待一个键抬起消息。

如果您使用 GetAsyncKeyState 函数,那么结果可能与使用其他 Windows 函数和消息获得的结果不同。这会导致您的应用程序与系统上的其他软件行为不一致。

输入焦点位置
大多数辅助技术需要了解输入焦点的位置。例如,屏幕阅读器用它来确定用户正在使用的文本或对象,屏幕放大实用工具用它来确定要对哪些对象取景并放大。其他实用工具,如屏幕键盘,用它来重新安排窗口以避免覆盖选定的对象。

对辅助功能来说,应用程序既将输入焦点对用户一致显示又将其对开发人员以编程方式显示是很重要的。基于 Windows 的应用程序中的标准控件对输入焦点已经有了相应的支持,而且通常不需要额外工作。但是,所有者描述的自定义控件可能需要额外的工作来公开附加信息或最新添加的行为。

在设计键盘 UI 时,关于输入焦点,请使用下列指导原则:

使输入焦点显而易见。

以一种明显、直观并且易于看到的方法使输入焦点在视觉上可区分。避免使用不明显的指示器,或者提供一个选项来用高度可视的指示器替换它们。在 Microsoft Windows XP 中,系统输入焦点矩形的大小是可调的,设置值存储在 SPI_GETFOCUSBORDERWIDTH 和 SPI_GETFOCUSBORDERHEIGHT 中。对于自定义控件,调用 DrawFocusRect 函数,或按系统参数设置的大小画线。

 显示输入焦点指示器。

在窗口首次打开或变为活动时,显示输入焦点指示器。

关于这个指南的例外情况,请参阅输入焦点例外。

 只在活动窗口显示输入焦点。

当窗口丢失输入焦点时,应用程序必须隐藏任何输入焦点指示器。如果输入焦点到了一个屏幕外的控件,该窗口控件必须滚入一个可以显示输入焦点的视图中。

 每次只显示一个输入焦点指示器。

任何时候输入焦点都只能在一个位置。如果一个窗口有单独的窗格,必须只有一个窗格有输入焦点。其他窗格中的输入焦点指示器必须隐藏。

在没有输入焦点的窗口或窗格中显示不活动的 选择通常是很重要的。但是该输入焦点指示器必须从不显示在不活动的窗口或窗格中。

 输入焦点和选择之间的区别。

设计您的 UI 从而使输入焦点和选择分别显示 — 即使它们可能通常被链接起来。这允许应用程序在需要时支持多选或不连贯选择,并且能够允许应用程序在没有输入焦点的窗口或窗格中显示不活动的选择。例如,在列表视图中,用一个围绕它的虚线矩形突出显示选定的项。

以编程方式公开输入焦点

Windows 公共控件自动公开输入焦点,但是您必须使用 Microsoft Active Accessibility 来为您应用程序中的自定义控件或窗口内容公开输入焦点位置。使用下列过程来在您的应用程序中以编程方式公开输入焦点:

1.当输入焦点移动到一个不是整个窗口的对象时,调用 NotifyWinEvent。

 2.当用来查询输入焦点对象时,处理 WM_GETOBJECT 消息。

 3.支持与 Microsoft Active Accessibility IAccessible COM 界面一起显示的自定义 UI 元素的 IAccessible::get_accFocus 属性。有关更多信息,请参阅 Microsoft Active Accessibility

输入焦点例外

在下列情况下,选定的窗口不必显示输入焦点指示器:

击键应用于整个窗口区域,如当唯一有效的操作是要激活一个菜单时。

 窗口第一次打开,只要按 TAB 键就会使输入焦点显示在窗口中的第一个对象上。这在下列情况中不适用:

设置了键盘首选项标志。

 输入焦点正在返回一个窗口,该窗口先前在一个对象上显示了输入焦点。

 按 TAB 键导致输入焦点移动到窗口中的第二个项。

输入焦点变化

有时扩展或不连续的选择让确定输入焦点位置很困难。您应该考虑输入焦点独立于选择,即便是当它们定位在相同的位置时。下列主题提供有助于阐明这个区别的示例。

文本中的插入条

当用户在文本中移动插入条时,它通常显示为一个被称为系统光标的闪动的垂直条,如图 7 所示。该光标可以被放置在屏幕上的任何位置,做成任何形状或大小,而且如果需要,可以使其不可见。当应用程序画出其自己的插入条,它必须仍不可见地移动光标,跟踪可视指示器的位置和边框。

图 7. 带有闪动光标的文本


Windows 2000 操作系统及更高版本支持系统参数通过 SPI_GETCARETWIDTH 指定光标的宽度。用户可以通过控制面板中的 Accessibility Options 更改设置。绘制其自己插入点的应用程序必须遵循为系统指定的设置。

光标必须从基插入点向选定文本方向加宽。这个方向可能会随编辑框的方向或用户正在键入的语言而改变。在支持从右到左语言的 Microsoft Windows 和 Office 中,一个小指示器显示插入点的方向。

光标必须被调整大小并定位以覆盖屏幕元素的边框,这样屏幕放大工具就能够放大对象的任何部分。这帮助用户和辅助功能工具查找正确的标签和大小。

调整系统光标的大小和形状

1.调用 CreateCaret 函数来设置焦点大小和形状。

 2.调用 SetCaretPos 函数来将光标移动到可视输入焦点指示器所在的位置,如突出显示的单元格、图标或按钮。

 3.如果需要,调用 ShowCaret 函数来使光标可见。应用程序可以通过不调用 ShowCaret 函数保持光标不可见。

 4.当输入焦点被移动到一个不同大小的对象时,应用程序必须调用 DestroyCaret 函数,并从 CreateCaret 函数重新开始来调整大小并定位其新的输入焦点位置。

当窗口不再是活动的或者没有可视输入焦点指示器时,应用程序必须删除可视指示器并调用 DestroyCaret 函数。

输入焦点和对象选择

当用户作出扩展选择时,选择的一个结尾是活动的或者移动的结尾。这表示最终输入焦点位置。

应用程序必须始终在选择的活动结尾显示一个可见插入点以指示输入焦点位置,如图 8 所示。

图 8. 在选择的活动结尾显示可见插入点的文本


当用户将输入焦点移动到一个对象(如图标或带有有邻近标签的位图)时,应用程序必须定位系统插入标记或在该对象上的不可见光标以及可视指示器。

如果输入焦点是在一组可多选图形对象内,应用程序必须用突出显示指示选定的对象,以及带有虚线的焦点的对象。被选定并有输入焦点的对象必须与其他没有焦点但可能既有突出显示又有虚线属性的选定对象区分开来。要以编程方式定位输入焦点,应用程序必须定位不可见系统光标以覆盖对象。

不连贯选择通常在不连续项中被支持,且有时在一个文档中被支持。输入焦点可以被定位在一个对象上,而且可见输入焦点必须与选择明确地区分开来。选定的项可以被定位在选择内或选择外。

自定义无窗口控件上的输入焦点

当应用程序有一个没有其自己的窗口句柄的自定义控件(如无窗口的自定义命令按钮)时,输入焦点与整个控件关联。一个不可见系统光标必须完全覆盖输入焦点。如果此类控件包含多个表现为单个控件的 UI 组件,那么输入焦点就必须充分定位在单个子组件上。

如果控件有其自己的窗口句柄,可能就没有必要通过使用系统光标来标识位置了。如果控件是一个无窗口控件,则使用来自 Microsoft Active Accessibility 的工具来测试输入焦点。

有关更多信息,请参阅复合自定义控件中的输入焦点和输入焦点验证。

复合自定义控件中的输入焦点

复合控件(如列表框)在更大控件内的单个元素上定位输入焦点。在复合控件中,应用程序必须将输入焦点的位置显示为有输入焦点的元素的边框。即使应用程序可能认为项的集合是一个单一控件,但为了公开输入焦点,每个项必须被作为一个单独的控件元素来处理。

下拉列表是一个典型的带有编辑框和列表框的复合控件。当控件打开下拉列表时,焦点被定位在列表中突出显示的项上,如图 9 所示。

图 9. 下拉列表框


网格控件或电子表格中的输入焦点

在电子表格或网格控件内,输入焦点通常放在一个单元格上,而不是放在在编辑栏中。粗的单元格边框指示输入焦点,而且应用程序必须将输入焦点位置显示为选定单元格上的边框。如果用户开始编辑一个单元格的内容,应用程序必须视内容文字或图形而相应地指示输入焦点。

在只对鼠标设备可用的对象上的输入焦点

虽然应用程序必须提供对所有功能的键盘访问,但是一些对象只能使用鼠标来操作。只要鼠标选择对象而且对象能接收键盘输入,应用程序必须用相应的系统输入焦点显示边框。当输入焦点被移动到可能获取未来键盘输入的另一个对象时,应用程序可以释放输入焦点。

输入焦点验证

有可用于验证输入焦点位置和大小的测试工具。在 Microsoft Active Accessibility SDK 中,Inspect Objects (Inspect.exe) 和 Accessible Event Watcher (AccEvent.exe) 可以被用来测试系统输入焦点的位置和被显示辅助技术的光标。

Microsoft 放大镜也使一个用于检查输入焦点和光标可用性的有用工具,但并不是始终都提供详细的信息。对于官方应用程序测试,建议使用在 Microsoft Active Accessibility SDK 中可用的测试工具。这些工具可以显示来自输入焦点的准确位置和事件。

关于 Inspect Objects 和 Accessible Event Watcher 测试工具的更多信息,请参阅测试工具。关于相关编程接口,请参阅 Active Accessibility 用户界面服务。


 用于键盘 UI 的 Windows 系统参数
Windows 操作系统支持许多在应用程序和系统本身之间共享系统范围选项设置的系统参数。应用程序可以通过调用带有指定 SPI 值的 SystemParametersInfo 函数访问系统范围的设置。使用这些设置的应用程序必须监视 WM_SETTINGSCHANGE 消息以响应或充分地调整配置。

有许多键盘 UI — 在操作系统中可用的相关系统参数。,虽然由于大多数系统参数是通过控制面板来控制的,应用程序通常只读取那些设置,但许多系统参数值都有通过 API 的读写过程。系统参数及其相应的 API 名称和描述展示在下表中。

键盘 UI — 相关系统参数
系统参数 SPI 值 描述
键盘首选项
SPI_GETKEYBOARDPREF
获得用户键盘界面首选项的设置。

访问键下划线
SPI_GETKEYBOARDCUES

SPI_GETMENUUNDERLINES
获得访问键下划线的设置。

获得访问键下划线的设置。

焦点矩形边框
SPI_GETFOCUSBORDERHEIGHT

SPI_GETFOCUSBORDERWIDTH
获得焦点边框高度的设置。

获得焦点边框宽度的设置。

光标宽度
SPI_GETCARETWIDTH
获得系统光标宽度的设置。

Windows 辅助功能选项和键盘重复率
SPI_GETFILTERKEYS

SPI_GETMOUSEKEYS

SPI_GETSTICKYKEYS

SPI_GETTOGGLEKEYS

SPI_GETKEYBOARDDELAY

SPI_GETKEYBOARDSPEED
获得筛选键选项的设置。

获得鼠标键选项的设置。

获得粘滞键选项的设置。

获得切换键选项设置。

获得键输入的延迟时间的设置。

获得键输入重复率的设置。

工具提示
SPI_GETMOUSEHOVERTIME
获得要显示工具提示的延迟时间的设置。

注SPI_GETSERIALKEYS 没有在这里列出,这是因为它只在早期的 Windows 平台(Windows 版本 9.x)中被支持。来自串行键设备的输入必须被应用程序以与接收来自标准键盘或鼠标输入设备的输入相同的方式接收。

关于键盘首选项标志

在键盘首选项标志 (SPI_GETKEYBOARDPREF) 被设置时,通常隐藏一些键盘 UI 元素或省略一些键盘机制的应用程序必须完全显示它们。该标志(由用户在控制面板中设置)忠告应用程序 — 用户对键盘的依赖胜于鼠标,所以在适当的时候必须提供额外的支持。

其他资源
关于 UI 设计和开发的更多信息,请参阅用户界面和 Microsoft Windows 用户体验 (Microsoft Press;ISBN: 0-7356-0566-1)。

关于以名称和类别分类的关于辅助技术工具的更多信息,请参阅搜索辅助技术。

Windows 快捷键
正如在设计键盘 UI 一节中说明的,对应用程序来说,在使用快捷键时与其它应用程序保持一致是很重要的。本节介绍一系列在 Windows 中使用的快捷键。为了与其他基于 Windows 的应用程序一致,建议您以一种相似的方法映射快捷键。如需更多信息,请参阅应用程序通用快捷键。

注本节是关于常用快捷键的概述。如果您通过 Microsoft 终端服务客户端连接到 Windows,视您的配置而定,一些快捷键可能会有变化。一些键盘快捷键可能要求 Microsoft Natural? Keyboard(人体工程学键盘)或者另外的包含 Windows 徽标键 (和应用程序键 ()) 的兼容键盘。

系统范围的快捷键
 显示或隐藏 Start 菜单。

 CTRL+ESC
 显示或隐藏 Start 菜单(与相同)。

 CTRL+ALT+DELETE
 显示 Windows 安全屏幕或 Windows 任务管理器。

+BREAK

显示 System Properties 对话框。

+D

显示桌面。

+B

将焦点设置在通知上。

+M

最小化所有窗口。

+Shift+M

恢复已经最小化的窗口。

+E

用 Windows 资源管理器打开“我的电脑”。

+F

搜索一个文件或文件夹。

 CTRL+

+F

搜索计算机。
 

+F1

显示 Windows 帮助。

+L

如果您连接到一个网络域就锁定您的计算机,或者如果您没有连接到网络域就切换用户。
 

+R

打开 Run 对话框。

 ALT+TAB(s)
 在打开的窗口间切换。在按住 ALT 键时,您可以按几次 TAB 以浏览每个先前使用过的窗口的系统显示。

 ALT+SHIFT+TAB(s)
 与 ALT+TAB 相似,在打开的窗口间向后切换。您可以通过按住或放开 SHIFT 键在向前或向后移动之间切换。

 ALT+ESC(s)
 与 ALT+TAB 比较,使输入焦点按其打开的顺序顺序循环通过窗口。

 ALT+SHIFT+ESC(s)
 与 ALT+ESC 相似,使焦点向后循环通过窗口。您可以通过按住或放开 SHIFT 键在向前或向后移动之间切换。

 PRINTSCREEN
 复制屏幕图像。

 ALT+PRINTSCREEN
 复制当前窗口图像。

 左 ALT+SHIFT/TD>
 切换输入语言或键盘布局(当用户通过控制面板中的区域和语言选项安装多个键盘布局时可用并可配置)。

 CTRL+SHIFT
 切换键盘布局或输入语言(当用户通过控制面板中的区域和语言选项安装多个键盘布局时可用并可配置)。

 CTRL 或左 ALT+SHIFT + ~,数字 (0~9),或重读符号键
 输入语言的热键(当用户通过控制面板中的区域和语言选项安装多个键盘布局时可用并可配置)。

+V

[语音识别]切换麦克风的侦听状态。
 

+C

[语音识别]更正已识别的文本字符串。

+T

[[语音识别]在语音听写模式之间切换。

+H

[手写输入]打开或关闭手写板。

+ 数字

保留给 OEM 使用。

 系统范围辅助功能选项和工具快捷键
 
 按住右 SHIFT 8 秒钟
 切换筛选键开关。

 左 ALT + 左 SHIFT+PRINT SCREEN
 切换高对比度开关。

 左 ALT + 左 SHIFT+NUM LOCK
 切换鼠标键开关。

 SHIFT 5 次
 切换粘滞键开关。
 
 按住 NUM LOCK 5 秒钟
 切换切换键开关。

+U

打开实用工具管理器。

 应用程序通用快捷键

 F1
 显示应用程序帮助。

 SHIFT+F1
 显示选定控件附近的技巧帮助(区分上下文帮助)。

显示选定项的快捷菜单。

 SHIFT+F10
显示选定项的快捷菜单(与相同)。

 CTRL+C
 复制选定的项。

 CTRL+X
 剪切选定的项。

 CTRL+V
 粘贴已剪切或复制的项。

 CTRL+Z
 撤消上次操作。

 CTRL+Y
 重复上次操作。

 ESC
 取消当前任务。

 DELETE
 删除选定项。

 导航和窗口控件快捷键

 CTRL+F4
 关闭允许您同时打开多个文档的应用程序中的活动文档。

 ALT+F4
 关闭活动项,或退出活动应用程序。

 CTRL+TAB
 移动到下一个窗格或调色板。

 CTRL+SHIFT+TAB
 移动到前一个窗格或调色板。

 F6
 移动到下一个窗格或调色板(与 CTRL+TAB 相同)。

 SHIFT+F6
 移动到前一个窗格或调色板(与 CTRL+SHIFT+TAB 相同)。

 CTRL+F6
 移动到一组相关窗口中(或 MDI 文档窗口之间)的下一个窗口。

 CTRL+SHIFT+F6
 移动到一组相关窗口中(或 MDI 文档窗口之间)的前一个窗口。

 菜单控件快捷键

 ALT+SPACE
 显示活动窗口的快捷菜单。

 ALT+"-" (Hyphen)
 显示活动子窗口(MDI 应用程序)的快捷菜单。

 ALT
 激活菜单条并进入菜单模式。

 F10
 激活菜单条并进入菜单模式(与 ALT 相同)。
 
 ALT+(菜单上的访问键或选定的对话框)
 激活菜单条并对访问键打开相应菜单。

 访问键
 [菜单模式]执行相应的命令。

 向下箭头
 [菜单模式]打开菜单项,移动到下方的一项,或者如果焦点定位在菜单的底端,移动到菜单的顶端。

 向上箭头
 [菜单模式]移动到上方的一个菜单项,或者如果焦点定位在菜单的顶端,移动到底端。

 右箭头
 [菜单模式]打开右侧的下一个菜单,或打开一个子菜单。

 左箭头
 [菜单模式]打开左侧的下一个菜单,或关闭一个子菜单。

 编辑框快捷键

 HOME
 将光标移动到行首。

 END
 将光标移动到行尾。

 CTRL+A
 全选。

 CTRL + RIGHT 或左箭头
 将光标移动到下一个或前一个词的开头。

 CTRL + DOWN 或向上箭头
 将光标移动到下一个或前一个段落的段首。
 
 CTRL+HOME
 将光标移动到文档的顶端。

 CTRL+END
 将光标移动到文档的结尾。

 按住 SHIFT + 光标移动(箭头、HOME 或 END 键)
 选择或扩展选定内容。

 按住 SHIFT + CTRL + 光标移动
 按单词或文本块选择或扩展选定内容。

 INSERT
 切换插入模式。

对话框和公共控件快捷键

注从下一个表中省略用于常规导航的箭头键、PAGE UP 或 PAGE DOWN、HOME 以及 END 键。

控件类型 按 来
 常规
 TAB

SHIFT+TAB
 在选项间向前移动。

在选项间向后移动

 对话框
 ALT+ 访问键

ENTER

SPACE

箭头键
 选择或执行相应的命令或控件。

执行对话框的默认命令或选定控件的命令。

切换选择状态或者执行选定的选项或控件命令。

在一组控件或项中移动光标或选择。

 选项卡控件
 CTRL + TAB

CTRL + SHIFT+TAB

CTRL + PAGE DOWN

CTRL + PAGE UP

箭头键
 在选项卡间向前移动。

在选项卡间向后移动。

在选项卡间向前移动(与 CTRL+TAB 相同)。

在选项卡间向后移动(与 CTRL+SHIFT+TAB系统)。

当焦点在控件上时,在选项卡间移动。

 组合框
 F4

ALT + DOWN 或 UP

任何可打印键
 显示或隐藏活动列表中的项。

显示或隐藏活动列表中的项(与 F4 相同)。

将选择移动到与标题开头的前缀字母的匹配的项。有关更多信息,请参阅通过匹配字符定位。

 列表视图
 SPACE

SHIFT+SPACE

CTRL+SPACE

箭头键

CTRL+箭头键

任何可打印键

CTRL + "+" (数字键盘)
 定位项的新选择和定位点。

将选择从定位点扩展到项。

调用附加选择或取消选择并将定位点移动到选定的项。

移动焦点并移除所有选择以及先前做出的定位点。

移动焦点而不移动选择或定位点。

将选择移动到与标签开头的前缀字母匹配的项。有关更多信息,请参阅 通过匹配字符定位。

调整所有列的宽度以适应其内容。

 树视图
 (数字键盘)

+(数字键盘)

-(数字键盘)

右箭头

左箭头

CTRL+ 向上箭头

CTRL+向下箭头

任何可打印键
 显示选定项下的所有子项。

显示在选定项正下的子项。

折叠在选定的项组正下方的项。

显示在选定项正下方的子项(与 + 相同)。

折叠选定的项组并将焦点移动到组叶根。

滚动视图而不更改选择。

滚动视图而不更改选择。

将选择移动到与标题开头的前缀字母匹配的项。如需更多信息,请参阅通过匹配字符定位。

 日期和时间选择器
 F4

ALT+向下箭头

ALT+向上箭头

PAGE UP

PAGE DOWN

CTRL+PAGE UP

CTRL+PAGE DOWN
 在控件下方显示日历。

在控件下方显示日历。

在控件下方隐藏日历。

在日历中移动到下一个月。

在日历中移动到前一个月。

在日历中移动到下一年。

在日历中移动到上一年。

 复选框
 SPACE

-

+
 切换选定选项。

清除选项。

选择选项。

 滑块
 箭头键

向上翻页和向下翻页
 将滑块移动到下一个值。通过选择滑块控件样式 LBS_DOWNISLEFT,可以反转方向。

将滑块移动到指定的增量中的下一个值。通过选择滑块控件样式 LBS_DOWNISLEFT,可以反转方向。

Windows 资源管理器快捷键

注下个表中的快捷键只作为示例展示,并不代表所有可用快捷键。

按 来
 F2
 重命名选定的项。

 F3
 搜索一个文件或文件夹。

 F4
 显示地址栏列表。

 F5
 刷新活动窗口或重新加载活动窗口中的文档。

 F6
 循环通过窗口中或桌面上的屏幕元素。

 ALT+右箭头
 移动到下一页或查看的文件夹。

 ALT+左箭头
 移动到前一页或查看的文件夹。

 ALT+ENTER
 查看选定项目的属性。

 SHIFT+DELETE
 永久删除选定的项而不将该项放入回收站。

 HOME
 显示活动窗口的顶端。

 END
 显示活动窗口的底端。

 BACKSPACE
 查看上一级文件夹。

Microsoft Office XP 快捷键

注意在下一个表中的快捷键只作为示例展示,并不代表所有可用的快捷键。每个 Microsoft Office 应用程序的联机文档中都提供完整的快捷键列表。

按 来
 INSERT
 切换插入模式。

 F6
 在任务窗格和文档窗口间移动。

 SHIFT+F6
 在任务窗格和文档窗口间向后移动。

 CTRL+F6
 当打开一个以上窗口时,切换到下一个窗口。

 CTRL+SHIFT+F6
 当打开一个以上窗口时,向后切换到下一个窗口。

 CTRL+TAB
 在菜单模式中在菜单和工具条之间移动焦点。

 F1
 显示助手批注框(如果打开了 Office 助手的话)。

 ALT+SHIFT+F10
 显示输入焦点附近的智能标记的菜单或消息。

 CTRL + O
 打开 Open 对话框。

 CTRL + N
 打开一个新的空白文档。

 CTRL + F
 打开 Find 对话框。

 CTRL + P
 打开 Print 对话框。

 CTRL + S
 保存当前有输入焦点的文档。

 CTRL + A
 全选。

 

版权所有:UML软件工程组织