( Conversation started here, with @murtaugh and @zeldman. )
Ah man, I got Opinions™ on this. I ususally go with something like:
<aside>
<h1>Optional Heading</h1>
<blockquote>
<p>It is the unofficial force—the Baker Street irregulars.</p>
</blockquote>
<address>Sherlock Holmes</address>
<cite>Sign of Four</cite>
</aside>
aside provides sectioning context, address flags the author/owner of the current sectioning context, cite to cite a “work”, and blockquote because it’s… a blockquote. I’d probably bolt the emdash onto the front of the address with address:before { content: "—"; }, where it’s not really essential. This is all predicated on the pullquote being considered non-essential to the surrounding content.
The figure route could work too, but technically figure doesn’t provide sectioning context, so there’s two ways you could go with this.
<aside || section>
<figure>
<blockquote>
<p>It is the unofficial force—the Baker Street irregulars.</p>
</blockquote>
<figcaption>
<address>Sherlock Holmes</address>
<cite>Sign of Four</cite>
</figcaption>
</figure>
</aside || /section>
aside if complementary but inessential to the surrounding content (like a pull-quote directly from the article), section if part to the surrounding content (an external quote directly referenced by the text).
That’s an awful lot of stuff, though, so the other way of doing it with figure:
<figure>
<blockquote>
<p>It is the unofficial force—the Baker Street irregulars.</p>
</blockquote>
<figcaption>
<p>Sherlock Holmes</p>
<p>Sign of Four</p>
</figcaption>
</figure>
The figcaption flags the content as metadata for the rest of the figure, but you lose the specifics: “author” and “work” just become generic metadata.
I’m partial to the first one from an HTML5 outline standpoint.
I really should update that article already >< I love the smell of semantics in the morning too, so forgive the intrusion, but here are some related thoughts, most likely too late to be relevant. Y’know, fwiw ^^
While I loved the neatness of
footerinblockquotethat we’ve been using on HTML5 Doctor, I can understand Hixie’s reasoning — it’s a problem when you want to quote an article etc which has a footer. Because of this we’re (well, I’m) planning to change all blockquotes at HTML5 Doctor to Hixie’s suggestedfigurepattern at some undetermined point in the future. For example:(together with
figcaption:before {content: "—";}etc.) Amusingly an important reason for wanting a wrapper element is because our blockquote style visually groups the citation with the quote, so a more Zeldman-friendlywouldn’t cut it for us, although it’s one option Hixie suggests, and would work fine for ALA. We could just use a
divwrapper, butfigure+figcaption(or a sectioning wrapper plusfooter) seems a nice way to make the association between quote and citation explicit. Another alternative would be ARIA’saria-describedbyproperty:(with
p[id^="bq-"]:before {content: "—";}etc.), butfigureseems more built-in vs ARIA’s bolt-on, and setting this up seems a little fiddly.As blockquotes in ALA are main content I personally wouldn’t use
aside, although @murtaugh’s code sample above would be perfect for magazine-style pullquotes (a phrase from the article repeated in large type, intended to tempt you to start reading).sectionalso seems overkill to me as blockquotes don’t have headings, although admittedly this isn’t a requirement.I wouldn’t use
addressfor the quote’s author, unless it was used to provide contact info for the author, which would seem a little creepy to me ^_^ Using a Person Microdata or Microformat for the author might be worth it, but only if you could automate it, and this still seems a little overkill since you’ve just linked to an article of theirs:The
citeattribute onblockquoteis also something I’d only add if it was automated (beware ye metacrap), and only in addition to a visible link.There’s no one true pattern in the spec for this yet, so I don’t think any of these ways are wrong. It would be a great SimpleQuiz question for H5D actually…
PS Love your work, all — thanks for making the web a better place! \o/