Re: A look at tables

Hi, Ian

In terms of relative movement, I think the techniques should allow for
simultaneous row and column relative movement, e.g. down 7 rows left 3
columns.

The reason I brought up the issue of multiple keystrokes is to allow
specifying arbitrary rows and columns, e.g. row 33 column 11.  This type
type of specification cannot be done in a single keystroke.  Some
browsers don't allow for direct row, column position because the
designers didn't plan for actions requiring more than one keystroke.

Mixed navigation is like row 12 and right 5 columns.  It is a
combination of a direct movement and a relative action.

In terms of span cell movement, you might have missed my point.  If a
row has a single cell, a span cell of 3 columns and a single cell and
the row below it has 5 cells and if the user who is in the span cell
decides to go down one row, which cell of the 5 in that row  does he end
up in?


I haven't read Raman's book on auditory interfaces, but I strongly
suspect we've come up with very similar techniques of table navigation.
He's calling his a "theoretical" table and I'm calling mine a
"normalized" table.

Looking at your emacs example, suppose that you are in position N in
line L.  Line L+1, which is shorter than line L , has M positions.  If
you go down from position N in line L, you end up at M in line L+1.  Now
suppose that line L+2 has more than N positions.  What is the deirable
behavior if you go down another line?  Would you want to end up at M or
N in line L+2?  In similar navigation down a table, you probably want to
end up in the equivalent of N.

Scott



> Scott Luebking wrote:
> > 
> > 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).  
> 
> Yes. 
> > 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.
> 
> I'll add relative "direct" navigation to the techniques.
>  
> > So, any table navigation should support specifying the navigation
> > by multiple keystrokes.
> 
> I'm not sure if I agree with that. I think the number of keystrokes
> is separate from the functionalities you describe.
>  
> > 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.  
> 
> What is "mixed navigation"?
> 
> > 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.
> 
> To the row below..
> 
> > 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.
> 
> Yes, I think it would be disorienting to move from row N down one row
> and find yourself in row N + 20. Instead, you might have to have
> to have your position adjusted left or right. Cells (in the HTML model)
> start in the row / column position where they are specified. They may
> extend into the row or column (left or right depending on the table
> direction).
> In the case you describe above, I'd move the focus down one row
> into the cell that happens to span that row.
> 
> That's how emacs seems to work when I move the cursor up and down
> among lines of text of differing lengths (although I'm sure
> this is configurable): If horizontal position N exists in line L + 1,
> move the curor from L(N) to L+1(N). If not, move it from L(N) to
> L+1(end-of-line).
> 
>  _ Ian
> 
>  - Ian
> 
> 
> -- 
> Ian Jacobs (jacobs@w3.org)   http://www.w3.org/People/Jacobs
> Tel/Fax:                     +1 212 684-1814
> Cell:                        +1 917 450-8783

Received on Tuesday, 21 December 1999 23:41:20 UTC