Hierarchical Keyboard Navigation for UI Element Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications face inefficiencies in navigating user interface elements using a keyboard, particularly due to slow tab chain navigation and the need for significant effort in maintaining localized hot keys across different languages.

Innovation Solution

The method involves grouping user interface elements based on the first character of their text labels, using navigation keys with modifiers to shift input focus within these groups, and generating navigation strings from sequences of key presses to efficiently navigate and activate UI elements, allowing for easy localization and maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If tab chain navigation is used to navigate between UI elements, then all UI elements can be accessed, but navigation speed becomes slow when moving through many intermediate elements

Engineering Contradiction:
Improvenavigation speedVSAvoidoperation simplicity
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent segments the flat tab chain navigation into hierarchical groups based on the first character of UI element text labels. This creates nested navigation levels where users can jump to specific groups (e.g., all elements starting with 'F') rather than sequentially traversing every element, dramatically reducing navigation steps while maintaining access to all UI elements.

Inventive Principle:
Principle #1Segmentation

2Productivity

If unique hot keys are assigned to all UI elements for efficient activation, then command execution speed improves, but the complexity of maintaining localized hot keys across different languages increases significantly

Engineering Contradiction:
Improvecommand execution speedVSAvoidhot key maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the first character of UI element text labels serve dual purposes: it acts as both the group identifier for navigation and as the hot key for activating that element's command. This eliminates the need for separate hot key assignments and localization efforts, as the same character naturally appears in the localized text label regardless of language.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If navigation keys are assigned based on the first character of text labels, then navigation becomes more intuitive and localized automatically, but the system must handle case sensitivity and character matching variations

Engineering Contradiction:
Improvenavigation intuitivenessVSAvoidcharacter matching complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies case-insensitive matching when comparing navigation key characters with UI element text label characters. This homogenizes the comparison process by converting all characters to a common case (typically uppercase) before comparison, eliminating navigation failures due to case variations while preserving the intuitive first-character navigation approach.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS7712051B2Keyboard navigation in hierarchical user interfaces
Publication Date: 2010.05.04 SAP SE
  • US7712051B2 patent drawing
  • US7712051B2 patent drawing
  • US7712051B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for navigating user interface elements of a computer program application. In one aspect, a method includes grouping user interface elements of an application into groups based on a hierarchical arrangement of the elements, detecting a navigation key press of a sibling or a parent navigation key, and if it is a sibling navigation key, shifting input focus to a next sibling group in the hierarchy, and if it is a parent navigation key, shifting input focus to a parent group in the hierarchy. In another aspect, a method for navigating editable cells of a table includes detecting a forward or a backward navigation key; if it is a forward navigation key, shifting input focus to a next editable cell of the table; and if it is a backward navigation key, shifting input focus to a previous editable cell of the table.