<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Davin&#039;s blog &#187; breadcrumbs</title>
	<atom:link href="http://blog.davingranroth.com/tag/breadcrumbs/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.davingranroth.com</link>
	<description>Occassional posts on user experience design, faith, and family.</description>
	<lastBuildDate>Mon, 09 Aug 2010 21:10:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Marking up breadcrumb navigation</title>
		<link>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=marking-up-breadcrumb-navigation</link>
		<comments>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 13:51:31 +0000</pubDate>
		<dc:creator>Davin Granroth</dc:creator>
				<category><![CDATA[Web design and technology]]></category>
		<category><![CDATA[breadcrumbs]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.davingranroth.com/?p=660</guid>
		<description><![CDATA[code{white-space: pre;} ol#breadcrumbs{ list-style-type: none; margin: 0px; padding: 6px 3px 4px 3px; font-size: .8em; display: block; border: 1px solid #ccc; background-color: #eee; } ol#breadcrumbs li{ display: inline; white-space: nowrap; margin: 0px; padding: 0px; } ol#breadcrumbs li:after{ content: " > "; &#8230; <a href="http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><!-- Yes, I know this isn't valid, but I don't see another quick way of inserting custom CSS on this blog page. --></p>
<style type="text/css">
    code{white-space: pre;}
    ol#breadcrumbs{
        list-style-type: none;
        margin: 0px;
        padding: 6px 3px 4px 3px;
        font-size: .8em;
        display: block;
        border: 1px solid #ccc;
        background-color: #eee;
    }
    ol#breadcrumbs li{
        display: inline;
        white-space: nowrap;
        margin: 0px;
        padding: 0px;
    }
    ol#breadcrumbs li:after{
        content: " > ";
    }
    ol#breadcrumbs li.current_page:after{
        content: "";
    }
</style>
<p>Breadcrumb navigation is a secondary navigation system that usually represents a site visitor&#8217;s current position in the site, showing other pages above the current one in the site&#8217;s hierarchy.</p>
<p>In some sites, like those built with Dokuwiki, breadcrumbs actually show the history of the user&#8217;s session instead of the hierarchy of the user&#8217;s current position in the website.</p>
<p>Breadcrumb navigation is typically found at the top of a content region, and usually below primary tabbed navigation.</p>
<h3>History? Bah, yesterday&#8217;s newspaper.</h3>
<p>In his <a href="http://www.useit.com/alertbox/breadcrumbs.html">April 10, 2007 Alertbox, <cite>Breadcrumb Navigation Increasingly Useful</cite></a>, Jakob Nielsen declares, <q>Breadcrumbs should <strong>show the site hierarchy</strong>, not the user&#8217;s history.</q></p>
<p>For the purposes of conceiving of solid, semantic markup, let&#8217;s agree with Nielsen. Breadcrumbs represent position in a site&#8217;s hierarchy.</p>
<h3>Semantic values: hierarchy, location, current position</h3>
<p>In hierarchical breadcrumb navigation, the following aspects of information are important.</p>
<ul>
<li>Steps in the hierarchy that show broader sections of the site related to current position, i.e., the ancestors of the current page</li>
<li>The order of those steps</li>
<li>The ability to immediately jump to any ancestor page</li>
<li>Indication of the current page, which should not be linked</li>
</ul>
<h3>The markup</h3>
<p>So, with those in mind, here is an example that provides just enough code and semantics, and little else.</p>
<p><code><br />
&lt;ol id=&quot;breadcrumbs&quot;&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../../../&quot;&gt;Kim Jong Il&#8217;s Favorite Widgets, LLC&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../../&quot;&gt;Military&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../&quot;&gt;Nuclear&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../&quot;&gt;Warheads&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../&quot;&gt;Just for funsies&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../&quot;&gt;2006&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li class=&quot;current_page&quot;&gt;Gilju, Hamgyong province, 0136 GMT&lt;/li&gt;<br />
&lt;/ol&gt;<br />
</code></p>
<p>This markup is fairly lean, yet does communicate the order of steps via the ordered list.</p>
<p>Note that the Project Cerbera website provides a nice discussion and some <a href="http://projectcerbera.com/web/articles/breadcrumbs-markup">other examples of breadcrumbs markup</a> that are in line with this approach.</p>
<p>The examples at Project Cerbera also show nested lists to indicate the nested nature of the links, but that is over-the-top. The simple ordered list sufficiently communicates the order of steps in the hierarchy, without providing additional markup noise for a screen reader to announce or a designer to style.</p>
<h3>Style</h3>
<p>The breadcrumbs should strive to follow conventions.</p>
<ul>
<li>Take up one line</li>
<li>Use a standard separator between steps, like &gt;</li>
<li>Each step links to an appropriate page using standard link indicators (underlined and colored)
<ul>
<li>Except for the last step, which should be unlinked and represent the current page</li>
</ul>
</li>
</ul>
<h4>Unstyled example</h4>
<ol>
<li><a href="../../../../../../">Kim Jong Il&#8217;s Favorite Widgets, LLC</a></li>
<li><a href="../../../../../">Military</a></li>
<li><a href="../../../../">Nuclear</a></li>
<li><a href="../../../">Warheads</a></li>
<li><a href="../../">Just for funsies</a></li>
<li><a href="../">2006</a></li>
<li class="current_page">Gilju, Hamgyong province, 0136 GMT</li>
</ol>
<h4>Styled example</h4>
<ol id="breadcrumbs">
<li><a href="../../../../../../">Kim Jong Il&#8217;s Favorite Widgets, LLC</a></li>
<li><a href="../../../../../">Military</a></li>
<li><a href="../../../../">Nuclear</a></li>
<li><a href="../../../">Warheads</a></li>
<li><a href="../../">Just for funsies</a></li>
<li><a href="../">2006</a></li>
<li class="current_page">Gilju, Hamgyong province, 0136 GMT</li>
</ol>
<p>Minor variations could include having the current page item be in a bold font, however, breadcrumbs are <em>secondary</em> navigation. They don&#8217;t need to attract much attention.</p>
<p>To reference the Project Cerbera site again, the examples there use a greater-than background-image on the list items. That technique may stand better in cross-browser tests than the use of the <var>after</var> pseudo-class used here.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
