HTML 3.2 PR

Gustavo MEZZETTI (mezzetti@math.unipd.it)
Sat, 16 Nov 1996 21:15:55 +0100 (MET)


Date: Sat, 16 Nov 1996 21:15:55 +0100 (MET)
From: Gustavo MEZZETTI <mezzetti@math.unipd.it>
To: www-html@w3.org
Subject: HTML 3.2 PR
Message-Id: <Pine.OSF.3.91.961116211451.25613A-100000@galileo.math.unipd.it>

Dear HTML Working Group,
        I am one of the millions of HTML authors on the web.  I have
read, only few days ago, the first thorough, draft documentation about
Wilbur (HTML 3.2) made available by the W3C.  If it is still possible,
I would like to propose a couple of emendations to the definition
of the language.



1) Allow Headings Within LI and DD Elements
   ========================================

The content model of LI and DD elements is %flow, which is defined
as "(%text | %block)*"; the %block entity, in turn, is defined as

" P | %list | %preformatted | DL | DIV | CENTER |
  BLOCKQUOTE | FORM | ISINDEX | HR | TABLE "

Thus, we can see that the %flow content model indirectly allows any
element which is allowed within %body.content, because it allows
elements (such as DIV and BLOCKQUOTE) that have %body.content as their
content model.  Nevertheless, headings (as defined by the %heading
entity) are *not* allowed within %flow: I find this inconsistent.
        I feel that headings *should* be allowed within LI and DD
elements; in fact, there are contexts where one wants even to build
a list containing nothing but headings.  Consider, for instance,
the case of the welcome page of a site: such a page is likely
to contain only a list of links to the main subsections into which
the site itself is structured, and it would be nice, and useful,
to have these links displayed as headings.  Here is an example
of what I mean:

<HTML>
<HEAD>
<TITLE>The Vertebrates</TITLE>
</HEAD>
<BODY>
<H1>The Vertebrates</H1>
<P>Welcome to the site of the vertebrate animals.
Please choose where you want to go:</P>
<UL>
<LI><H2><A HREF="...">Fishes</A></H2>
<LI><H2><A HREF="...">Amphibians</A></H2>
<LI><H2><A HREF="...">Reptiles</A></H2>
<LI><H2><A HREF="...">Birds</A></H2>
<LI><H2><A HREF="...">Mammalia</A></H2>
</UL>
<HR>
<ADDRESS>...</ADDRESS>
</BODY>
</HTML>

According to the present DTD this markup is not conforming, but it
*would* have been if I had enclosed the H2 elements within DIV
elements.  I think this is very inelegant.
        To summarize, I propose the following emendations to the
Wilbur DTD:

a) change the definition of %block to

        <!ENTITY % block
                " P | %heading | %list | %preformatted |
                  DL | DIV | CENTER | BLOCKQUOTE |
                  FORM | ISINDEX | HR | TABLE ">

   (%heading is added);

b) change the definition of %body.content to

        <!ENTITY % body.content
                " ( %text | %block | ADDRESS )* ">

   (%heading is removed).

The %flow entity should remain defined as it is now, that is

        <!ENTITY % flow
                " ( %text | %block )* ">

BEGIN PARENTHESIS
To say it all, I would rather change %body.content to
"(%flow , ADDRESS?)", but I realize that somebody could not like it!
END PARENTHESIS
        Note that, after these changes, for many elements %flow
becomes a more suitable content model than %body.content; for instance,
for BLOCKQUOTE, FORM, (TH|TD), perhaps DIV,... perhaps anything but BODY!



2) About Tables
   ============

What happened to the COLSPEC attribute of the TABLE element?
(See HTML 3.0.)  I think it would be very useful.  Another useful
thing for tables would be the ability to specify indipendently
one of each other the vertical and horizontal spacing among cells
(something like a couple of attributes VCELLSPACING and HCELLSPACING).



Thank you for your attention and patience.



	Gustavo MEZZETTI
	Universita' degli Studi di Padova (Italy)
	--------------------------------------------------------
	World-Wide Web:	http://www.math.unipd.it/~mezzetti/
	E-mail:		mezzetti@math.unipd.it
	--------------------------------------------------------
	Snail-mail:	Dipartimento di Matematica Pura e Applicata
			Via Belzoni, 7
			35131	PADOVA
			Italy