Re: CLASS attribute (Was: No IMG in FIG)

Michael Johnson (michaelj@relay.relay.com)
Fri, 04 Aug 95 12:49:59 EDT


Subject: Re: CLASS attribute (Was: No IMG in FIG)
Message-Id: <MICHAELJ.950804124959@relay.relay.com>
From: michaelj@relay.relay.com (Michael Johnson)
To: www-html@w3.org
Date:    Fri, 04 Aug 95 12:49:59 EDT

Joe English wrote:
>michaelj@relay.relay.com (Michael Johnson) wrote:
>
>>                                                    I do not think that Dave
>> intended CLASS to be used to dynamically define new semantic markup, nor do I
>> think it would be a good idea to use it for this.
>
>Actually, that's precisely what CLASS was designed for.

Can you provide references that show that this was the designer's intent?

>[description of RENDER and entity hook deleted]

>This extension scheme was replaced by the CLASS attribute
>(which is more general-purpose and does not require
>browsers to parse the DTD on the fly), and <RENDER>
>was removed entirely.

I can recall some threads about RENDER but the CLASS attribute was not
added until long after RENDER went away and was in fact added in place
of the STYLE attribute which was there to hook in style sheets.

There is of course a gray area in here, since the most meaningful use of
the CLASS attribute is going to use some semantically-derived class name:

   <author class="principle">Joe Author</author> and
   <author class="collaborator">Fred Kibbitz</author> wrote in

Rather than:

   <author class="red">Joe Author</author> and
   <author class="yellow">Fred Kibbitz</author> wrote in

In general however, those semantics are not going to change the actual meaning
of the element. Joe Author and Fred Kibbitz are still both authors. In a case
like this:

   <em class="author,principle">Joe Author</em> and
   <em class="author,collaborator">Fred Kibbitz</em> wrote in

The actual meaning of the element EM has been changed. This is no longer
a phrase that should be brought to the attention of the reader. It is now the
name of an author, which might or might not need to be brought to the
attention of the reader.

In my opinion this is a bad way to use the CLASS attribute.

To look at it from another angle, you would not expect this:

  <table class="figure">

To cause the structural element which is a table to be transformed into the
structural element that is a figure. The meaning of table should not be
changed by a CLASS attribute. Perhaps the presentation of the table contents
could change (e.g. the recent discussion of two-dimensional graphic data) but
the basic meaning of the element is the same. As it should be.

Michael Johnson
Relay Technology, Inc.