A few thoughts on table navigation

Hi,
I was thinking about the actions needed for table navigation.  Many of
the actions involve movements along rows and/or columns.  The basic movements
are:

    absolute movement (movement to a particular row or column)
    positive relative movement (movement using a positive increment)
    negative relative movement (movement using a decrement)
    movement to last position
    no movement

Movement from one table cell to another table cell can be specified
into a combination of one the above actions for row movement
and one of the above actions for column movement.


There are two problems with navigating tables created by HTML.  One problem
is that the number of columns can vary from row to row.  The other
problem is that a cell can span over multiple columns or down multiple
rows.

The first problem can cause two types of trouble.  The first is what
to do if the movement uses a relative row movement.  This can be taken
care of by assuming for the counting that each row extends to the end of
the table.  The other trouble occurs when referencing the last
row in a column.  In this case, the last actual row in the column is used.
(If there a more rows in the table than in the column, the cell
could be rendered with that information.)

The simplest way to handle spanned cells is to put all the info for
the spanned cell into the upper left row-column position.  The other
positions are rendered with a note about there being a spanned cell starting
at what row and column.

Some additional useful navigation actions are:

    1.  jump to just before the table

    2.  jump to just after the table

    3.  repeat the last movement which used relative action

    4.  return to the cell the user was just in

    5.  mark the cell with a letter a-z or A-Z

    6.  return to the cell marked with a particular letter

    7.  jump to the upper left row-column position in a spanned cell

Scott

PS  A notation can be used for the five basic types of movements:

    n   -  a number with no sign for absolute movement
    +n  -  a number with a positive sign for positive relative movement
    -n  -  a number with a negative sign for negative relative movement
    $   -  a dollar sign for movement to last position
    ^   -  a carat for no movement

A table cell movement can now be represented as two of these primitive
movements separated by a comma (,).  The first movement would be
for the row and the second would be for the column.  For example, moving
to the third row and fifth column would be written as:

    3, 5

If you wanted to move down two rows, the movement could be written as:

    +2, ^

Moving to last column in fifth row would be:

    5, $

Moving to bottom row of three columns to the left would be:

    $, -3

A quick note.  If the comma is used in the notation, the carat for
no movement could be replace by an empty string.  For example,
the action:

    ^, +2

could be written as:

    , +2

Another notation approach would be to eliminate the comma.

Received on Tuesday, 15 September 1998 00:44:14 UTC