Keyboard Support
Foundations / Interaction / Keyboard Support
Intro
Every application and UI component must be fully operable using the keyboard.
This foundation concept defines the global principles and interaction models for keyboard navigation, selection, activation, and text interaction across SAP experiences.
It defines a consistent, predictable baseline for keyboard behavior across components and layouts, so designs remain accessible, efficient, and scalable.
Detailed keyboard behaviors and interaction patterns are documented in the referenced Figma frames.
General Concepts
Certain concepts and shared mechanisms apply across all keyboard interactions and UI components. These include:
- UI element states relevant to keyboard interaction
- The role and intent of modifier keys
- Browser and platform context affecting keyboard behavior
- General principles for mapping keys to interaction intent
These concepts form the basis for all keyboard interaction patterns in this guideline.
For more information, see General Concepts in the Keyboard design specification.
Design Principles
The following core principles guide the design of keyboard interactions across SAP experiences:
- Predictability and robustness, ensuring consistent and stable keyboard behavior
- Immediate reversibility, allowing users to easily undo or adjust keyboard actions
- Discoverability, enabling users to learn and understand available keyboard interactions
- Efficiency, supporting fast and effective interaction for both novice and expert users
These principles underpin all keyboard interaction patterns described in this guideline.
For more information, see Design Principles in the Keyboard design specification.
Navigation
Keyboard navigation defines how focus moves between components and items, independent of selection or activation behavior. It includes:
- Navigation between components, defining how focus moves across distinct UI areas
- Skip navigation, enabling users to bypass repeated content and reach key areas efficiently
- One-dimensional item navigation, used for linear structures such as lists or rows
- Two-dimensional item navigation, used for spatial layouts with horizontal and vertical relationships
Navigation behavior is derived from the structural layout of the UI and must remain predictable and consistent across components.
For more information, see Navigation in the Keyboard design specification.
Selection
Selection behavior defines how users select one or multiple items using the keyboard. Selection includes:
- Single selection, where only one item can be selected at a time
- Multi-selection, allowing multiple items to be selected within a one-dimensional structure
- Block selection, allowing rectangular selection ranges in two-dimensional structures
- Selection in drop-down lists and suggestion lists, where users choose options from a predefined set
Selection behavior depends on the structure and selection capabilities of the UI. It must remain predictable and clearly distinguishable from navigation and activation.
For more information, see Selection in the Keyboard design specification.
Action
Action patterns define how users trigger operations with the keyboard. We focus on patterns commonly used across SAP components and contexts:
- Triggering actions on item level, for example activating the currently focused item
- Opening and closing interaction surfaces, including context menus
- Opening and closing assistance surfaces, including drop-down lists and value help
These action patterns must remain consistent and clearly distinguishable from navigation and selection behavior.
For more information, see Action in the Keyboard design specification.
Drag and Drop
Keyboard drag-and-drop provides an accessible alternative to pointer-based interaction. It covers:
- Initiating drag operations
- Moving items
- Dropping items
- Canceling drag operations
For more information, see Drag and Drop in the Keyboard design specification.
Text
Text interaction covers keyboard behavior for entering, navigating, and modifying text, depending on the type and structure of the text content. It includes:
- Text editing, covering basic text input and modification
- One-dimensional text editing, such as linear text fields or single-line inputs
- Two-dimensional text editing, such as multi-line or structured text areas
- Auto-complete, supporting assisted text entry through suggestions
Text interaction behavior is distinct from navigation and selection and applies only within explicit text editing contexts.
For more information, see Text in the Keyboard design specification.
Shortcuts
Optional keyboard shortcuts give users a faster path for common actions while remaining consistent with global keyboard behavior. The shortcut definition covers:
- Types of shortcuts, describing different categories and usage contexts
- Access keys, enabling direct access to specific UI elements
- Default button behavior, defining how primary actions are triggered
- Recommended shortcuts for Fiori, providing a standardized set of commonly used shortcuts
Shortcuts must be consistent and discoverable, and must never conflict with shortcuts reserved by the platform or browser.
For more information, see Shortcuts in the Keyboard design specification.
Related Links
Guidelines
Foundation Guidelines
Drag and Drop
Accessibility Guidelines
Fiori Keyboard Interaction (wiki)
Prototyping
Figma Community
Accessibility Design Tools (Figma Library for Designers)
Accessibility Design Tools (Figma Plugin)