Keyboard interactions (Windows Store apps)

Design Windows Store apps that users can interact with through a hardware keyboard, the On-Screen Keyboard, or the touch keyboard.




This topic describes design considerations for keyboard interactions. For information about the implementation of keyboard interactions, see Responding to keyboard input.

Keyboard interactions

Keyboard input is an important part of the overall user interaction experience for Windows Store apps. The keyboard is indispensable to people with certain disabilities or users who just consider it a more efficient way to interact with an app.

A well-designed keyboard UI is an important aspect of software accessibility. It enables users with vision impairments or who have certain motor disabilities to navigate an app and interact with its features. Such users might be unable to operate a mouse and instead rely on various assistive technologies such as keyboard enhancement tools, on-screen keyboards, screen enlargers, screen readers, and voice input utilities.

The most common type of keyboard is the external, hardware keyboard that is physically connected to a device. In addition to a hardware keyboard, Windows provides two software keyboards:

  • The On-Screen Keyboard is a visual, software keyboard that you can use instead of the physical keyboard to type and enter data using touch, mouse, pen/stylus or other pointing device (a touch screen is not required). The On-Screen Keyboard is provided for systems that don't have a physical keyboard, or for users whose mobility impairments prevent them from using traditional physical input devices. The On-Screen Keyboard emulates most, if not all, the functionality of a hardware keyboard.

    The on-screen keyboard

  • The touch keyboard is a visual, software keyboard used for text entry with touch input. The touch keyboard is not a replacement for the On-Screen Keyboard as it is used for text input only (it doesn't emulate the hardware keyboard) and appears only when a text field or other editable text control gets focus.
    Note  the On-Screen Keyboard has priority over the touch keyboard, which won't be shown if the On-Screen Keyboard is present.

    Here are examples of the touch keyboard. The first image is the default layout, the second is the thumb layout (which might not be available in all languages).

    The touch keyboard in default layout

    The touch keyboard in thumb layout

Users should be able to accomplish all tasks supported by your app using only the hardware keyboard or the On-Screen Keyboard.

Note  The touch keyboard is used for text input only, not for app or system commands.

Keyboard command patterns

To ensure a consistent and dependable experience for users, we recommend the following standard keyboard command patterns. The three following tables list frequently used keyboard commands. For a complete list of keyboard commands, see Windows Keyboard Shortcut Keys.

Navigation commands

ActionKey command
BackAlt+Left or the back button on special keyboards
Cancel or Escape from current modeEsc
Move through items in a listArrow key (Left, Right, Up, Down)
Jump to next list of itemsCtrl+Left
Semantic zoomCtrl++ or Ctrl+-
Jump to a named item in a collectionStart typing item name
Next pagePage Up, Page Down or Spacebar
Next tabCtrl+Tab
Previous tabCtrl+Shift+Tab
Open app barWindows+Z
Activate or Navigate into an itemEnter
Continuously selectShift+Arrow key
Select allCtrl+A


Common commands

ActionKey command
Pin an itemCtrl+Shift+1
New itemCtrl+N
Open address (for example, a URL in Internet Explorer)Ctrl+L or Alt+D


Media navigation commands

ActionKey command
Next itemCtrl+F
Preview itemCtrl+B


Note: The media navigation key commands for Play/Pause and Next item are the same as the key commands for Print and Find, respectively. Common commands should take priority over media navigation commands. For example, if an app supports both plays media and prints, the key command Ctrl+P should print.

Guidelines for keyboard focus and navigation

  • When your app starts, set initial keyboard focus on the element that users will intuitively (or most likely) interact with first.
  • In an app with few elements, allow the Tab key to move keyboard focus to the next individual element in a collection or list. If an app has many elements, allow the Tab key to shift keyboard focus from one group of elements to the following group.
  • Use the Shift+Tab key command to move keyboard focus in reverse order.
  • Use arrow keys to predictably move forward and backward through app content, except when used in reading apps. When presenting content for reading, allow arrow keys to scroll page by page through content.
  • Allow the Enter key to activate all the selected items in a collection or list.
  • Allow users to temporarily disable automatic selection by continuously holding down the Ctrl key. While automatic selection is disabled, enable the spacebar to explicitly select and deselect items.
  • Ensure that keyboard focus is visible on the first element in a new surface when the surface is opened with a keyboard.
  • Let users dismiss a surface with the Esc key. Return visible keyboard focus to the point from which the surface was opened.

Guidelines for visual feedback

  • Use focus rectangles only with keyboard interactions. If the user initiates a touch interaction, make the keyboard UI gradually fade away. This keeps the UI clean and uncluttered.
  • Don't display visual feedback if an element doesn't support interaction (such as static text).
  • Display visual feedback concurrently for all elements that represent the same input target.
  • Provide on-screen buttons (such as + and -) as hints for emulating touch-based manipulations such as panning, rotating, zooming, and so on.

For more general guidance on visual feedback, see Guidelines for visual feedback.



© 2015 Microsoft