[whatwg] microformats incompatible with WebApps 1.0 ?
James Graham
jg307 at cam.ac.uk
Mon Dec 11 13:42:32 PST 2006
Ian Hickson wrote:
> On Mon, 11 Dec 2006, Karl Dubost wrote:
>> WebApps 1.0 doesn't have profiles attribute, and then can't be used for
>> microformats.
>
> Microformats' use of the profile attribute is hypothetical. Most pages
> that use Microformats don't use the profile="" attribute. We are now
> migrating to a single-namespace approach where you register the keywords
> instead of registering the domain for the namespace for the keywords.
> Since in practice this is how Microformats are used anyway, this is
> basically moving the spec towards a more realistic model. It is also a
> much easier-to-implement model (no disambiguation needed).
I am really quite concerned about the use of a global namespace to
associate classnames with semantics. This raises the possibility of
collisions between people who are expecting the class attribute to be an
opaque, semantic-free string, similar to the way that it was defined in
HTML 4, and those who are in the know about the existence of a global
registry and diligently register all the classnames that they use before
publishing anything.
Those people who really are just using class names as site-specific
style hooks must face the possibility that someone will register their
"opaque" classname with some unexpected semantics or restrictions on its
use and, suddenly, find their previously conformant documents rendered
non-conformant and open to misinterpretation by any UA which happens to
implement some feature based that classname. The only obvious way around
this is to make all semanticless classes UUIDs of the form
f5970ac9-2bf0-479d-841e-a60ab6e09c35 However this is clearly never going
to happen; the increase in maintainance headaches caused by such
abstract classnames would remove one of the big selling points of
separating style out into stylesheets.
One could argue that no developer should actually be using non-semantic
or otherwise unregistered classnames. However this idea strikes me as
utopian and, probably, misguided. For a start, it is clear that
designers want precise layouts, and CSS selectors, especially as
implemented in UAs, cannot give them the control that they need.
Therefore using class as a pure style hook is not something that is
going to go away. Moreover, mpt has rather convincingly argued that the
relevant quantity to consider when assessing the desirability of a
feature in HTML is not how many semantic possibilities it provides but
whether or not it increases the "semantic utility" of the average
document. By taking away a means of generating non-semantic style hooks
through class, developers will instead abuse either existing elements or
existing, registered, class attributes for a purpose other than that for
which they are intended. This will effectively prevent any UA from
building a feature around the semantics supposedly provided by that
element/classname.
I'm not sure what the solution to this problem is. I think the situation
would be considerably better if people were able to register classname
_prefixes_, so that people could use classnames of the form
microformatName_propertyName with microformatName registered. This may
require changes to the syntax of existing microformats for use in HTML
5. I don't know if people would find that acceptable, but I think the
current proposal is, at least, unworkable.
--
"The universe doesn't care what you believe. The wonderful thing about
science is that it doesn't ask for your faith, it just asks for your
eyes" --- http://xkcd.com/c154.html
More information about the whatwg
mailing list