[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