W3C home > Mailing lists > Public > www-html@w3.org > November 2005

domain distinction between @role and @class is unenforceably vague [was: Re: p in address tag?]

From: Al Gilman <Alfred.S.Gilman@IEEE.org>
Date: Thu, 10 Nov 2005 10:50:17 -0500
Message-Id: <p06110402bf9916ccc9de@[]>
To: www-html@w3.org

But the precision of commentary conveyed by each is vastly different.


We can't base usage rules on the differing intent of @role vs. @class in terms
of what they are trying to communicate.

Use of @role is indicated when we can, in RDF, say pretty clearly what we
want a processor to know about an element instance.  Because use of @class
won't deliver a payload of connotations with anything like the same 

What someone is supposed to know as a connotation or consequence of an
@class value is up for grabs.  There is no good way to sustain a community
of common interpretation with regard to that attribute.

So @role was needed for clarity of machinable annotation, not really because
there was anything that @class has and enforces that excludes application
to any domain of assertions.

It is a second-generation, better-engineered venture into the same
semantic space. Refining what is known about the current element
instance. Not a fork into a new semantic space.


At 8:55 AM -0500 11/10/05, Orion Adrian wrote:
>On 11/10/05, John Foliot - WATS.ca <foliot@wats.ca> wrote:
>>  David Woolley wrote:
>>  >> That's the use that the element was designed for which can also be
>>  >> written:
>>  >>
>>  >> Orion Adrian 123 Barrier St. Lizardlick, NC 21001 United States
>>  >
>>  > It would be written like:
>>  >
>>  >   Orion Adrian, 123 Barrier St., Lizardlick, United States, NC 21001
>>  >
>>  > and that is typically exactly how it would be presented in academic
>>  > papers, except that it would be in italics.  Things like address and
>>  > cite are semantic markup for things that would be typically set in
>>  > italics in a printed, English language, academic paper.
>>  This has been an interesting thread so far.
>>  ADDRESS has been underused for quite some time, which is a shame really,
>>  because it does have a semantic meaning, vague as it is.
>>  However, with XHTML2 I am super-excited with the idea of @role (I think
>>  it is/was a flash of brilliance), and I believe, by the spec
>>  (http://www.w3.org/TR/xhtml2/mod-role.html#s_rolemodule), @role could
>>  and would solve the very problems discussed so far.
>>  No where in the spec does it say that there can only be *one* instance
>>  of ADDRESS in any document, so all we really need to do is "define" what
>>  we as authors mean when we use the ADDRESS element.  Consider:
>>          <address role="author">John Foliot</address>
>>          <address role="company">WATS.ca</address>
>>          <address role="city_state">Ottawa, ON</address>
>>          <!-- this one is weak, but I'm working off the top of my head
>>  -->
>>          <address role="country">Canada</address>
>>          <address role="email">foliot@wats.ca</address>
>>          <address role="website">http://www.wats.ca</address>
>>  ...etc. etc.  Due to @role's extensible nature (via RDF), this now gives
>>  the *idea* of Address[1] some definition, there could be a core list
>>  (which I believe is already being developed:
>>  http://www.w3.org/TR/xhtml2/mod-role.html#col_Role) or a *unique*
>>  definition as required.  Since, by default ADDRESS is a block level
>>  element, without author intervention it displays on individual lines
>>  (addressing the visualization issue), but may also be styled differently
>>  via CSS/DOM
>>  Here and now considerations:  OK, so XHTML2 is still a draft, however
>>  this does not preclude using ADDRESS as described above, minus the real
>>  semantic definitions afford by @role.  However the tricky ID attribute
>>  or the less useful TITLE attribute could both stand-in in a pinch today,
>>  validating to HTML 4 and beyond.
>>  Thoughts?
>>  JF
>>  --
>>  John Foliot  foliot@wats.ca
>>  Web Accessibility Specialist / Co-founder of WATS.ca
>>  Web Accessibility Testing and Services
>>  http://www.wats.ca
>>  Phone: 1-613-482-7053
>>  Address (n.)
>>           1. A description of the location of a person or organization,
>>  as written or printed on mail as directions for delivery: wrote down the
>  > address on the envelope.
>>           2. The location at which a particular organization or person
>>  may be found or reached: went to her address but no one was home.
>>  Source: http://dictionary.reference.com/search?q=Address
>I think we have to be very careful here with @role.
>We have to precisely differentiate between classification and role.

Not just no, but no way.

role is classification; type is classification.  @role extends the
classification of the current instance beyond the knowledge that
can be adduced from the element type and other attributes.

>Classification seems to specify a is-a relationship while role seems
>to specify serves-as-the which has a subtle difference.

Correct, the difference is subtle, still within the general function
of classification (expressing membership in similarity categories).

>@role seems to specify unique portions of the page while
>class(ification) and the element name specify the generic formatting
>structure for that element (paragraph, heading, list, etc.)

No, the @class attribute is also used to refine the knowledge climate
applicable to the element bearing the attribute.

The property "suitable for use in transmission through the postal
services" is appropriate to add to an <address> element by using
the @role attribute.

The real difference between @role and @class is not semantic: what it
can mean; but computational: how you can computationally learn about
what it means. @class gives you opaque tokens. There is no good
Web-wide practice for associating such tokens with machinable, and
clearly delimited, knowledge (roughly bundles of assertions). @role
gives you something that can be expanded into a URI. RDF gives you a
Web-standard way to associate assertions with this URI. So this is a
chain of Web-standard "communicative gestures" that allow us to
clearly import a known cluster of assertions to a current element

See the discussions in the "RDF in HTML Task Force" list on "semantics
of @role" for more on this.



>Orion Adrian
Received on Thursday, 10 November 2005 15:50:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:16:04 GMT