Patent ID: 7631272

Claim:
At least one computer-readable storage medium for use in a system that accesses visual elements having multiple controls that can receive focus in response to a user pressing navigation keys, the computer-readable storage medium containing instructions which when executed by a computer, perform a method for cycling between different focus scopes, the method comprising: accessing a content page having multiple controls that can be selected from a keyboard focus, the multiple controls being arranged in a visual tree having multiple focus scopes, wherein each of the multiple focus scopes defines a sub tree of the visual tree, wherein each sub tree includes a full set of controls that is cycled through in response to pressing a predetermined navigation key, and wherein a top-level element of each sub tree includes multiple properties, including at least: a property associating the control with its respective focus scope; and a property defining: when focus for the content page is on a control of the respective focus scope, a currently selected control; and when focus for the content page is on a control not within the respective focus scope, a last selected control within the focus scope; wherein each of the multiple controls of the content page maintain their own properties, including at least: a keyboard focus property, wherein only one of all controls on the content page can have a true value for the keyboard focus property; and a focus property, wherein only one of all controls within each focus scope can have a true value for the focus property; and receiving selection of a second predetermined navigation key and, in response: changing from a first focus scope having a first set of controls to a second focus scope having a second set of controls; updating information in the top-level element of the first focus scope to identify the last selected control; updating information in the top-level element of the second focus scope to identify the currently selected control; changing the keyboard focus property of the last selected control to have a false value while maintaining the focus property as having a true value; and changing the keyboard focus property of the currently selected control to have a true value; and receiving selection of the second predetermined navigation key and, in response returning to the first focus scope and automatically using the property identifying the last selected control of the first focus scope and setting keyboard focus to the identified last selected control, while also changing the keyboard focus property of the last selected control to a true value.