Re: 'role' should be property

Jon Barnett wrote:
> From reading various threads about "role" it appears that there are
> various ideas about what "role" is and what it should mean.  Here's my
> opinion:
> 
> - "role" should not be a substitute for existing elements: use the
> proper elements instead. 
> - if a use case for "role" is very common, may that role should warrant
> its own element

   Agreed.

> - "class" exists for authors to make up their own class names to serve
> as a hook to scripting and styling.  "role" shouldn't be used for this
> purpose

   We can't really prevent |role| from being used in that way, nor would
it be desirable for roles that aren't widely implemented in user agents.

   Also, note that many microformats use |class| for semantic purposes,
so there is the issue of overlap.

> - "role" should be like "rel".  It should have a predefined set of
> values where authors can suggest additions.  A UA may provide extra
> functionality for a "role" the way it does for rel="next", etc.  If
> authors make up new values, they assume the risk that the UA may assign
> some functionality to this in the future in addition to or in lieu of
> functionality the author provides with scripting and styling.

   Much of this problem is solved if we give the UA a means of
determining if a particular role is part of a microformat. Sorta like
namespacing, but not as strict and awkward and with some kind of cascade
ability.

   Of course, this also would solve the name overlap issue with |class|
as well...

> - the best example I've seen for "role" so far is "copyright".  The role
> of "copyright" can be played by various elements, but "copyright" itself
> may not deserve its own <copyright> element.

| <head>
|   <meta name="microformat"
|   content="http://www.w3.org/2007/05/mf-copyright" title="c">
| </head>
| <body>
|   [...]
|   <p class="copyright" mf="c"> [...] </p>
| </body>

Received on Monday, 4 June 2007 11:26:51 UTC