( 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.
For those following along at home, ALA 5.0 is currently using:
from Translation is UX
@austingovella — Thank you for your intercession, but I have some minor quibbles (or, please excuse me while I 386 ;)
While this may be your personal definition, there is nothing in the spec that supports either of these assertions. The spec’s first blockquote example is less than a line long. The content model of
aside(and most other “block-level” elements) is “Flow content”, which includesblockquote.The spec’s third
blockquoteexample is “a blockquote element […] used in conjunction with a figure element and its figcaption to clearly relate a quote to its attribution”.This is not in the spec, and I don’t understand why this would be more “pure” than, say, having a blockquote after a heading or before a list.
Your
section-based example does not include a heading, although the spec states that a section “typically” has one. While this does not preclude usingsection, it will create an “Untitled section” in the document outline, which is preferrable to avoid for accessibility reasons. The spec notes “A general rule is that the section element is appropriate only if the element's contents would be listed explicitly in the document's outline.” This depends on the content, so whilesectionis one potential option, it’s certainly not the only one, or even necessarily the best one.While I understand this perception, I believe it is incorrect, as evidenced by the spec’s first
figureexample and thirdblockquoteexample.While I agree that a pullquote quoting the article text should not use
blockquoteorq, quotations from other sources may be used as pullquotes, and there’s nothing in the spec restrictingblockquotefrom being used for a pullquote.@synapticism — I think
articledepends on whether you decide a blockquote is “a complete, or self-contained, composition”. My rule of thumb is whether you’d create an RSS feed with this content — I personally wouldn’t for almost all content (a quotes site notwithstanding), but you might. As withsection, anarticleshould typically have a header for accessibility purposes, and should be something significant enough to be listed in the document’s outline.@murtaugh, @zeldman, @Wilto & Co. — Congratulations on the relaunch! I’m most impressed by the code and design, you’ve all outdone yourselves (and that’s saying something!) 💖
PS That blockquote example from the top should be
lang="fr"😉