Browse Prior Art Database

Selecting Nodes in a Hierarchial Graph using the Keyboard

IP.com Disclosure Number: IPCOM000113075D
Original Publication Date: 1994-Jul-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 6 page(s) / 326K

Publishing Venue

IBM

Related People

Beaudet, PJ: AUTHOR [+2]

Abstract

A means for providing keyboard navigation for hierarchical graphs is disclosed. This solution allows graph nodes to be selected in a consistent manner without using crosshairs or a pointing device.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 39% of the total text.

Selecting Nodes in a Hierarchial Graph using the Keyboard

      A means for providing keyboard navigation for hierarchical
graphs is disclosed.  This solution allows graph nodes to be selected
in a consistent manner without using crosshairs or a pointing device.

      In this solution, specific keys are used (e.g., the four
directional arrow keys left, right, up, and down for the purpose of
this discussion) to move the node selection indicator between the
nodes in the graph.  In general, using specific keys or key sequences
to move the node selection indicator in some well-defined manner
would be considered a natural extension of the basic idea presented.
Fig. 2.  A before and after view of a graph when a left arrow is
applied with the indicated selection.  Fig. 3.  A before and after
view of a graph when a left arrow is applied with the indicated
selection.  Fig. 4.  A before and after view of a graph when a right
arrow is applied with no previous selection.

      For this discussion, assume that a directed graph will be laid
out in a top-to-bottom manner with roots along the top level and
children along subsequent levels.  As such, each node appears at a
given level and may have other nodes to its left and right within its
level.  Each directed arc will be directed downward from parent to
child with the exception of cycles, and each child is placed at most
one level deeper than its deepest parent.  It is important to
emphasize that the solution described below applies for any type of
graph, including cyclic graphs; solving the problem for graphs that
are trees is a more restricted problem.  Moreover, this solution
allows the user to traverse every node in the graph by using the
keyboard only.

      The behavior of each of the arrow keys can be intuitively
defined as follows.  Note that for each definition there are two
cases, depending on whether there is a currently selected node.

      A left arrow, if there is no selected node, will select the
right-most node of the shallowest level of the graph (Fig. 1).  A
left arrow, if there is a selected node n, will select the node
immediately to the left of n at the same level, if there is one (Fig.
2).  As an extension providing wrap around, if there is no node
immediately to the left of n at the same level, the right-most node
at the same level as n could be selected (Fig. 3).

      A right arrow, if there is no selected node, will select the
left-most node of the shallowest level of the graph (Fig. 4).  A
right arrow, if there is a selected node n, will select the node
immediately to the right of n at the same level, if there is one
(Fig. 5).  As an extension providing wrap around,  if there is no
node immediately to the right of n at the same level, the left-most
node at the same level as n could be selected (Fig. 6).  Fig. 5.  A
before and after view of a graph when a right arrow is applied with
the indicated selection.  Fig. 6.  A before and...