( 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
blockquote
example 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 whilesection
is 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
figure
example and thirdblockquote
example.While I agree that a pullquote quoting the article text should not use
blockquote
orq
, quotations from other sources may be used as pullquotes, and there’s nothing in the spec restrictingblockquote
from being used for a pullquote.@synapticism — I think
article
depends 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
, anarticle
should 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"
😉