While I agree that the use of the class attribute in microformats is consistent with the intended use (i.e., to embed semantic information into HTML), I think there are some subtle gotchas to consider.
My recollection is that when span and class were introduced, there were a lot of people who had some unease with the very existence of class, span and div, because it adds an orthogonal layer of semantics onto HTML. For example, what is the difference between: a) This is an <em>emphasized</em> point vs. b) This is an <span class="emphatic">emphasized</span> point Presumably, (a) would be preferred over (b), although I personally prefer (b). (I think strong and em are copouts, but that's a whole other story). It gets even more confusing when you mix tags and classes more aggressively. Example A: -- <div class="hreview"> <span><span class="rating">5</span> out of 5 stars</span> <h4 class="summary">Crepes on Cole is awesome</h4> ... </div> Is the h4 the "structure" that defines the semantics of the document, or is the "summary" class the structure that defines the semantics? In other words, why not do this: Example B: -- <div class="hreview"> <span><span class="rating">5</span> out of 5 stars</span> <span class="summary">Crepes on Cole is awesome</span> ... </div> Ostensibly, the reason for preferring example A over example B is that there are two systems of semantics for two different reasons. The HTML view of the document says that the header is an h4. The microformats view of the document says it's a "summary". Example A allows both views of the document to live together. What's the problem with this? Well, you'll notice that the HTML document has become polluted by the div and span tags. Are the span and div tags part of the HTML semantics, or are they just scaffolding to hold the microformat information? In other words, should we ignore the span and div tags when interpreting our document as HTML? This is essentially the same issue that people have with hacks like adding <div class="topleft"> into a document, which is clearly presentational. While the microformat tags are not presentational, they are a different, orthogonal set of semantics that is being embedded into the document, which can make it hard to know how to interpret the semantics of the HTML tags. Anyway, I think the above arguments are not a reason to discount microformats -- the benefits outweigh the costs. But I do think there is a valid point to consider here, which is that mashing two (or more) systems of semantics together comes at a cost. -Sho -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Allsopp Sent: Wednesday, July 12, 2006 5:50 PM To: microformats-discuss@microformats.org Subject: [uf-discuss] More responses to slashdot comments Tantek (and others) As I have too much time on my hands :-) Another draft response to some /. comments [SDC=Slashdot comment, MFR=Micrformats response] SDC: Mixing presentation and data - good... bad... good. But it gets better a little, each time (maybe more of a spiral than a wheel). SDC: Ok, so this "microformats" thing is about encoding extra data inside an HTML file by abusing CSS class names for markup, isn't that completly unnecessary and nothing more than an ugly hack? MFR: Several slashdot comments carry in essence the same criticism as these - that microfomats, abuse the class attribute, and by doing so mix presentation with document structure. This demonstrates a misunderstanding of the class attribute of HTML. The class attribute is very commonly used by web designers in conjunction with CSS to style pages (which is one of the roles outlined for it in the HTML specification [1]), and in truth, it is often overused in this way. But despite that, class, according to the HTML specification "has several roles in HTML", including "for general purpose processing by user agents" [1]. Microformats make use of this second aspect of the class (and id) attribute, and do so legitimately. It is not an abuse of the class or id attribute to use it to add semantic context to a document. Nor is the use of class in and of itself presentational - in fact, it is an important mechanism for separating presentation from structured content. [1] http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 john John Allsopp style master :: css editor :: http://westciv.com/style_master blog :: dog or higher :: http://blogs.westciv.com/dog_or_higher WebPatterns :: http://webpatterns.org Web Directions Conference :: Sydney September 28-29 :: http://wd06.com _______________________________________________ microformats-discuss mailing list microformats-discuss@microformats.org http://microformats.org/mailman/listinfo/microformats-discuss _______________________________________________ microformats-discuss mailing list microformats-discuss@microformats.org http://microformats.org/mailman/listinfo/microformats-discuss