IP Library Granted Patent US 7,735,023
Granted Patent B1
US 7,735,023 · App. 10/676,802 · Granted Jun 8, 2010

Generic keyboard navigation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,735,023
App. No.
10/676,802
Granted
Jun 8, 2010
Kind
B1
Abstract

Methods and apparatus, including computer program products, implement techniques for navigating user interface elements of a computer program application. A navigation key press of a navigation key is detected, where the navigation key has a group identifier. A selected group of user interface elements associated with the group identifier is identified. Input focus is shifted to a user interface element in the selected group based on the navigation key.

Claims (154)

1. A computer program product tangibly embodied in a computer-readable storage medium, the product comprising instructions operable to cause a data processing apparatus to execute a method for navigating user interface elements displayed on a screen, the method comprising:

grouping the displayed user interface elements alphabetically into groups according to characters contained in text labels associated with the user interface elements, the user interface elements indicating, on the screen, a user interface element currently having focus to receive user input;

detecting a user navigation input comprising:

a forward user navigation input comprising a forward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user navigation input comprising a backward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

identifying a group of user interface elements associated with the key press of at least one text character by comparing the key press of at least one text character to the characters contained in the text labels associated with the user interface elements; and

shifting input focus to a user interface element in the identified group based on the user navigation input, the shifting comprising:

when the user navigation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has a corresponding text label containing characters matching the key press of at least one text character;

when the user navigation input is the forward user navigation input:

shifting input focus in the forward direction to a next user interface element in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when the current group is not the same as the target group; and

when the user navigation input is the backward user navigation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having an associated text label matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group when the current group is not the same as the target group.

2. The product of claim 1 , wherein the identified group of user interface elements is identified when the text labels associated with the user interface elements contain first characters matching the key press of at least one text character.

3. The product of claim 2 , wherein the first character matches the key press of at least one text character if both are the same character regardless of character case.

4. The product of claim 2 , wherein the first character matches the key press of the text character if both are the same character in the same case.

5. A computer program product tangibly embodied in a computer-readable storage medium, the product comprising instructions operable to cause a computer to execute a method for navigating user interface elements displayed on a screen, the method comprising:

grouping the user interface elements displayed on the screen alphabetically into groups according to characters contained in respective text labels associated with the user interface elements, the user interface elements indicating, on the screen, a user interface element currently having focus to receive user input;

detecting a sequence of one or more user navigation inputs, comprising:

a forward user navigation input comprising a forward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user navigation input comprising a backward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

generating a navigation string from the forward or backward navigation inputs;

identifying a group of user interface elements by comparing the navigation string to the characters contained in the text labels associated with the user interface elements; and

shifting input focus to a user interface element in the identified group based on the navigation string, the shifting comprising:

when the user navigation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has a corresponding text label containing characters matching the navigation string;

when the user navigation input is the forward user navigation input:

shifting input focus in the forward direction to a next user interface element in the current group having a corresponding text label containing characters matching the navigation string when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when the current group is not the same as the target group, and

when the user navigation input is the backward user navigation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having a text label containing characters matching the navigation string when the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group when the current group is not the same as the target group.

6. The product of claim 4 , wherein detecting a sequence of one or more user navigation inputs comprises:

detecting a sequence of forward user navigation inputs, the sequence having a first user navigation input and a last user navigation input;

initializing the navigation string when the first user navigation input is detected;

starting a time out interval with each forward user navigation input; and

determining the last user navigation input as the input after which no forward user navigation inputs are detected within the time out interval.

7. The product of claim 4 , wherein detecting a sequence of one or more user navigation inputs comprises:

detecting a sequence of backward user navigation inputs, the sequence having a first user navigation input and a last user navigation input;

initializing the navigation string when the first user navigation input is detected;

starting a time out interval with each backward user navigation input; and

determining the last user navigation input as the input after which no backward user navigation inputs are detected within the time out interval.

8. The product of claim 5 , wherein the user interface elements have an order, and shifting input focus comprises:

shifting input focus in the forward direction to a next user interface element in order in the current group having a text label starting with the same characters as the characters in the navigation string, if the user navigation input is the forward user navigation input; and

shifting input focus in the reverse direction to a previous user interface element in order in the current group having a text label starting with the same characters as the characters in the navigation string, if the user navigation input is the backward user navigation input.

9. A computer program product tangibly embodied in a computer-readable storage medium, the product comprising instructions operable to cause a data processing apparatus to execute a method for navigating user interface elements displayed on a screen, method comprising:

grouping the displayed user interface elements alphabetically into groups according to characters contained in respective text labels associated with the user interface elements, the user interface elements indicating, on the screen, a user interface element currently having focus to receive user input;

detecting an ensemble of sequential user activation inputs, comprising:

a forward user activation input comprising a forward activation modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user activation input comprising a backward activation modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

identifying a group of user interface elements by comparing the characters contained in the text labels associated with the user interface elements to the key press of at least one text character;

performing an action associated with a user interface element in the identified group;

when the user activation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has a corresponding text label containing characters matching the key press of at least one text character;

when the user activation input is the forward user activation input:

shifting input focus in the forward direction to a next user interface element in the current group having an associated text label with characters matching the key press of the at least one text character when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when the current group is not the same as the target group; and

wherein when the user activation input is the backward user activation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having an associated text label with characters matching the key press of at least one text character when if the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group when the current group is not the same as the target group.

10. The product of claim 9 , wherein the method further comprises:

determining whether the key press of at least one text character uniquely identifies a user interface element; and

automatically executing an action associated with the user interface element when it is determined that the key press of at least one text character uniquely identifies the user interface element.

11. The product of claim 10 , wherein the key press of at least one text character comprises a sequence of identical group identifier characters.

12. The product of claim 9 , wherein detecting an ensemble one or more sequential user activation inputs entered by a user within a time threshold.

13. The product of claim 9 , wherein the method further comprises delimiting the user activation input based on the pressing and releasing of an activation modifier key.

14. A computer implemented method for navigating user interface elements displayed on a screen, the method comprising the steps performed by a computer of:

grouping the user interface elements displayed on the screen alphabetically into user interface element groups according to characters contained in respective text labels associated with the user interface elements, the user interface elements indicating, on the display screen, a user interface element currently having focus to receive user input;

detecting a user navigation input comprising:

a forward user navigation input comprising a forward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user navigation input comprising a backward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

identifying a group of user interface elements associated with the key press of at least one text character by comparing the key press of at least one text character to the characters contained in the text labels associated with the user interface elements; and

shifting input focus to a user interface element in the identified group based on the user navigation input, the shifting comprising

when the user navigation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has an associated text label containing characters matching the key press of at least one text character;

when the user navigation input is the forward user navigation input:

shifting input focus in the forward direction to a next user interface element in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when if the current group is not the same as the target group, and

when the user navigation input is the backward user navigation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having a text label matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group when the current group is not the same as the target group.

15. The method of claim 14 , wherein the identified group of user interface elements is identified when the text labels associated with the user interface elements contain first characters matching the key press of at least one text character.

16. The method of claim 14 , wherein the user interface elements are grouped based on the first characters contained in the associated text labels of the user interface elements.

17. The method of claim 14 , wherein:

the forward user navigation input comprises a combination of one or more forward modifier keys and the key press of at least one text character; and

the backward user navigation input is comprises a combination of one or more backward modifier keys and the key press of at least one text character.

18. A computer implemented method for a software application having user interface elements displayed on a screen, the method performed by a computer and comprising the steps of:

grouping the user interface elements displayed on the screen alphabetically into groups according to characters contained in text labels associated with the user interface elements, the interface elements indicating, on the screen, a user interface element currently having focus to receive user input;

detecting a sequence of one or more user navigation inputs, comprising:

a forward user navigation input comprising a forward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user navigation input comprising a backward modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

generating a navigation string from the forward or backward user navigation input; and

identifying a group of user interface elements by comparing the navigation string to the characters contained in the text labels associated with the user interface elements;

shifting input focus to a user interface element in the identified group based on the navigation string, the shifting comprising:

when the user navigation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has an associated text label containing characters matching the key press of at least one text character;

wherein when the user navigation input is the forward user navigation input:

shifting input focus in the forward direction to a next user interface element next in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when the current group is not the same as the target group, and

when the user navigation input is the backward user navigation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group if the current group is not the same as the target group.

19. The method of claim 18 , wherein detecting a sequence of one or more user navigation inputs comprises:

detecting a sequence of forward user navigation inputs, the sequence having a first user navigation input and a last user navigation input;

initializing the navigation string when the first user navigation input is detected;

starting a time out interval with each forward user navigation input; and

determining the last user navigation input as the input after which no forward user navigation inputs are detected within the time out interval.

20. The method of claim 18 , wherein detecting a sequence of one or more user navigation inputs comprises:

detecting a sequence of backward user navigation inputs, the sequence having a first user navigation input and a last user navigation input;

initializing the navigation string when the first user navigation input is detected;

starting a time out interval with each backward navigation key press; and

determining the last navigation key press as the key press after which no backward navigation key presses are detected within the time out interval.

21. The method of claim 18 , wherein the user interface elements have an order, and shifting input focus comprises:

if the user navigation input is the forward user navigation input, shifting input focus in order in the forward direction to a next user interface element in the current group having a text label starting with the same characters as the characters in the navigation string; and

if the user navigation input is the backward user navigation input, shifting input focus in order in the reverse direction to a previous user interface element in the current group having a text label starting with the same characters as the characters in the navigation string.

22. A computer implemented method for providing activation keys for user interface elements displayed on a screen, the method performed by a computer and comprising the steps of:

grouping the user interface elements displayed on the screen alphabetically into user interface element groups according to characters contained in respective text labels associated with the user interface elements, the user interface elements indicating, on the screen, a user interface element currently having focus to receive user input;

detecting an ensemble of sequential user activation inputs, comprising:

a forward user activation input comprising a forward activation modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements, and

a backward user activation input comprising a backward activation modifier key press combined with a key press of at least one text character identifying one of the groups of user interface elements;

identifying a group of user interface elements by comparing the characters contained in the text labels associated with the user interface elements to the key press of at least one text character; and

performing an action associated with the a user interface element in the identified group, the performing comprising:

when the user activation input is detected:

determining a current group of user interface elements that contains the user interface element currently having input focus, and

determining a target group of user interface elements that has an associated text label containing characters matching to the key press of at least one text character;

when the user activation input is the forward user activation input:

shifting input focus in the forward direction to a next user interface element in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a first user interface element in the target group when the current group is not the same as the target group, and

when the user activation input is the backward user activation input:

shifting input focus in the reverse direction to a previous user interface element in the current group having a text label containing characters matching the key press of at least one text character when the current group is the same as the target group, and

shifting input focus to a user interface element last in order in the target group when the current group is not the same as the target group.

23. The method of claim 22 , further comprising:

determining whether the key press of at least one text character uniquely identifies a user interface element; and

automatically executing an action associated with the user interface element when it is determined that the key press of at least one text character uniquely identifies the user interface element.

24. The method of claim 23 , wherein the key press of at least one text character comprises a sequence of identical group identifier characters.

25. The method of claim 22 , wherein detecting an ensemble comprises detecting one or more sequential user activation inputs entered by a user within a time threshold.

26. The method of claim 22 , further comprising delimiting the user activation inputs in the ensemble based on the pressing and releasing of an activation modifier key.

27. The product of claim 1 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

28. The product of claim 5 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

29. The product of claim 9 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

30. The method of claim 14 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

31. The method of claim 18 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

32. The method of claim 22 , wherein, if there is no current group, the target group is deemed to be different from the current group and input focus is shifted to a first user interface element in the target group.

33. The method of claim 14 , further comprising:

receiving a display of a graphical user interface, the graphical user interface including the user interface elements;

identifying the user interface elements in the display of the graphical user interface; and

extracting from the display text labels for the identified user interface elements.

Assignments (4)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
CORRECTED RECORDATION FORM TO CORRECT ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL 014489 FRAME 0760. Recorded May 24, 2004
From: CHADZELEK, THOMAS; REICHERT, ARMIN; DIETL, JOSEF
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 014665/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2004
From: CHADZELEK, THOMAS; REICHERT, ARMIN; DIETL, JOSEF
To: SAP AKTIENGESELLSCHAFT; SAP GLOBAL INTELLECTUAL PROPERTY
Reel/Frame 014489/0760 →