FreshPatents.com Logo
stats FreshPatents Stats
n/a views for this patent on FreshPatents.com
Updated: July 21 2014
newTOP 200 Companies filing patents this week


    Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • RSS rss
  • Create custom RSS feeds. Track keywords without receiving email.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY DIRECTORY
  • Patents sorted by company.

Follow us on Twitter
twitter icon@FreshPatents

Directional focus navigation

last patentdownload pdfdownload imgimage previewnext patent


20130014043 patent thumbnailZoom

Directional focus navigation


A rendering engine that supports directional focus navigation, in response to a directional input, shifts the focus to an appropriate focusable element. The rendering engine determines one or more focusable elements that are candidates to receive the focus based on the received directional input and based on the relative display locations of the focusable elements. The rendering engine selects the most appropriate candidate focusable element based on each candidate element's display location in relation to the display location of the element that currently has focus.
Related Terms: Navigation Rendering

Browse recent Microsoft Corporation patents - Redmond, WA, US
Inventors: Tantek Celik, Ada Y. Chan, Bradley R. Pettit
USPTO Applicaton #: #20130014043 - Class: 715767 (USPTO) - 01/10/13 - Class 715 
Data Processing: Presentation Processing Of Document, Operator Interface Processing, And Screen Saver Display Processing > Operator Interface (e.g., Graphical User Interface) >On-screen Workspace Or Object >Focus Control Of Multiple Diverse Workspace Objects

Inventors:

view organizer monitor keywords


The Patent Description & Claims data below is from USPTO Patent Application 20130014043, Directional focus navigation.

last patentpdficondownload pdfimage previewnext patent

PRIORITY APPLICATIONS

This U.S. Non-Provisional Application for Letters Patent claims the benefit of priority under 35 U.S.C. §120 as a continuation of U.S. patent application Ser. No. 12/784,755, filed May 21, 2010, which claims the benefit of priority to U.S. Pat. No. 7,735,016, filed Apr. 28, 2006, which claims the benefit of priority to U.S. Pat. No. 7,134,089, filed Nov. 13, 2002, the entire disclosure of which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

This invention relates to focus navigation and, in particular, to directional focus navigation.

BACKGROUND

A graphical user interface (GUI) may include multiple elements that can receive input. The target of the input is said to have focus, and elements eligible for focus within a document are called focusable elements. In a GUI, input that is received is processed according to an element that currently has focus. For example, if a GUI contains two editable text boxes, when a user enters text through a keyboard, the text is rendered in the text box that currently has focus.

In a GUI that receives input from a pointing device, such as a mouse, the currently focused element is determined based on the location of a cursor or pointer when a user submits a select command (e.g., clicks a mouse button). If the cursor or pointer is over a text box when the user clicks the mouse button, then that text box is given focus and future input, such as through a keyboard, is directed to the text box until the focus is moved to another element.

In a GUI that receives input from devices without pointing mechanisms, such as keyboards or remote controls, an alternative mechanism is implemented to allow a user to specify an element to be given focus, and thus, the target of keyboard (or other device) input.

Browser or other rendering engine applications that provide a mechanism for displaying documents that include focusable elements (e.g., hypertext markup language (HTML) documents, dynamic HTML documents, or web pages) are implemented to support navigation between focusable elements in a document by way of a mouse or other similar pointing device. Some such documents also support navigation through the focusable elements of the document according to a tab order that defines a sequential order that determines which element is focused next when a user presses a tab key.

Recently introduced technology allows web pages (and potentially other types of documents that may include focusable elements) to be rendered using devices other than computers. These other devices may include, but are not limited to, a television set, a cellular phone display, and a multi-modal device, such as the Nokia 9110 Communicator. Such devices do not typically include a pointer input device, such as a mouse.

Rendering engines implemented on such devices may be programmed to receive an input that behaves like the press of a tab key to allow a user to move sequentially from one focusable element in a document to another. However, cascading style sheets, dynamic HTML, and the like support dynamic rendering of documents in such a way that the visual layout of a rendered document may differ from the layout that was intended when the document was generated and possibly, when the tab order of focusable elements in the document was established. Accordingly, moving from one focusable element to another either sequentially or based on an established tab order may not result in visually logical focus navigation, and it is desirable for a rendering engine to support directional focus navigation based on directional inputs, such as an arrow key press.

SUMMARY

Directional focus navigation is described. A browser or other rendering engine that supports directional focus navigation determines focusable elements that are candidates to receive focus based on a directional input and a display layout of the focusable elements. After candidate focusable elements are identified, the rendering engine determines the most appropriate candidate, and moves the focus to that element.

BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the drawings to reference like features and components.

FIG. 1a illustrates a portion of an exemplary method for implementing directional focus navigation.

FIG. 1b illustrates a portion of an exemplary method for implementing directional focus navigation.

FIG. 2 illustrates a view of a document with three focusable elements.

FIG. 3 illustrates a view of a document with several focusable elements and a table structure.

FIG. 4 illustrates a view of a document with several focusable elements.

FIG. 5 illustrates a view of a document that includes focusable areas.

FIG. 6a illustrates a view of a scrollable document with several focusable elements.

FIG. 6b illustrates a view of a scrollable document with several focusable elements.

FIG. 6c illustrates a view of a scrollable document with several focusable elements.

FIG. 7a illustrates a view of a parent document that includes a scrollable element.

FIG. 7b illustrates a view of a parent document that includes a scrollable element.

FIG. 8 illustrates a view of two documents with focusable elements displayed using frames.

FIG. 9 illustrates components of an exemplary environment in which directional focus navigation may be implemented.

FIG. 10 illustrates select components of a client device implemented to support directional focus navigation.

DETAILED DESCRIPTION

The following discussion is directed to directional focus navigation among focusable elements of a document. Directional focus navigation as described herein may be implemented using a browser or other interface or rendering engine that renders documents (e.g., HTML or dynamic HTML) that may contain focusable elements to provide a mechanism for navigating among those focusable elements using directional inputs (e.g., left, right, up, and down arrow keys) instead of a traditional pointing device such as a mouse. For example, directional focus navigation may be implemented to support web site navigation using a television remote control, when an HTML rendering engine is implemented as part of a television or television set-top box. In another example, directional focus navigation may be implemented to support web site navigation using a cellular telephone or multi-modal device.

Method for Directional Focus Navigation

Directional focus navigation may be described in the general context of computer-executable instructions, such as application modules, being executed by a computer. Generally, application modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Directional focus navigation may be implemented using any number of programming techniques and may be implemented in local computing environments or in distributed computing environments where tasks are performed by remote processing devices that are linked through various communications networks based on any number of communication protocols. In such a distributed computing environment, application modules may be located in both local and remote computer storage media including memory storage devices.

FIGS. 1a and 1b illustrate a method 100 for implementing directional focus navigation among focusable elements and/or focusable areas of a rendered document. FIG. 1a illustrates a portion of the method 100 that pertains to directional focus navigation when candidate focusable elements are within a display area associated with a document. FIG. 1b illustrates a portion of the method 100 that pertains to directional focus navigation when candidate focusable elements are not within a display area associated with a document.

Documents that may be rendered as described herein can be represented by a hierarchical tree structure that illustrates the relationships between elements of the document. For example, the document itself may be represented by an element (e.g., an HTML document element) that contains the other elements of the document, such as buttons, hyperlinks, tables, and so on. Per the hierarchical structure, elements within the document element may also contain other elements. For example, a table element may contain cell elements. When a document is first rendered, the focus is given to some element associated with the document. That element may be the document element, or it may be any other focusable element contained within the document element

At block 102, a browser (or other type of rendering application) receives an indication of a directional input. For example, the indication is received when a user presses an arrow key (e.g., up, down, left, or right) on a keyboard, remote control, phone keypad, or other such device.

At block 104 the browser determines whether or not the current focus is on an element associated with the currently rendered document. If the browser determines that the current focus is not on an element associated with the document (the “No” branch from block 104), then at block 106 the browser identifies the first focusable element. The method continues at block 108, setting the focus to the identified first focusable element. In the described implementation, the first focusable element of a document is a focusable element that is a child of the element representing the entire document that is displayed above and to the left of any other focusable elements that are children of the element representing the entire document.

If the browser determines that there is a currently focused element associated with the document (the “Yes” branch from block 104), then at block 110, the browser identifies the element that currently has the focus.

At block 112 the browser determines whether a focus candidate exists. In the described implementation, a focus candidate is a focusable element that is within the viewable area of the document and displayed at a location that is indicated by the received directional input in relation to the display location of the currently focused element. If it is determined that there is not a focus candidate associated with the current document (the “No” branch from block 112), then the method continues at block 122 (shown in FIG. 1b). On the other hand, if it is determined that there is a focus candidate associated with the current document (the “Yes” branch from block 112), then the method continues at block 114.

At block 114 the browser selects a focus candidate that is associated with the current document.

At block 116 the browser determines whether or not the selected element is the most appropriate element to receive the focus based on the display location of the selected element in relation to the display location of the element that currently has the focus. If the selected element is an appropriate element to receive the focus based on its display location, and no other focusable element has been identified as an appropriate element, then the selected element is identified as the most appropriate element thus far. If the selected element is an appropriate element to receive the focus based on its display location, and another focusable element has previously been identified as the most appropriate element thus far, then the browser compares the locations of the two identified appropriate elements to determine which one is the most appropriate element thus far. If the browser determines that the selected element is the most appropriate element to receive the focus (the “Yes” branch from block 116), then the method continues at block 118. On the other hand, if the browser determines that the selected element is not the most appropriate element to receive the focus (the “No” branch from block 116), then the method continues at block 120.

At block 118, the browser identifies the selected element as the element to which the focus will be given.

At block 120 the browser determines whether or not there is another focusable element within the viewable area of the document that has not been selected as described with reference to block 114. If the browser determines that there is another focusable element that has not been selected (the “Yes” branch from block 120), then the method continues at block 114, as described above. On the other hand, if the browser determines that there are no other focusable elements that have not been selected (the “No” branch from block 120), then the method continues at block 108, setting the current focus to the focusable element identified as described above with reference to block 118.

As described above with reference to block 112, if the browser determines that there is not another focusable element within the viewable area of the document, then at block 122 (shown in FIG. 1b), the browser determines whether or not the current document is scrollable in the direction indicated by the received directional input (described above with reference to block 102). If the document is scrollable in the direction indicated (the “Yes” branch from block 122), then at block 124 the browser scrolls the document in the direction indicated. On the other hand, if the document is not scrollable in the direction indicated (the “No” branch from block 122), then the method continues at block 126.

At block 126 the browser determines whether the document associated with currently focused element is a child document associated with another parent document. If the browser determines that there is not a parent document (the “No” branch from block 126), then at block 128, the method terminates with the focus remaining on the currently focused element. On the other hand, if the browser determines that there is a parent document (the “Yes” branch from block 126), then the method continues at block 130.

At block 130 the browser determines whether there are focusable elements within the viewable area of the parent document that are appropriate based on the display location of the elements in relation to the display location of the element with the current focus based on the direction indicated by the directional input. If there are no appropriate focusable elements within the viewable area of the parent (the “No” branch from block 130), then at block 132 the browser sets the focus to the parent document. On the other hand, if there is at least one appropriate focusable element within the viewable area of the parent document (the “Yes” branch from block 130), the method continues at block 134.

At block 134 the browser identifies the most appropriate focusable element in the parent document to receive the focus.

At block 136 the browser sets the current focus to the element identified as described with reference to block 134.

Horizontal Focus Navigation

Horizontal focus navigation pertains to the moving of focus from one element to another element in response to a left or right directional input. In an implementation of directional focus navigation, when moving focus horizontally, preference is given to a focusable element with a display position that has more vertical overlap with the display position of the currently focused element over a focusable element that has less vertical overlap with the display position of the currently focused element. Details of a horizontal focus navigation implementation will be described below with reference to FIG. 2.



Download full PDF for full patent description/claims.

Advertise on FreshPatents.com - Rates & Info


You can also Monitor Keywords and Search for tracking patents relating to this Directional focus navigation patent application.
###
monitor keywords



Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Directional focus navigation or other areas of interest.
###


Previous Patent Application:
Using gesture objects to replace menus for computer control
Next Patent Application:
Enabling access to rich data
Industry Class:
Data processing: presentation processing of document
Thank you for viewing the Directional focus navigation patent info.
- - - Apple patents, Boeing patents, Google patents, IBM patents, Jabil patents, Coca Cola patents, Motorola patents

Results in 1.07628 seconds


Other interesting Freshpatents.com categories:
Qualcomm , Schering-Plough , Schlumberger , Texas Instruments ,

###

All patent applications have been filed with the United States Patent Office (USPTO) and are published as made available for research, educational and public information purposes. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not affiliated with the authors/assignees, and is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application. FreshPatents.com Terms/Support
-g2-0.3548
     SHARE
  
           

FreshNews promo


stats Patent Info
Application #
US 20130014043 A1
Publish Date
01/10/2013
Document #
13618207
File Date
09/14/2012
USPTO Class
715767
Other USPTO Classes
International Class
06F3/048
Drawings
14


Navigation
Rendering


Follow us on Twitter
twitter icon@FreshPatents