lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev proposal: rendering tables


From: Chuck Martin
Subject: Re: lynx-dev proposal: rendering tables
Date: Wed, 28 Apr 1999 02:23:58 -0400

On Wed, Apr 28, 1999 at 06:54:35AM +0500, Vlad Harchev wrote:
> 
>  IMO we shouldn't respect justification of cells - this will make life easier,
> and will be better visually - offset of a cells will be
> independant of the aligment. This will help visually scanning cells.

If all tables were really tables, I would agree with you.  Howver, the
vast majority of "tables" are abuses of the TABLE element, intended to
make web pages "pretty."  For example, it's very common to see a "table"
with some variation of the following format:

-------------------------------------------
                                          |
   This cell contains a title or maybe    |
  a company logo or something, centered   |
              in the cell.                |
                                          |
-------------------------------------------
         |                                |
  This   | This cell contains the main    |
   is    | body of the page.  It contains |
  some   | headings, paragraphs, ordered  |
  sort   | and unordered lists, etc.      |
   of    |                                |
  menu   | There may even be tables in    |
         | this cell.                     |
  Item1  |                                |
         |         Some of it may even be |
  Item2  |    centered or right-justified |
         |  Don't even ask me how long it |
  Item3  |  took me to create this little |
         |                   example. :-) |
  Item4  |                                |
         | The format may be important,   |
  Item5  | and in a case like this, I     |
         | think the formatting, justifi- |
  Item6  | cation, etc., should be        |
         | honored.                       |
         |                                |
-------------------------------------------

Well, I think you get the idea.  The abuses complicate matters, and we
need to make sure that we don't make the page ugly or unreadable by our
implementation of tables.

>   As for identation, identation you suggest is more conservative. As for me, I
>   prefer more identation - this helps table look as table, but in this case we
>   can run off the width.

I would go along with more indentation, except that pages such as my example
above could get really ugly.

> > -----Start of table-----
> > 
> > A1: Contents if row 1, column A
> >     Second line of row 1, column A
>  
>  What 'Second line of row 1, column A' means - do you mean it should be added 
>  by lynx or it was supposed as cell content?

Cell content.  See my example above.  Cells very often have enough content
to be complete web pages in themselves.

>   May be verbose '----.*' are  not needed (think of nested table - what lynx
> should emit) - and as I understand lynx should start numerating cells of 
> nested 
> table from 'A1'? Think of nested tables: it will emit something like
> 
>  A1:data of A1
>      B1: -------start of table-------
>      A1: data of A1 
>      
>          B1: data of B1
>          
>               C1: data of C1
>               
>      A1: data of A1 
>      
>          B1: data of B1
>          
>               C1: data of B3
>               
>      A2: data of A2
>      
>          B2: data of B2
>          
>               C2: data of C2
>      -----end of table          
> 
>  IMO user can understand that if there is a cell A1 in cell A1, then this is
>  a nested table.

I agree, but I would indent the inner tables instead of having the A1's
directly below the B1.

The reason I would recommend showing where a table begins and ends is again
because of the abuses.  In my example above, the top cell would be A1,
the menu on the left would be A2, and the text on the right would be B2.
Since B2 will likely contain most of the content of the page, most of the
page will be indented.  Even though that portion of the page is preceded
by "B2:", someone who was new to Lynx might wonder why everything was
indented.  Possibly the "-----Start of table-----" would be unnecessary,
but it would definitely let people know that the reason for the indentation
was because this was a table (provided they read the documentation enough
to see how tables were handled by Lynx).

By the way, even the first cell (A1) would have to be indented unless you
put the cell labels on a separate line from their content, which might not
be a bad idea.  Otherwise, the first line of a cell would be indented
more than the remaining lines.

>    If we mark cell content with tags like 'A1', IMO we can do more identation 
>  to imporve readablity of lynx.   

But at the expense of making a lot of pages look really ugly, since many
pages have most, if not all, of their content in tables, as I pointed out
above.

>  If table has more columns that screen width can provide, we just place all
>  cells of those columns at constant offser from the right edge, like

That seems reasonable.

>  One thing we have to think about is how to be with ROWSPAN and COLSPAN
>  (should we recompute mark values?)         

I'd say yes.  For example, if you see something like this:

A1:
   B1:
         D1:
A2:
   B2:
      C2:
         D2:
   B3:
      C3:
A4:
   B4:
      C4:
         D4:

(content deliberately omitted) you can reasonably assume you have a table
that looks something like this:

+--+-----+--+
|  |     |  |
+--+--+--+--+
|  |  |  |  |
|  +--+--+--+
|  |  |     |
+--+--+--+--+
|  |  |  |  |
+--+--+--+--+

Chuck


reply via email to

[Prev in Thread] Current Thread [Next in Thread]