windows:Interaction/keyboard

出自UXGuide.net

跳转到:导航, 搜索

键盘
Keyboard

目录


在 Microsoft® Windows® 中,“键盘”是用于文字输入的主要输入设备。为了提高使用效率和满足残障人士的操作特点,大多数操作也应当能够使用键盘完成。

键盘也包括虚拟键盘、屏幕键盘和手写板等用于没有物理键盘的计算机,例如:平板电脑等。

Bb545460_keyboard01(en-us,MSDN_10).png


Windows Tablet 中使用触摸技术的屏幕键盘

Bb545460_keyboard02(en-us,MSDN_10).png


Windows Tablet 中使用触摸技术的手写板

按键有以下六种基本类型:

“访问键”是指那些用于键盘和所有控件或菜单项交互的按键或按键组。快捷键是指那些提高高级用户执行常用命令效率的按键或按键组。Windows 通过在指定访问键下划线来标识访问键。

Bb545460_keyboard03(en-us,MSDN_10).png


这个示例显示了访问键和快捷键。

为了消除视觉混乱,Windows 默认隐藏访问键的下划线。只有当 Alt 键被按下时,Windows 才会显示访问键的下划线。为与 Windows 保持一致,文中如未提及访问键,则截图仅显示隐藏下划线的访问键。

在程序的整个开发过程中,为了明确访问键的分配情况,你可以其始终显示。在控制面板,进入“轻松访问中心”,单击“使键盘更易于使用”,然后选择“给键盘快捷方式和访问键加下划线”。

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


设计理念

键盘导航元素

用户可以使用键盘在窗口中的控件之间导航、进行选择并执行命令。这是通过下列元素来共同实现的。

Bb545460_keyboard04(en-us,MSDN_10).png


我们将在下面的列表中引用该对话框以说明键盘导航元素。

Bb545460_keyboard05(en-us,MSDN_10).png
Basic color 中的第一个控件具有输入焦点,通过点状矩形框来指示。
Bb545460_keyboard06(en-us,MSDN_10).png
Basic colors 和 Custom colors 都是控件组,使该对话框只有五个 Tab 停靠位。这里的控件数量太多,如果不用控件组的话,导航的效率会很低。
Bb545460_keyboard07(en-us,MSDN_10).png
OK 按钮通常是默认按钮,通过其高亮边框标明。但是,如果用户通过 Tab 定位至 Cancel 按钮,Cancel 按钮则成为默认按钮,并可以用 Enter 键来触发。
Bb545460_keyboard08(en-us,MSDN_10).png
按下 Alt+B 将导航至选中的基本颜色,按下 Alt+D 则相当于单击 Define Custom Colors 按钮,Enter 键触发 OK 按钮,而 Esc 键触发 Cancel 按钮。

虽然该机制相当复杂,但也很直观。用户能够立即学会大部分内容,尽管很少有人能说清楚它是如何工作的。


对无障碍访问及高级用户的键盘支持

在 Windows 中,键盘设计可以归结为提供设计良好的键盘导航、用于无障碍访问的访问键、以及用于高级用户的快捷键。

要确保你程序的功能对于尽可能广泛的用户来说都是易于获得的,包括那些有残疾和缺陷的人的话,那么所有的交互用户界面元素都必须能够通过键盘访问。通常来说,这意味着大多数常用 UI 元素可以通过单个访问键或组合键来访问,而不太常用的元素则可能需要额外的 Tab 或访问键导航。对于这些用户来说,全面性比一致性更加重要。

要确保你程序的功能对于有经验的用户来说是高效的话,常用 UI 元素应当还具有快捷键,用于直接键盘访问。有经验的用户往往对于使用键盘有着强烈的偏好,因为基于键盘的命令用起来更快,不需要让他们的手从键盘上移开。对于这些用户,高效性和一致性至关重要,而全面性仅对于最常用的那些命令来说是重要的。

为这两个群体设计键盘访问时存在一些微小的差别,这也是 Windows 提供了两种独立的键盘直接访问机制的原因。通过有效地使用访问键和快捷键,你可以使你的程序实现高效、一致、全面的键盘访问,适合每一个用户。


访问键

访问键具有下列特点:

由于访问键并不希望用户进行记忆,因此会被分配至标签中靠前的字符以便于查找,即使关键字出现在标签的后面。

正确:

Bb545460_keyboard09(en-us,MSDN_10).png


错误:

Bb545460_keyboard10(en-us,MSDN_10).png


在正确的示例中,访问键被分配至标签中靠前的字符。


快捷键

不同的是,快捷键则具有下列特点:

由于快捷键是希望用户进行记忆的,因此理想情况下,最常用的快捷键应当使用命令关键字中第一个或最容易记忆的字符,比如 Ctrl+C 用于 Copy(复制)而 Ctrl+Q 用于 Request(请求)。

为熟知的快捷键赋予不一致的含义会很麻烦且容易导致错误。

错误:

Bb545460_keyboard11(en-us,MSDN_10).png


在这个示例中,Ctrl+F 是 Find(查找)命令的标准快捷键,因此将其分配给 Forward(前进)会很麻烦且可能产生错误。用 Ctrl+W 可能更好、更容易记忆。

最后,因为快捷键是希望用户进行记忆的,因此,仅当那些程序和功能使用非常频繁,使得积极的用户愿意去记忆时,特定于应用程序的快捷键才有意义。不常用的程序和功能不需要快捷键。例如,安装程序和大多数向导不需要分配任何特别的快捷键。同样,在生产型应用程序中,不常用的命令也不需要。


在对话框中分配访问键

尽可能为所有交互控件分配唯一的访问键,那些通常不分配访问键的除外。但是,英语中只有 26 个字母,有些字母可能在任何标签中都没有出现过,而且并非所有标签都能找到独特的字母,这样一来,这个数字更少。而且,你需要预留一些未分配的字符以帮助本地化。结果,在一个对话框中,你大概只能分配 20 个不同的访问键。

Bb545460_keyboard12(en-us,MSDN_10).png


在这个示例中,控件太多,无法分配唯一访问键。

如果你的对话框包含超过 20 个交互性控件的话,要么不要给某些控件分配访问键,要么在一些罕见的情况下,考虑分配重复的访问键。

遵循下面的常规程序来分配访问键:

将访问键分配给组标签,而非单个控件。通常情况下,你不应该这么做。(当这么做时,确保为这些控件定义了控件组。)

Bb545460_keyboard13(en-us,MSDN_10).png


在这个示例中,由于重复控件的存在,访问键分配给了选项按钮组。


避免意外操作

如果窗口是在上下文之外弹出的(不是用户触发的)并强行获取了输入焦点的话,该窗口很有可能接受到本应属于其他窗口的输入。而且,如果该对话框不包含任何接受文本输入的控件的话(比如文本框和列表),即使没有按下 Alt 键,访问键也能生效。因此,在下面的示例中,按下“R”键则会激活 Restart now(立即重启)按钮。

可见,这样的输入会引起意想不到的严重后果。

错误:

Bb545460_keyboard14(en-us,MSDN_10).png


在这个示例中,键入文字时带有空格、“r”、或者 Enter 都会意外导致重启 Windows。

当然,对于这个问题最好的办法是不要强行获取输入焦点。而是闪烁程序的任务栏按钮或是通过显示通知来引起用户的注意。

不过,如果你必须显示这样的窗口的话,最好的方式是不要指定默认按钮和访问键,把初始焦点设在不是提交按钮的控件上。

正确:

Bb545460_keyboard15(en-us,MSDN_10).png


在这个示例中,意外重启 Windows 要困难得多。

最重要的六点:

  1. 设计良好的键盘访问,包括合理的 Tab 顺序和控件分组、初始输入焦点、以及默认按钮。
  2. 为所有菜单和大多数控件分配访问键。
  3. 将访问键分配至标签中靠前的字符,以易于查找。
  4. 为最常用的命令分配快捷键。
  5. 尝试将快捷键分配至关键字中第一个或最容易记忆的字符。
  6. 为熟知的快捷键赋予一致的含义。


设计规范

交互

错误:
Bb545460_keyboard16(en-us,MSDN_10).png
在这个来自 Windows XP 的示例中,按下 Shift 键后 Yes to All 会变成 No to All。


键盘导航

其中 [做某事] 和 [不做某事] 应当是针对主标题说明的具体回答。


访问键

About(关于) File(文件) Next(下一个) Resume(恢复)
Always on top(置于顶端) Find(查找) No(否) Retry(重试)
Apply(应用) Find next(查找下一个) Open(打开) Run(运行)
Back(后退) Font(字体) Open with(打开方式) Save(保存)
Bold(粗体) Forward(前进) Options(选项) Save as(另存为)
Browse 或 Browse(浏览) Help(帮助) Page setup(页面设置) Select all(全选)
Close(关闭) Help topics(帮助主题) Paste(粘贴) Send to(发送至)
Copy(复制) Hide(隐藏) Paste link(粘贴为链接) Show(显示)
Copy here(复制到此处) Insert(插入) Paste shortcut(粘贴为快捷方式) Size(大小/尺寸)
Create shortcut(创建快捷方式) Insert object(插入对象) Paste special(选择性粘贴) Split(分割)
Create shortcut here(在此处创建快捷方式) Italic(斜体) Pause(暂停) Stop(停止)
Cut(剪切) Link here(链接至此处) Play(播放) Tools(工具)
Delete(删除) Maximize(最大化) Print(打印) Underline(下划线)
Don't show this [item] again(不要再显示此 [项]) Minimize(最小化) Print here(打印此处) Undo(撤销)
Edit(编辑) More(更多) Properties(属性) View(查看)
Exit(退出) Move(移动) Redo(重做) Window(窗口)
Explore(浏览) Move here(移动到此处) Repeat(重复) Yes(是)
Fewer(更少) New(新建) Restore(还原/恢复)

菜单访问键

Bb545460_keyboard17(en-us,MSDN_10).png
在这个示例中,Windows 中的画图程序为最近使用的文件分配了数字访问键。


对话框访问键

Bb545460_keyboard18(en-us,MSDN_10).png
在这个示例中,表示正面意义的提交按钮被分配了访问键。


快捷键

Bb545460_keyboard19(en-us,MSDN_10).png


快捷键记载在工具提示中。


选择快捷键


选择快捷键(不应做的事情)


键盘与鼠标组合


文档编写

当提及键盘时:

正确:
spacebar(空格键), Tab, Enter, Page Up, Ctrl+Alt+Del, Alt+W, Ctrl+plus sign(加号键)
错误:
SPACEBAR, TAB(制表), ENTER(回车), PG UP(上一页), CTRL+ALT+DEL, Alt+w, Ctrl++
正确:
Ctrl+A, Shift+F5
错误:
Ctrl-A, Shift + F5
正确:
Ctrl+Shift+?、Ctrl+Shift+*、Ctrl+Shift+逗号
错误:
Ctrl+Shift+/、Ctrl+?、Ctrl+Shift+8、Ctrl+*

当提及交互时:

示例:

(输入你的名字,然后按下 Enter 键。)
(按下 Ctrl+F,然后输入你要搜索的文本。)
(要保存文件,按下 Y。)
(要移动插入点,使用方向键。)
导航
工具箱