设计用户可以通过硬件键盘、屏幕键盘或触摸键盘交互的 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. e788. 取消JSpinner的键盘编辑能力

    // Create a nummber spinner JSpinner spinner = new JSpinner(); // Disable keyboard edits in the spin ...

  2. Toggle Checkboxes on/off

    You can write: $(document).ready(function() { $("#select-all-teammembers").click(function( ...

  3. Markdown编辑器Editor.md使用方式

    摘要: 搭建个人博客时,涉及文章上传,文章展示,这里需要一个Markdown插件,mark一下. Editormd下载地址:http://pandao.github.io/editor.md/ 由于前 ...

  4. 非抢占式RCU中的一些概念

    该记录着重介绍下:2.6.34版本中非抢占式RCU的基本概念. RCU保护的是指针,因为指针的赋值可以使用原子操作完成: 在非抢占式RCU中: 对于读者,RCU仅需要抢占失效,因此获得读锁和释放读锁分 ...

  5. Java学习之——泛型

    1.概要 generics enable types (classes and interfaces) to be parameters when defining classes, interfac ...

  6. Adb 获取手机信息

    adb shell getprop [ro.product.board]: [herring][ro.product.brand]: [google][ro.product.cpu.abi2]: [a ...

  7. 【转】Java中的多线程学习大总结

    多线程作为Java中很重要的一个知识点,在此还是有必要总结一下的. 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程 ...

  8. VS或编译的时候不生成Release文件夹

    今天在编译第三方类的时候,总是发布的时候报没有第三方类库的的Release版本 解决方案: Build=>Configuration Manager=>Release 编译=>配置管 ...

  9. kettle教程二

    转载:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply2.html 1.应用场景 这里简单概括一下几种具体的应用场景, ...

  10. 扫盲 -- What's MOOC ?

    FAQ 1. MOOC是什么? 2. xMOOC又是什么? 它与之前在中国大陆网络上风靡一时的国外大学"公开课"有什么区别?3. xMOOC什么时候, 怎样出现的? 4. 有哪些网 ...