System and method for property-based focus navigation in a user interface
First Claim
1. A computer system for changing focus between different objects of a user interface and in a declarative manner that allows an application developer to customize how focus changes between the different objects and how navigation of focus between the different objects will behave for the objects during runtime interactions with a user of an application, the computer system comprising:
- a processor; and
computer-readable media having computer-executable instructions that, when executed by the processor, cause the computer system to;
display, using an application executing on the computer system, a plurality of user interface objects organized in two or more logical groupings, a first user interface object of the plurality of user interface objects being displayed as having input focus;
receive user input;
determine that the user input corresponds to a request from the user to change the input focus from the first user interface object to a different interface object of the plurality of user interface objects, wherein determining that the user input corresponds to the request from the user to change the input focus comprises accessing a focus navigation resource selected as corresponding to the first user interface object and that is separate from the application and separate from all user interface objects and that defines at least one property defining a behavior to be followed by the application when changing the input focus between the different user interface objects;
change the input focus from the first user interface object to the different user interface object, wherein changing the input focus comprises;
accessing the at least one property of the focus navigation resource;
determining that the first user interface object is within a first logical grouping of user interface objects, the first logical grouping having a focus order immediately preceding a second logical grouping of user interface objects;
determining that the at least one property is a once value defining a focus navigation behavior for allowing the input focus to be on only one user interface object within the first logical grouping, before moving the input focus to the second logical grouping;
in response to determining that the at least one property is a once value, changing the input focus to a user interface object of the second logical grouping irrespective of whether there is another user interface object within the first logical grouping that follows the first user interface object within the first logical grouping and irrespective of whether the first user interface object is the last user interface object within the first logical grouping; and
display, within the application, the input focus as being changed to the second user interface object.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved system and method for focus navigation behavior specification in a user interface is provided. To this end, an application may include declarations that may associate a focus navigation resource with a user interface object and a focus navigation behavior may be dynamically selected for changing the input focus in the user interface. A focus navigation engine may be provided for applying a number of focus navigation behaviors for moving input focus within and among logical groups of user interface objects. A visual representation of the user interface objects with the applied focus navigation behavior may be generated and a display representation may be rendered for presentation on a user interface display.
-
Citations
21 Claims
-
1. A computer system for changing focus between different objects of a user interface and in a declarative manner that allows an application developer to customize how focus changes between the different objects and how navigation of focus between the different objects will behave for the objects during runtime interactions with a user of an application, the computer system comprising:
-
a processor; and computer-readable media having computer-executable instructions that, when executed by the processor, cause the computer system to; display, using an application executing on the computer system, a plurality of user interface objects organized in two or more logical groupings, a first user interface object of the plurality of user interface objects being displayed as having input focus; receive user input; determine that the user input corresponds to a request from the user to change the input focus from the first user interface object to a different interface object of the plurality of user interface objects, wherein determining that the user input corresponds to the request from the user to change the input focus comprises accessing a focus navigation resource selected as corresponding to the first user interface object and that is separate from the application and separate from all user interface objects and that defines at least one property defining a behavior to be followed by the application when changing the input focus between the different user interface objects; change the input focus from the first user interface object to the different user interface object, wherein changing the input focus comprises; accessing the at least one property of the focus navigation resource; determining that the first user interface object is within a first logical grouping of user interface objects, the first logical grouping having a focus order immediately preceding a second logical grouping of user interface objects; determining that the at least one property is a once value defining a focus navigation behavior for allowing the input focus to be on only one user interface object within the first logical grouping, before moving the input focus to the second logical grouping; in response to determining that the at least one property is a once value, changing the input focus to a user interface object of the second logical grouping irrespective of whether there is another user interface object within the first logical grouping that follows the first user interface object within the first logical grouping and irrespective of whether the first user interface object is the last user interface object within the first logical grouping; and display, within the application, the input focus as being changed to the second user interface object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for changing focus between different objects of a user interface and in a declarative manner that allows an application developer to customize how focus changes between the different objects and how navigation of focus between the different objects will behave for the objects during runtime interactions with a user of an application, the method comprising:
-
displaying, using an application executing on a computing system, a plurality of user interface objects organized in two or more logical groupings, a first user interface object of the plurality of user interface objects being displayed as having input focus; receiving user input; determining that the user input corresponds to a request from the user to change the input focus from the first user interface object to a different interface object of the plurality of user interface objects, wherein determining that the user input corresponds to the request from the user to change the input focus comprises accessing a focus navigation resource selected as corresponding to the first user interface object and that is separate from the application and separate from all user interface objects and that defines at least one property defining a behavior to be followed by the application when changing the input focus between the different user interface objects; changing the input focus from the first user interface object to the different user interface object, wherein changing the input focus comprises; accessing the at least one property of the focus navigation resource; determining that the first user interface object is within a first logical grouping of user interface objects, the first logical grouping having a focus order immediately preceding a second logical grouping of user interface objects; determining whether the at least one property is a once value defining a focus navigation behavior for allowing the input focus to be on only one user interface object within the first logical grouping, before moving the input focus to the second logical grouping; when the at least one property is determined to be a once value, changing the input focus to a user interface object of the second logical grouping irrespective of whether there is another user interface object within the first logical grouping that follows the first user interface object within the first logical grouping and irrespective of whether the first user interface object is the last user interface object within the first logical grouping; and displaying, within the application, the input focus as being changed to the second user interface object within the second logical grouping. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for changing focus between different objects of a user interface and in a declarative manner that allows an application developer to customize how focus changes between the different objects and how navigation of focus between the different objects will behave for the objects during runtime interactions with a user of an application, the method comprising:
-
displaying, using an application executing on a computing system, a plurality of user interface objects, a first user interface object of the plurality of user interface objects having input focus; receiving user input; generating a visual representation of the plurality of user interface objects within the application in a visual tree structure; determining that the user input corresponds to a request from the user to change the input focus from the first user interface object to a different interface object of the plurality of user interface objects, wherein determining that the user input corresponds to a request from the user to change the input focus comprises accessing a focus navigation resource selected as corresponding to the first user interface object and that is separate from the application and separate from all user interface objects, that is independent of a plurality of available focus navigation resources which is attachable to any user interface object within the application, and that defines; one or more input mechanisms that are to be interpreted by the application as requests to change the input focus between different user interface objects, the one or more input mechanisms being defined through an object defined by a static class; and at least one property defining a behavior to be followed by the application when changing the input focus between the different user interface objects; using the visual tree structure to change the input focus from the first user interface object to the different user interface object, wherein changing the input focus comprises; accessing the at least one property of the focus navigation resource; determining that the first user interface object is within a first logical grouping of user interface objects, the first logical grouping having a focus order immediately preceding a second logical grouping of user interface objects; when the at least one property is a continue value, determining based on the user input whether the first user interface object is a last user interface object within the first logical grouping, and when the first user interface object is the last user interface object within the first logical grouping, changing the input focus to a second user interface object, the second user interface object being part of the second logical grouping, inasmuch as the continue value defines a focus navigation behavior for changing the input focus from the first user interface object within the first logical grouping to the second logical grouping when it is determined no other user interface objects within the first logical grouping should be considered within the first logical grouping; when the at least one property is a once value, changing the input focus to the second user interface object regardless of whether the first user interface object is the last user interface object within the first logical grouping, inasmuch as the once value defines a focus navigation behavior for allowing the input focus to be on only one user interface object within the first logical grouping, before moving the input focus to the second logical grouping; when the at least one property includes a cycle value, determining based on the user input whether the first user interface object is the last user interface object within the first logical grouping, and when the first user interface object is the last user interface object within the first logical grouping, changing the input focus to a third user interface object, the third user interface object being the first user interface object within the first logical grouping, inasmuch as the cycle value defines a focus navigation behavior for maintaining the input focus within the first logical grouping by changing the input focus to the first user interface object within the first logical grouping upon reaching the last user interface object of the first logical grouping; and when the at least one property includes a contained value, determining based on the user input whether the first user interface object is the last user interface object within the first logical grouping, and when the first user interface object is the last user interface object within the first logical grouping, leaving the input focus on the first user interface object, inasmuch as the contained value defines a focus navigation behavior for maintaining the input focus within the first logical grouping by leaving the input focus on the last user interface object within the first logical grouping, even in the presence of a request to change the input focus; and rendering a display representation of the visual tree structure and presenting the display representation on a user interface display, with the input focus being visually depicted. - View Dependent Claims (21)
-
Specification