Re: CTP's UL, OL, LI Proposal....

Chris Josephes (cpj1@winternet.com)
Fri, 17 May 1996 23:36:16 -0500 (CDT)


Date: Fri, 17 May 1996 23:36:16 -0500 (CDT)
From: Chris Josephes <cpj1@winternet.com>
To: www-html@w3.org, CTaylor@wposmpt.nps.navy.mil, mudws@mail.olemiss.edu,
Cc: howcome@w3.org
Subject: RE: CTP's UL, OL, LI Proposal....
Message-Id: <Pine.SUN.3.91.960517225627.26190C-100000@parka.winternet.com>

I'm glad to see that improvements to lists is getting more attention, and 
it will probably be a lot more successful if it is done as a seperate 
proposal.

From what I've read I'd like to make the following recommendation.  It is 
clear that there have been no less than seven attributes declared for UL 
alone (from Warren), so I would like to recommend that these attributes 
be logically broken down into "structure" and "presentation" depending on 
their function.  I would then urge that some of the "presentation" 
attributes be moved over to style sheets to keep things a bit less complex.

Structure Attributes

<UL> COMPACT, WRAP, ID, CLASS, SRC, DINGBAT, PLAIN

<OL> COMPACT, WRAP, ID, CLASS, SEQNUM, CONTINUE, STEP, TYPE

<LI> TYPE, VALUE, CLASS, ID, SRC, DINGBAT, PLAIN

<LH> TYPE, VALUE, CLASS, ID, SRC, DINGBAT, PLAIN

I'd argue that SRC and DINGBAT could be kept as attributes since they 
degrade gracefully and won't harm text browser.  I'd also like to 
recommend the STEP attribute for the OL tag that would allow you to 
change the increments of the list numbering.  You will also note I 
mentioned the LH tag which is used for a List Header element.

Presentation Attributes

<UL, OL, LI> HEIGHT, WIDTH, HSPACE, VSPACE

I must still say that my one big gripe concerns the usage of these 
attributes in the HTML.  I think it would be a lot more efficient if the 
author could "tweak" these values at a later time in a stylesheet without 
cluttering up the HTML file.

Therefore I would like to make a recommendation for controling these 
settings through stylesheets.

The latest CSS draft has the 'list-style' property that can be set to a 
numeric type, a bullet type, or a URI for an image.  So, you could have 
the following:

UL { list-style: "greendot.gif" disc }

Which would display a green dot in graphical browsers, or a disc if the 
image was unavailable.

The list-style property only affects elements with the display element 
set to list-item, so there is no need to worry about green dots appearing 
in headers or tables.

The only disadvantage of this is that there is no mention in the CSS 
draft as how to handle dingbats.  (Maybe as a solution to this, we could 
just use constant values prefixed with "ding-", such as "ding-binhex" or 
"ding-audio")

As far as presentation control goes, why not have a set of elements that 
only affect "list-items" selectors?  But in this case, it should affect 
whatever is used to as an indentifier for a list item, whether it is a roman 
numeral or a gif image.  I'd recommend calling such elements "index-height", 
"index-width", "index-hspace" and "index-vspace".

So, a CSS could look like this....

LI { list-style: "applelogo.gif" disc
     index-height: 2ex
     index-width: 1em
   }

and a list in the HTML file could look like this....

<UL>
<LH>Computers
<LI>Apple Computer
<LI SRC="ibmlogo.gif">IBM
</UL>

(naturally, SRC or DINGBAT used in HTML would override the CSS properties)

Comments? Flames?

----------------------- Christopher P. Josephes ----------------------------
Email |  mailto:cpj1@winternet.com
Web   |  http://www.winternet.com/~cpj1/