Re: Applicable elements for predefined classnames

Rene Saarsoo wrote:
> I wrote:
>>> Similarly authors can make up their own element <foo>, which
>>> might be assigned a meaning in some future spec of HTML.
>>> But usually there is no benefit in making up your own elements,
>>> and people rarely do it. Similarly do they rarely come up with new
>>> values for other attributes with predefined sets of values.
>>> Why should it be the case with @role?
> 
> Matthew Raymond wrote:
>> I don't think that's the case. While people don't commonly invent new
>> elements, they use all sorts of arbitrary values for the |rel|
>> attribute, especially for microformats.
> 
> This is quite different from making up your own class names.
> If I make up my own class name, there is direct benefit -
> I can use it in my CSS file as a class selector.

   Selecting something by |rel| value is only marginally more
complicated in CSS3:

| [rel~="value"] { /* Styling */ }

> When I make up my own @rel value, there is no benefit at all.
> Only when there exists some technology, that makes use of
> this new @rel value, then will people start using it.

   There are already many plug-ins that add functionality for
microformats, and many of them use |rel| values that aren't in the HTML
4.01 specification. In the future, XBL 2.0 will allow people to bind
predefined behaviors based on selectors such as the one above.

   Since unknown roles would have to be ignored by user agents to avoid
the wrath of Web developers, many authors may choose to invent their own
roles and use XBL 2.0 and/or the Selectors API to create custom support
for those roles. They may even go so far as to create browser add-ons to
support the new roles.

> Additionaly, when people come up with new value for @rel,
> then we can assume, that almost everyone will use it to
> mean the same thing. No-one would use rel=nofollow to mean
> something different than "search engines, don't follow this
> link".

   You assume people know about various microformats when many authors
don't even know the HTML 4.01 specification. Naming conflicts between
microformats will happen because there will never be perfect
communications between all developers and vendors. Add to that the
regional differences in how words are used and spelled and you should
get the picture.

Received on Thursday, 10 May 2007 11:28:25 UTC