您好,欢迎访问三七文档
键盘-Keyboard设计理念设计规范文档编写在Microsoft®Windows®中,“键盘”是用于文字输入的主要输入设备。为了提高使用效率和满足残障人士的操作特点,大多数操作也应当能够使用键盘完成。键盘也包括虚拟键盘、屏幕键盘和手写板等用于没有物理键盘的计算机,例如:平板电脑等。WindowsTablet中使用触摸技术的屏幕键盘WindowsTablet中使用触摸技术的手写板按键有以下六种基本类型:“字符键”,指用于给Windows的输入焦点发送文本字符的按键。“修饰键”,指那些与另外一个键组合并改变相关含义的按键,例如:Ctrl、Alt、Shift和Windows徽标键。“导航键”,指方向键以及Home、End、PageUp和PageDown。“编辑键”,指Insert、Backspace以及Delete。“功能键”,指F1到F12。“系统键”,指可以使系统进入某个模式或者执行某个系统任务,例如:PrintScreen、CapsLock以及NumLock。“访问键”是指那些用于键盘和所有控件或菜单项交互的按键或按键组。快捷键是指那些提高高级用户执行常用命令效率的按键或按键组。Windows通过在指定访问键下划线来标识访问键。这个示例显示了访问键和快捷键。为了消除视觉混乱,Windows默认隐藏访问键的下划线。只有当Alt键被按下时,Windows才会显示访问键的下划线。为与Windows保持一致,文中如未提及访问键,则截图仅显示隐藏下划线的访问键。在程序的整个开发过程中,为了明确访问键的分配情况,你可以其始终显示。在控制面板,进入“轻松访问中心”,单击“使键盘更易于使用”,然后选择“给键盘快捷方式和访问键加下划线”。注:与无障碍访问(辅助特性)相关的设计规范请参考各自相应的章节。设计理念键盘导航元素用户可以使用键盘在窗口中的控件之间导航、进行选择并执行命令。这是通过下列元素来共同实现的。我们将在下面的列表中引用该对话框以说明键盘导航元素。输入焦点。带有输入焦点的控件能够接受大部分键盘输入。输入焦点是由点状矩形框来指示的,称为焦点框(focusrectangle)。有些键盘输入是发送至不带输入焦点的控件的,我们将在后面说明。Basiccolor中的第一个控件具有输入焦点,通过点状矩形框来指示。Tab键与Tab停靠位。Tab键是在窗口内进行导航的主要机制。Tab键仅会访问那些具有Tab停靠位的控件。所有的交互控件都应当具有Tab停靠位(除非它们被编成组),而非交互控件则没有,如标签。Tab顺序。所有带有Tab停靠位的控件是按Tab顺序访问的。按下Tab键则会将输入焦点依照Tab顺序移至下一个控件,而按下Shift+Tab则会将输入焦点移至前一个控件。控件组。一组件关的控件可以被编成组,分配单个Tab停靠位。控件组用于用起来像单个控件的一组控件,如选项按钮。当控件太多,仅用Tab键导航效率太低时可以使用。Basiccolors和Customcolors都是控件组,使该对话框只有五个Tab停靠位。这里的控件数量太多,如果不用控件组的话,导航的效率会很低。方向键。方向键用于将输入焦点在组内的控件之间移动。按下向右键将输入焦点依照Tab顺序移至下一个控件,而按下向左键则会将输入焦点移至前一个控件。Home、End、向上和向下键在组中同样具有其应有的行为。用户无法用方向键导航至控件组之外。默认按钮。包含命令按钮和命令链接的窗口具有一个单独的默认按钮,用高亮边框标明,按下Enter键即相当于单击该按钮。默认会分配一个默认命令按钮或命令链接。不过,默认按钮也会随着用户的Tab导航移至其他命令按钮或命令链接。因此,任何具有输入焦点的命令按钮或命令链接同时也是默认按钮。OK按钮通常是默认按钮,通过其高亮边框标明。但是,如果用户通过Tab定位至Cancel按钮,Cancel按钮则成为默认按钮,并可以用Enter键来触发。空格键、Enter及Esc键。空格键会激活具有输入焦点的控件,而Enter键激活默认按钮。单击Esc键则取消或关闭该窗口。访问键。访问键(accesskey)用于直接操作控件,而非通过Tab导航。它与Alt键一起使用,通过标签中带下划线的字母来标明。访问键标签。虽然有些控件本身包含标签,如命令按钮、复选框及选项按钮,但其他控件则具有外部标签,如列表框和树形视图。对于外部标签来说,访问键是分配给标签的,当它被触发时,将依照Tab顺序导航至下一个控件。标签为OK(确定)、Cancel(取消)和Close(关闭)的按钮则不被分配访问键,因为它们是通过Enter和Esc键来触发的。按下Alt+B将导航至选中的基本颜色,按下Alt+D则相当于单击DefineCustomColors按钮,Enter键触发OK按钮,而Esc键触发Cancel按钮。访问键行为。当某个访问键被触发且分配唯一的话,相当于单击对应的控件。如果访问键的分配不唯一,则对应的控件会获得输入焦点。如果用户再按下同样的访问键的话,依照Tab顺序的下一个具有相同访问键的控件则会获得输入焦点。虽然该机制相当复杂,但也很直观。用户能够立即学会大部分内容,尽管很少有人能说清楚它是如何工作的。对无障碍访问及高级用户的键盘支持在Windows中,键盘设计可以归结为提供设计良好的键盘导航、用于无障碍访问的访问键、以及用于高级用户的快捷键。要确保你程序的功能对于尽可能广泛的用户来说都是易于获得的,包括那些有残疾和缺陷的人的话,那么所有的交互用户界面元素都必须能够通过键盘访问。通常来说,这意味着大多数常用UI元素可以通过单个访问键或组合键来访问,而不太常用的元素则可能需要额外的Tab或访问键导航。对于这些用户来说,全面性比一致性更加重要。要确保你程序的功能对于有经验的用户来说是高效的话,常用UI元素应当还具有快捷键,用于直接键盘访问。有经验的用户往往对于使用键盘有着强烈的偏好,因为基于键盘的命令用起来更快,不需要让他们的手从键盘上移开。对于这些用户,高效性和一致性至关重要,而全面性仅对于最常用的那些命令来说是重要的。为这两个群体设计键盘访问时存在一些微小的差别,这也是Windows提供了两种独立的键盘直接访问机制的原因。通过有效地使用访问键和快捷键,你可以使你的程序实现高效、一致、全面的键盘访问,适合每一个用户。访问键访问键具有下列特点:使用Alt键加一个字母数字键。主要用于无障碍访问。分配给所有菜单及大多数对话框控件。不需要用户进行记忆,因此它们会通过给相应的控件标签字符添加下划线的方式直接在用户界面中呈现出来。仅在当前窗口中有效,用于导航至相应的菜单项或控件。其分配不一定一致,因为无法每次都做到这一点。但是,应当为经常使用的控件分配一致的访问键,尤其是提交按钮。会被本地化。由于访问键并不希望用户进行记忆,因此会被分配至标签中靠前的字符以便于查找,即使关键字出现在标签的后面。正确:错误:在正确的示例中,访问键被分配至标签中靠前的字符。快捷键不同的是,快捷键则具有下列特点:主要使用Ctrl和Fn键组合(Windows系统快捷键也会使用Alt加非字母数字键以及Windows徽标键)。主要帮助高级用户提高效率。只分配给最常使用的命令。希望用户进行记忆,且仅在菜单、工具提示和帮助中呈现。在整个程序中有效,不过如果不适用的话就无效。必须保持统一的分配,因为它们是被记忆的,而非直接呈现的。不会被本地化。由于快捷键是希望用户进行记忆的,因此理想情况下,最常用的快捷键应当使用命令关键字中第一个或最容易记忆的字符,比如Ctrl+C用于Copy(复制)而Ctrl+Q用于Request(请求)。为熟知的快捷键赋予不一致的含义会很麻烦且容易导致错误。错误:在这个示例中,Ctrl+F是Find(查找)命令的标准快捷键,因此将其分配给Forward(前进)会很麻烦且可能产生错误。用Ctrl+W可能更好、更容易记忆。最后,因为快捷键是希望用户进行记忆的,因此,仅当那些程序和功能使用非常频繁,使得积极的用户愿意去记忆时,特定于应用程序的快捷键才有意义。不常用的程序和功能不需要快捷键。例如,安装程序和大多数向导不需要分配任何特别的快捷键。同样,在生产型应用程序中,不常用的命令也不需要。在对话框中分配访问键尽可能为所有交互控件分配唯一的访问键,那些通常不分配访问键的除外。但是,英语中只有26个字母,有些字母可能在任何标签中都没有出现过,而且并非所有标签都能找到独特的字母,这样一来,这个数字更少。而且,你需要预留一些未分配的字符以帮助本地化。结果,在一个对话框中,你大概只能分配20个不同的访问键。在这个示例中,控件太多,无法分配唯一访问键。如果你的对话框包含超过20个交互性控件的话,要么不要给某些控件分配访问键,要么在一些罕见的情况下,考虑分配重复的访问键。遵循下面的常规程序来分配访问键:首先,为提交按钮和命令链接分配访问键。如果适用则应遵照标准访问键分配表,否则就使用第一个单词的首字母。跳过无须分配访问键的控件。为剩下的控件分配唯一的访问键(从最常用的开始):可能的话,遵照标准访问键分配表来分配访问键。否则:优先考虑在标签中比较靠前的字符,最好是前两个单词的首字母。优先考虑独特的辅音或元音,如“Exit”中的“x”。优先考虑较宽的字符,如w、m以及大写字母。避免使用会导致下划线难以发现的字符,比如只有一个像素宽的字母、带有下伸部的字母、以及紧靠带有下伸部的字母的字母。如果不是所有的控件都能分配到唯一的访问键的话(从最不常用的开始):如果有成组的相关控件,比如:单独一组选项按钮一组相关复选框位于分组框内的一组相关控件将访问键分配给组标签,而非单个控件。通常情况下,你不应该这么做。(当这么做时,确保为这些控件定义了控件组。)如果仍然不能为所有的控件分配到唯一的访问键:如果符合下列情况,你可以分配非唯一的访问键:这些控件很难通过其他方式导航。该非唯一访问键与常用控件的访问键没有冲突。否则,剩下的控件可以通过Tab和访问键导航来访问。在这个示例中,由于重复控件的存在,访问键分配给了选项按钮组。避免意外操作如果窗口是在上下文之外弹出的(不是用户触发的)并强行获取了输入焦点的话,该窗口很有可能接受到本应属于其他窗口的输入。而且,如果该对话框不包含任何接受文本输入的控件的话(比如文本框和列表),即使没有按下Alt键,访问键也能生效。因此,在下面的示例中,按下“R”键则会激活Restartnow(立即重启)按钮。可见,这样的输入会引起意想不到的严重后果。错误:在这个示例中,键入文字时带有空格、“r”、或者Enter都会意外导致重启Windows。当然,对于这个问题最好的办法是不要强行获取输入焦点。而是闪烁程序的任务栏按钮或是通过显示通知来引起用户的注意。不过,如果你必须显示这样的窗口的话,最好的方式是不要指定默认按钮和访问键,把初始焦点设在不是提交按钮的控件上。正确:在这个示例中,意外重启Windows要困难得多。最重要的六点:1.设计良好的键盘访问,包括合理的Tab顺序和控件分组、初始输入焦点、以及默认按钮。2.为所有菜单和大多数控件分配访问键。3.将访问键分配至标签中靠前的字符,以易于查找。4.为最常用的命令分配快捷键。5.尝试将快捷键分配至关键字中第一个或最容易记忆的字符。6.为熟知的快捷键赋予一致的含义。设计规范交互不要用Shift键来修改菜单或对话框中的命令。这么做难以被发现而且也出乎意料。错误:在这个来自WindowsXP的示例中,按下Shift键后YestoAll会变成NotoAll。不要禁用具有输入焦点的控件。这么做可能会导致窗口无法接受键盘输入。应当在禁用具有输入焦点的控件前,先将焦点移到其他控件上。如果某个窗口是在当前上下文之外弹出的,可能会让用户感到意外的话,你可能需要防止出现严重的非预期的后果:不要指定默认按钮。不要分配访问键。将焦点的初始位置设置为提交按钮以外的控件。键盘导航将初始输入焦点
本文标题:键盘设计参考规范
链接地址:https://www.777doc.com/doc-3291556 .html