Blockquote: Then and Now

As The Ultimate HTML Reference author Ian Lloyd puts it, “blockquote has been around a long time, but it hasn’t aged a day.” But while the effect of the <blockquote> tag in today’s browsers is virtually unchanged from when it was first introduced in the Web’s earliest browsers, the way we use it has progressed dramatically.

blockquote, of course, is meant to mark a “block quote”—a verbatim reproduction of content originally published or presented elsewhere, presented as a block, apart from the surrounding content. Belying this important purpose, the element’s default visual presentation is quite simple: browsers simply leave left and right margins of about 36 pixels to either side of the element.

Early on in the Web’s history, blockquote was largely ignored. In a time when HTML elements were routinely misused to achieve visual effects, blockquote was seen as the identical twin of dd, since they both have the same visual effect, and because <dd> is shorter to type than <blockquote>, that’s what designers used.

Designers who took pride in the quality of their code quickly found HTML validators (like the W3C’s) didn’t appreciate them using dd for this. dd elements belong inside a definition list (dl), after all. A blockquote, on the other hand, can go anywhere a block element is welcome, so gradually it became the element of choice for producing indentend content.

The more indented a designer wanted content to appear, the more blockquote elements he would wrap it in. This led to some pretty monstrous code, particularly when generated by WYSIWYG authoring tools:

<blockquote>
  <blockquote>
    <blockquote>
      <blockquote>
        <blockquote>
          <p>A block with a lot of breathing room!</p>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
</blockquote>

Of course, today most web designers understand the value of semantically meaningful code. This, and the fact that CSS can be used easily to apply the exact same formatting that blockquote elements get by default, has seen correct use of blockquote rise to dominate in recent years.

Meanwhile, the semantics provided by blockquote are more relevant than ever. Blogs continually quote other blogs and sites, and the blockquote element is perfectly suited to marking up such quotations.

Read on to discover some of the blockquote element’s hidden subtleties, and how it could be used to reveal a web within the Web: a web of attribution.

A Web of Attribution

Many aspects of the Web are based on the concept of links. When I link to you in a blog post, Google counts that as a vote of confidence in your content. Modern blog software even “pings” the target of a link to let it know it has been linked to (this is called a trackback). So in many ways, the Web today is a web of links.

The blockquote element has the potential to create a second “web within the Web”—a Web of attribution. This potential is created by the little-known cite attribute, which is supposed to point to the URL from which the quote was taken.

<blockquote cite="http://example.com/source.html">
  <p>A scintillating quote…</p>
</blockquote>

If everyone marked up their blockquotes this way, it would open the door to powerful analysis tools of the same sort that we now have for links. Not only would Google be able to tell you who links to you, but it could also tell you who was quoting you.

The problem with the cite attribute, of course, is that almost nobody knows about it—and even fewer people use it! And the reason? In most browsers, it doesn’t do anything.

This is something that the Microformats community really gets—no matter how useful a feature of HTML would be to Google, developers won’t bother using it if that feature won’t be visible to the visitors to the site.

Microformats are ways of using existing features of the HTML language together to make the language do new things, and one of the rules of Microformats is that they are “defined for humans first and machines second.” The fact that a Microformat must be visible and useful to the site’s users gives designers a real reason to use it.

With this in mind, the Microformats community has proposed a way of using blockquote to build a web of attribution in a user-visible way. The draft microformat is called cite-rel, and it looks like this:

<p>
  A scintillating quote from <cite id="goodquote"
  class="relationship"><a href="http://example.com/source.html"
  >someone I respect</a></cite>:
</p>
<blockquote cite="#goodquote">
  <p>A scintillating quote…</p>
</blockquote>

Instead of pointing directly at the source of the quote, the cite attribute of the blockquote points to the ID of a cite element, which contains the actual link to the source.

Not only does this produce a structure that search engines can read to discover quotations and their sources on the Web, but it makes these citations visible to users, since the citation is ultimately presented in a link.

Next time you whip out a blockquote, consider including a cite attribute to point to the source, and even try out the cite-rel microformat to make that source visible to your users, not just Google!

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.panzerworld.net C. Ankerstjerne

    I usually quote from material which is not available online, making the cite-attribute superfluous.

    My main issue with the cite-attribute (and the cite-tag, for that matter), is that they do not encourage the use of the international standards for bibliographic references (ISO 690 and ISO 690-2 for physical and electronic documents, respectively).

  • http://www.billbolte.com bbolte

    interesting point, hadn’t considered non-web sources on this.

  • dansmith

    I use this:

    
    <blockquote>
      &quot;Lorem ipsum dolor sit amet.&quot;
    </blockquote>
    <cite>Joe Bloggs - Chief Placeholder</cite>
    

    I know it’s not ideal, but as C. Ankerstjerne says, the quoted material is often not online. In my case these are usually just promotional quotes, rather than a reference to an article that exists elsewhere on the site/web.

    Perhaps a longdesc type application would work better? eg:

    
    <blockquote cite="quote-1.htm">
      &quot;Lorem ipsum dolor sit amet.&quot;
    </blockquote>
    

    quote-1.htm (on same site):

    
    Joe Bloggs - Chief Placeholder
    

    It does seem a bit excessive though.

    What does everyone else use?

  • Shane

    The HTML Validator (validator.w3.org) treats the <blockquote> element as an inline element.

    the HTML TR, however, says that it is supposed to be a block-level element (tinyurl.com/6o7p44).

    Weird.

    Shane.

  • Anonymous

    Nice article. As you say, Kevin, the cite attribute is really intended for citations of online sources. As a writer, I often cite original sources that I can’t point to online. It bugs me that the Web standards don’t allow for that natively, and similarly don’t have an appropriate way to display captions for images (neither longdesc, alt and title are really intended for that). I’ve carped about this in W3C working groups, and I think a solution is offered in the HTML 5 specs.

    You asked at the end of the article how your readers do it. I coded a subsection of the site where I work, and you can see here how I styled the blockquotes with CSS to make them stand out differently as graphic elements:

    http://www.wvdrs.org/workable/082007js.cfm

    I’m pleased with the way it resizes at different resolutions, and when font size changes. I should’ve used span instead of div for the attribution line, though.

    We live and learn.

  • the.peregrine

    Nice article. As you say, Kevin, the cite attribute is really intended for citations of online sources. As a writer, I often cite original sources that I can’t point to online. It bugs me that the Web standards don’t allow for that natively, and similarly don’t have an appropriate way to display captions for images (neither longdesc, alt and title are really intended for that). I’ve carped about this in W3C working groups, and I think a solution is offered in the HTML 5 specs.

    You asked at the end of the article how your readers do it. I coded a subsection of the site where I work, and you can see here how I styled the blockquotes with CSS to make them stand out differently as graphic elements:

    http://www.wvdrs.org/workable/082007js.cfm

    I’m pleased with the way it resizes at different resolutions, and when font size changes. I should’ve used span instead of div for the attribution line, though.

    We live and learn.

  • http://www.sitepoint.com/ Kevin Yank

    The draft microformat works for offline sources too; just omit the link:

    <p>In an article by <cite id="citation">Joe Bloggs</cite>:</p>
    <blockquote cite="#citation">
      <p>Quote goes here…</p>
    </blockquote>
  • David Dorward

    @Shane – no it doesn’t, you are probably just being confused because the content model of blockquote in Strict is (like body and form) “Contains block level elements” so it can’t have inline children (sensible since it is for quoting blocks). It is block level itself so it may not appear in places where only inline elements are allowed (such as in paragraphs).

  • http://www.christianankerstjerne.com/ C. Ankerstjerne

    The microformat still isn’t usable, in that it does not include the elements of a correct biographical listing. Ideally, a microformat for properly formatted biographical listings would look something like this (example is taken directly from ISO 690:1987, p. 2):

    <cite>
      <span class="primary_responsibility">LOMINADZE, DG</span>.
      <i><span class="title">Cyclotron waves in plasma</span></i>.
      <span class="subordinate_responsibility">
        <span class="translator">Translated by AN Dellis</span>;
        <span class="editor">edited by SM Hamberger</span>.
      </span>
      <span class="edition">1st ed.</span>
      <span class="publication">
        <span class="city">Oxford</span> : 
        <span class="publisher">Pergamon Press</span>,
        <span class="year">1981</span>
      </span>.
      <span class="extent">206 p.</span>
      <span class="series">International series in natural philosophy</span>.
      <span class="notes">Translation of : Ciklotronnye volny v plazme</span>.
      <span class="standard_number">
        <span class="isbn">0-08-021680-3</span>
      </span>
    </cite>

    And yes, the i-tag is correct. In fact, it is semantically perfect, since ISO 690:1987 requires the title to be in italics, but does not imply emphasis.

  • sampablokuper

    @C. Ankerstjerne,

    I agree wholeheartedly with your comment of August 13th, 2008 (9:52 pm). I’ve been looking for someone else with this point of view for a while!

    Fortunately, HTML5 improves upon the blockquote element somewhat, and using HTML5 it should (I think) be possible to use a cite element with the contents you gave in your example as the reference for a blockquote. So, some progress is being made – albeit slowly.

    spk