设计用户可以通过硬件键盘、屏幕键盘或触摸键盘交互的 Windows 应用商店应用。

本主题介绍键盘交互的设计注意事项。有关实现键盘交互的信息,请参阅响应键盘输入

键盘交互

键盘输入是 Windows 应用商店应用的所有用户交互体验的一个重要部分。对于残障人士,或者只是认为键盘是与应用交互的最有效方法的用户而言,键盘非常重要。

具有良好设计的键盘 UI 是软件辅助功能的一个重要方面。它使具有视力缺陷或行动有障碍的用户能够在应用中导航并与应用的功能进行交互。这些用户可能无法操作鼠标,而不是依靠各种辅助性技术,如键盘增强工具,屏幕上的键盘,屏幕放大器,屏幕阅读器,语音输入实用工具。

最常见的键盘类型是在物理上连接到设备的外部硬件键盘。除了硬件键盘之外,Windows 还提供两个软件键盘:

  • 屏幕键盘是一种可视软件键盘,你可以借助触摸、鼠标、笔/触笔或其他指针设备(不需要触摸屏)来使用屏幕键盘代替物理键盘键入和输入数据。屏幕键盘是针对没有物理键盘的系统提供的,或者是为行动有障碍而无法使用传统物理输入设备的用户提供使用。屏幕键盘模拟硬件键盘的大部分功能(如果不是全部功能)。

  • 触摸键盘是一种借助触摸屏输入来输入文本的可视软件键盘。触摸键盘不可以代替屏幕键盘,因为它仅用于文本输入(它不模拟硬件键盘),并且仅在文本字段或其他可编辑的文本控件获得焦点时显示。

    注意  屏幕键盘优先级高于触摸键盘,如果提供了屏幕键盘,将不会显示触摸键盘。

    以下是触摸键盘的示例。第一个图像是默认布局,第二个图像是缩略图布局(可能不适用于所有语言)。

用户应当能够仅使用硬件键盘或屏幕键盘完成你的应用支持的所有任务。

注意  触摸键盘仅用于文本输入,并非用于应用或系统命令。

键盘命令模式

为确保一致、可靠的用户体验,我们建议使用以下标准键盘命令模式。下面三个表格列出了常用的键盘命令。有关键盘命令的完整列表,请参阅 Windows 键盘快捷方式键

导航命令

操作 键命令
后退 Alt+向左键或特殊键盘上的后退按钮
前进 Alt+向右键
向上 Alt+向上键
取消或从当前模式中退出 Esc
遍历列表中的项目 箭头键(向左、向右、向上、向下)
跳转到下一个项目列表 Ctrl+向左键
语义式缩放 Ctrl++ 或 Ctrl+-
跳转到在集合中的命名项目 开始键入项目名称
下一页 Page Up、Page Down 或窗格键
下一个选项卡 Ctrl+Tab
上一个选项卡 Ctrl+Shift+Tab
打开应用栏 Windows+Z
激活或导航至一个项目 输入
选择 空格键
连续选择 Shift+箭头键
全选 Ctrl+A

常用命令

操作 键命令
固定项目 Ctrl+Shift+1
保存 Ctrl+S
查找 Ctrl+F
打印 Ctrl+P
复制 Ctrl+C
剪切 Ctrl+X
新建项目 Ctrl+N
粘贴 Ctrl+V
打开 Ctrl+O
打开地址(例如,Internet Explorer 中的一个 URL) Ctrl+L 或 Alt+D

媒体导航命令

操作 键命令
播放/暂停 Ctrl+P
下一个项目 Ctrl+F
上一个项目 Ctrl+B

注意:“播放/暂停”和“下一个项目”的媒体导航键命令分别与“打印”和“查找”的键命令相同。常用命令应优先于媒体导航命令。例如,如果一个应用同时支持播放媒体和打印,则键命令 Ctrl+P 应为打印。

键盘焦点和导航指南

  • 当应用启动时,将初始键盘焦点设置在用户将首先直观(或最有可能)进行交互的元素上。
  • 在元素较少的应用中,允许 Tab 键将键盘焦点移动到集合或列表中下一个单独元素。如果一个应用有许多元素,则允许 Tab 键将键盘焦点从一组元素转移到下一组元素。
  • 使用 Shift+Tab 键命令可以按相反的顺序移动键盘焦点。
  • 使用箭头键能够以可预见的方式向前和向后移动应用内容,但在阅读方面的应用中使用时除外。当显示用于阅读的内容时,允许箭头键在内容中按页面滚动。
  • 允许 Enter 键激活集合或列表中所有选定的项目。
  • 允许用户通过持续按住 Ctrl 键临时禁用自动选择。在禁用自动选择时,支持空格键明确选择和取消选择项目。
  • 当使用键盘打开一个新表面时,确保键盘焦点显示在该表面的第一个元素上。
  • 让用户可以使用 Esc 键取消表面。将可视键盘焦点返回到从中打开表面的位置。

视觉反馈指南

  • 仅在进行键盘交互时使用焦点矩形。如果用户开始使用触摸交互,则使键盘 UI 逐渐淡出。 这会使 UI 干净整洁。
  • 如果元素不支持交互(如静态文本),不要显示视觉反馈。
  • 对于所有代表相同输入目标的元素,同时显示视觉反馈。
  • 提供屏幕按钮(如 + 和 -)作为模拟基于触摸的操作 (如平移、旋转、缩放等)的提示。

Win8交互UX——键盘交互的更多相关文章

  1. Win8交互UX——笔交互

    针对触摸输入优化 Window 应用商店应用设计,并在默认情况下获得基本的笔支持. 本主题介绍笔交互的设计注意事项.有关实现笔交互的信息,请参阅响应笔和触笔交互. 笔交互 通过使用笔创建手写便笺.绘图 ...

  2. Win8交互UX——鼠标交互

    针对触摸输入优化 Window 应用商店应用设计,并在默认情况下获得基本的鼠标支持. 设计和构建用户可以通过鼠标交互的 Windows 应用商店应用. 鼠标输入最适合那些需要精确指向和单击的用户交互. ...

  3. Win8交互UX——触摸板交互

    针对触摸输入优化 Window 应用商店应用设计,并在默认情况下获得触摸板支持. 设计用户可以通过触摸板交互的 Windows 应用商店应用. 触摸板结合间接的多点触控输入和指针设备(如鼠标)的精确输 ...

  4. WP8.1学习系列(第十七章)——交互UX之输入和反馈模式

    如果你将 Windows 应用商店应用设计为触摸交互,则可免费获取对触摸板.鼠标.笔和键盘交互的支持.你的用户可以从一种输入法切换到另一种,而不会丧失应用体验的感觉.将键盘插入平板电脑?没问题.你的应 ...

  5. Win8交互UX——用于 Windows 的触摸交互

    用于 Windows 的触摸交互   Windows 8.1 提供一组在整个系统中使用的简单触摸交互功能.一致地应用此触摸语言可让用户对你的应用感觉已经很熟悉.通过让你的应用更容易学习和使用,可提高用 ...

  6. WP8.1学习系列(第四章)——交互UX之导航模式

    交互模式和指南 这部分包括三部分内容,分别是导航模式.命令模式和输入模式. 导航模式 虽然 Windows 导航模式提供了框架,但它提倡创新.激发你的创造力并在已建立的模式上构建. 命令模式 使用应用 ...

  7. OpenGL(十六) 鼠标、键盘交互响应事件

    OpenGL中通过鼠标和键盘跟程序交互的实现需要实现注册鼠标和键盘响应事件,在一定条件下,该事件被触发,事件里的程序被执行,达到交互的目的. 通过glutMouseFunc(&OnMouse) ...

  8. WP8.1学习系列(第十六章)——交互UX之命令模式

    命令模式   在本文中 命令类型 命令放置 相关主题 你可以在应用商店应用的几个曲面中放置命令和控件,包括应用画布.弹出窗口.对话框和应用栏.在正确的时间选择合适的曲面可能就是易于使用的应用和很难使用 ...

  9. WP8.1学习系列(第五章)——中心控件Hub或透视控件Pivot交互UX

    具有主页菜单(中心或透视控件)的中心应用中心 你可能要设计包含许多功能的应用.当你看着这些功能时,可能会决定将它们整理到独立的区域中.这些区域最终会成为用户要访问的应用的独立部分.你需要设计一个简便的 ...

随机推荐

  1. e805. 监听JProgressBar的数值变化

    Whenever the value of a progress bar is changed, a change event is fired. In fact, the event is also ...

  2. js 报错检查顺序

    如上图所示错误列表: 处理步骤:检查顺序应从最后到前,并且先检查当面页面引用的文件(公共引用文件一般不会出错的) 如:at.nt.query方法检查错误开始 倒推

  3. Bioperl 解析blast的输出结果

    用bioperl 解析blast的默认输出结果, 整理成-m8格式的输出 #!/usr/bin/perl use Bio::SearchIO; my ($blast) = @ARGV; my $sea ...

  4. python subprocess 模块

    subprocess 模块中有一个功能Popen , 可以在代码中调用系统的命令 其功能比os.system 更加强大 代码示例: command = 'python -u %s/generalMak ...

  5. MySQL存储引擎Innodb和MyISAM对比总结

    Innodb引擎 InnoDB是一个事务型的存储引擎,设计目标是处理大数量数据时提供高性能的服务,它在运行时会在内存中建立缓冲池,用于缓冲数据和索引. Innodb引擎优点 1.支持事务处理.ACID ...

  6. 关于Struts2的多文件上传

    之前写过一篇文章,关于Struts2文件上传:http://www.cnblogs.com/lichenwei/p/3927964.html 现在来说下多文件上传,其实就把上传文件当成是一个数组去处理 ...

  7. koa项目用mongoose与mongodb交互,始终报错FormModel is not defined

    koa项目用mongoose与mongodb交互,始终报错FormModel is not defined,就是自己定义的model实例始终不能找到,但是明明定义了,这时候就要看大小写了,当创建一个m ...

  8. python-类的方法与类的成员

    preface include: @classmethod @staticmethod @property 私有属性 类的成员 #!/usr/bin/env python class animal(o ...

  9. 将Unity导出的Eclipse工程转换为AndroidStudio工程

    步骤:1)将unity项目导出到文件夹: 转换到安卓平台,这里只勾选google android project.然后导出到自己新建的文件夹. 2)打开导出的文件夹,看到如下内容.这是unity5.x ...

  10. goquery 文档

    https://www.itlipeng.cn/2017/04/25/goquery-%E6%96%87%E6%A1%A3/ http://blog.studygolang.com/2015/04/g ...