A look at tables

Hi,

Maybe a way to look at tables is to forget the presentation and think
of them in terms of navigation.  I believe that it will not be possible
to bind all the different navigation possibilities to individual
keystrokes (though it would be possible to do that for the more
frequent table navigation actions).  For example, there should be the
ability to go directly to a specific cell which would require
multiple keystrokes.  Similarly, the ability for full relative movement,
e.g. left 7 columns and down 43 rows, will need multiple keystrokes.

So, any table navigation should support specifying the navigation
by multiple keystrokes.

Another question to ask is whether the table navigation can be expressed
in a closed symbolic form.  This is helpful in analyzing the complexity
of the navigation expression.  (Sorry about bringing in some computer
science here.)  I believe much of the table navigation can be described by:

    [h|m|f] [+|-] [n|$] , [+|-] [n|$]

where:

    h  -  header area
    m  -  main area
    f  -  footer area
    n  -  a string of digits
    $  -  last row or column

Direct cell navigation is expressed by not including the signs.  Relative
cell navigation is specified by including the signs.  Mixed navigation
is also supported.  So any navigation system which can be shown to map into
this representation would be rather complete.


A table navigation problem is to what cell does the user go when moving
out of a span cell.  For example, if the span cell is three columns
wide, to which cell does the user go when they choose to go down.
Similarly, if the user is in a cell in a row with 5 columns, but the
next row with 5 columns is 7 rows down, where does the user go when they
go down?  I think navigation could be simpler by navigating through a
different concept of a table.  Instead of using the HTML table as the
basis of navigation, a "normalized" table could be used onto which the
HTML table is mapped.  (I'm sorry about getting abstract here, but I
think it does actually simplify some of the navigation issues.)  A
normalized table is one where all the rows have the same number of
columns and all the columns have the same number of rows.  Each cell in
an HTML table maps into one or more cells in the normalized table.  A
span cell in an HTML table occupies a set of continous cells in the
normalized table.  For example, if a span HTML cell spans 3 columns and
two rows, it would map into a block of cells 3 columns wide and two rows
high in the normalized table.

Scott

Received on Friday, 10 December 1999 20:28:07 UTC