<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>22739</bug_id>
          
          <creation_ts>2013-07-20 08:36:40 +0000</creation_ts>
          <short_desc>modify advice on marking up breadcrumb navigation</short_desc>
          <delta_ts>2015-06-05 15:02:56 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>HTML5 spec</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>a11y</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>23281</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="steve faulkner">faulkner.steve</reporter>
          <assigned_to name="steve faulkner">faulkner.steve</assigned_to>
          <cc>barberboy</cc>
    
    <cc>cmhjones</cc>
    
    <cc>david100</cc>
    
    <cc>gijs</cc>
    
    <cc>info</cc>
    
    <cc>lwatson</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>roselli</cc>
    
    <cc>selenit</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91037</commentid>
    <comment_count>0</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-07-20 08:36:40 +0000</bug_when>
    <thetext>&quot;4.13.2 Bread crumb navigation&quot;
http://www.w3.org/html/wg/drafts/html/master/common-idioms.html#rel-up

refer to thread starting here: http://lists.w3.org/Archives/Public/public-html/2013Jan/0174.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93475</commentid>
    <comment_count>1</comment_count>
    <who name="github bugzilla bot">sideshowbarker+gitzilla</who>
    <bug_when>2013-09-17 08:52:43 +0000</bug_when>
    <thetext>Commit pushed to master at https://github.com/w3c/html

https://github.com/w3c/html/commit/26232e64ea96392cc12d4879a5aa60f6f6be7cfa
updated bread-crumb nav advice

fixes  bug 22739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93480</commentid>
    <comment_count>2</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-09-17 13:02:01 +0000</bug_when>
    <thetext>see feedback on updated text om twitter: https://twitter.com/tombaromba/status/379924865958289408

example of pattern used on gov.uk https://www.gov.uk/search?q=enterprise+finance+guarantee
&lt;p class=&quot;meta crumbtrail&quot;&gt;
      &lt;span class=&quot;visuallyhidden&quot;&gt;Part of &lt;/span&gt;
      &lt;span class=&quot;section&quot;&gt;Citizenship&lt;/span&gt;
      &lt;span class=&quot;visuallyhidden&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;subsection&quot;&gt;Government&lt;/span&gt;
      &lt;span class=&quot;visuallyhidden&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;subsubsection&quot;&gt;Government funding programmes&lt;/span&gt;
    &lt;/p&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93482</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Roselli">roselli</who>
    <bug_when>2013-09-17 13:21:03 +0000</bug_when>
    <thetext>Is it worth noting that, while an ordered list denotes a priority (which I think is the best fit), a nested list would be more appropriate?

Here&apos;s my thought: The list doesn&apos;t show hierarchy, it&apos;s just a list. A nested list can show the structure as well:

&lt;ol&gt;
 &lt;li&gt;Home
  &lt;ol&gt;
   &lt;li&gt;About
    &lt;ol&gt;
     &lt;li&gt;Partners&lt;/li&gt;
    &lt;/ol&gt;
   &lt;/li&gt;
  &lt;/ol&gt;
 &lt;/li&gt;
&lt;/ol&gt;

It would render, without CSS, as:

1. Home
  1.1. About
    1.1.1. Partners

I know it&apos;s a bunch of &quot;number 1s,&quot; but it denotes structure that a standard numbered list cannot do.

I suspect it will also be too complex for the average web dev to tackle without a pre-built tool to handle it for them (something in a CMS, for example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93487</commentid>
    <comment_count>4</comment_count>
    <who name="Léonie Watson">lwatson</who>
    <bug_when>2013-09-17 16:02:21 +0000</bug_when>
    <thetext>Given that these days breadcrumbs are usually fragments of the core navigation (and not actual breadcrumb trails), there is a case for using unordered lists instead. The core navigation of a site is rarely marked up using ordered lists, so it makes sense to use the same basic design pattern for the breadcrumb too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93521</commentid>
    <comment_count>5</comment_count>
    <who name="Ben Barber">barberboy</who>
    <bug_when>2013-09-18 15:01:14 +0000</bug_when>
    <thetext>Would it be appropriate to wrap the content for the last item in an `a` element without an `href` attribute? This would be consistent with the advice and code example in the specification for the `a` element:

&quot;If a site uses a consistent navigation toolbar on every page, then the link that would normally link to the page itself could be marked up using an a element&quot;

- http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html#the-a-element

The full example would then be:

  &lt;nav aria-label=&quot;You are here&quot;&gt;
  &lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;/&quot;&gt;Main&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/products/&quot;&gt;Products&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/products/dishwashers/&quot;&gt;Dishwashers&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a&gt;Second hand&lt;/a&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;/nav&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93547</commentid>
    <comment_count>6</comment_count>
    <who name="Gijs Veyfeyken">gijs</who>
    <bug_when>2013-09-19 09:24:24 +0000</bug_when>
    <thetext>Using &lt;nav aria-label=&quot;You are here&quot;&gt; in stead of starting the breadcrumb with the visible text &quot;You are here&quot; is less accessible in my humble opinion. Users with cognitive disabilities or people that are new to the web might finds this information useful to understand the purpose of a breadcrumb. It indicates where you are. Without the introduction, it&apos;s purpose might not be clear.

Visible text is available to all users. Aria-label will only be read with a recent combination of screenreader plus browser.

Shouldn&apos;t the &lt;nav&gt; element (or better yet &lt;nav role=&quot;navigation&quot;&gt;) only be used for the main navigation and maybe secondary navigation? Adding another &lt;nav&gt; adds clutter. For the same reason footers (doormats) should not be marked with &lt;nav&gt; either. 

http://www.w3.org/html/wg/drafts/html/master/sections.html#the-nav-element
&quot;The footer element alone is sufficient for such cases; while a nav element can be used in such cases, it is usually unnecessary.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93558</commentid>
    <comment_count>7</comment_count>
    <who name="Cameron Jones">cmhjones</who>
    <bug_when>2013-09-19 12:53:29 +0000</bug_when>
    <thetext>I thought the definition of &lt;ol&gt; vs &lt;ul&gt; was not regarding styling (ie, numbers vs bullets or other notation which could equally be applied to either) but regarding the ability for the list&apos;s elements to be reordered without impacting its meaning:

http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-ol-element

&gt; The ol element represents a list of items, where the items have been intentionally ordered, such that changing the order would change the meaning of the document.

With that being the case then &lt;ol&gt; is the correct element to use for breadcrumbs as the order is essential to its meaning.

Pertaining to hierarchical nesting of lists, this seems useless for breadcrumbs as the additional siblings are never included within a breadcrumb trail. If they were included it would be some form of sitemap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93564</commentid>
    <comment_count>8</comment_count>
    <who name="dmacdona">david100</who>
    <bug_when>2013-09-19 14:00:48 +0000</bug_when>
    <thetext>I&apos;ve put comments from 7 blind users here... I put up 3 examples with different aria-label:

&quot;you are here&quot;
&quot;breadcrumb trail&quot;
&quot;you are here, breadcrumb trail&quot;



http://davidmacd.com/test/breadcrumb.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93608</commentid>
    <comment_count>9</comment_count>
    <who name="Willem-Siebe Spoelstra">info</who>
    <bug_when>2013-09-20 20:57:15 +0000</bug_when>
    <thetext>@Steve: Ben has a good point about the last li element, using an &apos;a&apos; without the &apos;href&apos;, why is this not the case right now?

@Steve: I think Gijs has a good point that visible text is even better than an aria-label, don&apos;t you agree? So why not show two examples where the text version of &apos;You are here&apos; is wrapped in a &lt;h1&gt;, the heading of the explicit breadcrumb nav section.

@Gijs: A nav element for breadcrumbs is a good idea because it makes sense that it is part of the HTML outline, and simple footer links are not. Do you agree?

Kind regards,

Willem-Siebe Spoelstra</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94827</commentid>
    <comment_count>10</comment_count>
    <who name="github bugzilla bot">sideshowbarker+gitzilla</who>
    <bug_when>2013-10-16 13:16:41 +0000</bug_when>
    <thetext>Commit pushed to master at https://github.com/w3c/html

https://github.com/w3c/html/commit/1482494f6d3d12419454796c032af9251abc4773
updated breadcrumb example

after further discussion, refer to Bug 22739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94829</commentid>
    <comment_count>11</comment_count>
    <who name="github bugzilla bot">sideshowbarker+gitzilla</who>
    <bug_when>2013-10-16 13:33:54 +0000</bug_when>
    <thetext>Commit pushed to master at https://github.com/w3c/html

https://github.com/w3c/html/commit/90f3346fc72679b28448a5695c99d505bfc431a8
tweaked intro text for previous commit

refer to bug 22739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94831</commentid>
    <comment_count>12</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-10-16 13:43:43 +0000</bug_when>
    <thetext>(In reply to github bugzilla bot from comment #11)
&gt; Commit pushed to master at https://github.com/w3c/html
&gt; 
&gt; https://github.com/w3c/html/commit/90f3346fc72679b28448a5695c99d505bfc431a8
&gt; tweaked intro text for previous commit
&gt; 
&gt; refer to bug 22739

i forgot to update the intro text that advised used of oredered list, have changed to just list, wheter ul/lo is sued si a reasonable author judgement I think</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94832</commentid>
    <comment_count>13</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-10-16 13:47:05 +0000</bug_when>
    <thetext>(In reply to Ben Barber from comment #5)
&gt; Would it be appropriate to wrap the content for the last item in an `a`
&gt; element without an `href` attribute? This would be consistent with the
&gt; advice and code example in the specification for the `a` element:
&gt; 
&gt; &quot;If a site uses a consistent navigation toolbar on every page, then the link
&gt; that would normally link to the page itself could be marked up using an a
&gt; element&quot;
&gt; 
&gt; -
&gt; http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html#the-a-
&gt; element
&gt; 
&gt; The full example would then be:
&gt; 
&gt;   &lt;nav aria-label=&quot;You are here&quot;&gt;
&gt;   &lt;ol&gt;
&gt;   &lt;li&gt;&lt;a href=&quot;/&quot;&gt;Main&lt;/a&gt;&lt;/li&gt;
&gt;   &lt;li&gt;&lt;a href=&quot;/products/&quot;&gt;Products&lt;/a&gt;&lt;/li&gt;
&gt;   &lt;li&gt;&lt;a href=&quot;/products/dishwashers/&quot;&gt;Dishwashers&lt;/a&gt;&lt;/li&gt;
&gt;   &lt;li&gt;&lt;a&gt;Second hand&lt;/a&gt;&lt;/li&gt;
&gt;   &lt;/ol&gt;
&gt;   &lt;/nav&gt;

sure, have added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94843</commentid>
    <comment_count>14</comment_count>
    <who name="github bugzilla bot">sideshowbarker+gitzilla</who>
    <bug_when>2013-10-16 15:09:36 +0000</bug_when>
    <thetext>Commit pushed to master at https://github.com/w3c/html

https://github.com/w3c/html/commit/9762a81b382cfb9b75813b4fcffca51b6d34f2ad
added example image of styled breadcrumb

related to bug 22739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96310</commentid>
    <comment_count>15</comment_count>
    <who name="Ilya Streltsyn">selenit</who>
    <bug_when>2013-11-14 08:31:10 +0000</bug_when>
    <thetext>In my opinion, the main purpose of the breadcrumb string is indication of the current location in the site structure, like the file path indicates the location of the file in the file system, or like the physical address indicates the actual location of the place. It can be used for navigation, too, but the main question that user expects from the breadcrumbs to answer is most likely not &quot;Where can I get from here?&quot;, but just &quot;Where am I?&quot;. It seems that the actual feedback from the users (see Comment 8) confirm this view. One of the blind users gives blindmicemart.com as a good usability example, although it has no navigation in breadcrumbs at all — only location indication!

I agree with Adrian (Comment 3) that semantically the best choice for the breadcrumbs is the nested list (either ordered or unordered, one item may not need numbering). It&apos;s the most natural HTML way to express that &apos;Second hand&apos; subcategory (the current one) belongs to &apos;Dishwashers&apos; category, which is part of &apos;Products&apos; category, and so on. This choice has been there at least since 2004 (http://simplebits.com/notebook/2004/02/23/sqxii-conclusion/). It might be not much used because popular CMSs had poor support for generation. But Google recommended the nested markup (not list, but still nested) of the breadcrumbs to avoid ambiguity in the site hierarchy (https://support.google.com/webmasters/answer/185417).

But presenting the breadcrumbs as a list of same rank alternatives seems to me significantly misleading. The user (especially the blind one) might decide that &quot;Dishwashers&quot;, &quot;Products&quot;, and &quot;Second hand&quot; are separate categories (and the last one is probably empty since it&apos;s not navigable). The crucial point, that he got to the second-hand dishwashers products subcategory page (which he was looking for) is completely lost, for both humans and machines, and they all might be confused.

Comparing to this, the plain paragraph of links (as Hixie suggested) doesn&apos;t make that problem. It still reports where in the site structure the user is, in a human-readable way. It still gives the navigation option. It doesn&apos;t confuse the user. In my opinion, no semantics is less evil than wrong semantics. Calling something non-eatable &quot;a thing&quot; is potentially less harmful than calling it &quot;food&quot;.

So the only problem with plain paragraph for breadcrumb strings seems to be the choice of the right separator character. As a brainstorming suggestion: what about U+220B (&apos;contains as member&apos;, &apos;∋&apos;) Unicode math symbol?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96335</commentid>
    <comment_count>16</comment_count>
    <who name="steve faulkner">faulkner.steve</who>
    <bug_when>2013-11-14 11:28:49 +0000</bug_when>
    <thetext>(In reply to Ilya Streltsyn from comment #15)
&gt; In my opinion, the main purpose of the breadcrumb string is indication of
&gt; the current location in the site structure, like the file path indicates the
&gt; location of the file in the file system, or like the physical address
&gt; indicates the actual location of the place. It can be used for navigation,
&gt; too, but the main question that user expects from the breadcrumbs to answer
&gt; is most likely not &quot;Where can I get from here?&quot;, but just &quot;Where am I?&quot;. It
&gt; seems that the actual feedback from the users (see Comment 8) confirm this
&gt; view. One of the blind users gives blindmicemart.com as a good usability
&gt; example, although it has no navigation in breadcrumbs at all — only location
&gt; indication!
&gt; 
&gt; I agree with Adrian (Comment 3) that semantically the best choice for the
&gt; breadcrumbs is the nested list (either ordered or unordered, one item may
&gt; not need numbering). It&apos;s the most natural HTML way to express that &apos;Second
&gt; hand&apos; subcategory (the current one) belongs to &apos;Dishwashers&apos; category, which
&gt; is part of &apos;Products&apos; category, and so on. This choice has been there at
&gt; least since 2004
&gt; (http://simplebits.com/notebook/2004/02/23/sqxii-conclusion/). It might be
&gt; not much used because popular CMSs had poor support for generation. But
&gt; Google recommended the nested markup (not list, but still nested) of the
&gt; breadcrumbs to avoid ambiguity in the site hierarchy
&gt; (https://support.google.com/webmasters/answer/185417).

I don&apos;t think google cares what HTML markup is used for breadcrumbs, what it takes notice of is the microdata/RDFa attributes


&gt; 
&gt; But presenting the breadcrumbs as a list of same rank alternatives seems to
&gt; me significantly misleading. The user (especially the blind one) might
&gt; decide that &quot;Dishwashers&quot;, &quot;Products&quot;, and &quot;Second hand&quot; are separate
&gt; categories (and the last one is probably empty since it&apos;s not navigable).
&gt; The crucial point, that he got to the second-hand dishwashers products
&gt; subcategory page (which he was looking for) is completely lost, for both
&gt; humans and machines, and they all might be confused.

Feedback from actual users, so far, does not suggest its misleading
I will await further feedback from users. 
&gt; 
&gt; Comparing to this, the plain paragraph of links (as Hixie suggested) doesn&apos;t
&gt; make that problem. It still reports where in the site structure the user is,
&gt; in a human-readable way. It still gives the navigation option. It doesn&apos;t
&gt; confuse the user. In my opinion, no semantics is less evil than wrong
&gt; semantics. Calling something non-eatable &quot;a thing&quot; is potentially less
&gt; harmful than calling it &quot;food&quot;.
&gt; 
&gt; So the only problem with plain paragraph for breadcrumb strings seems to be
&gt; the choice of the right separator character. As a brainstorming suggestion:
&gt; what about U+220B (&apos;contains as member&apos;, &apos;∋&apos;) Unicode math symbol?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96336</commentid>
    <comment_count>17</comment_count>
    <who name="Ilya Streltsyn">selenit</who>
    <bug_when>2013-11-14 12:59:39 +0000</bug_when>
    <thetext>(in reply to Steve Faulkner, comment #16)

&gt; I don&apos;t think google cares what HTML markup is used for breadcrumbs

It uses nesting along with itemprop=&quot;child&quot; to express the relation of hierarchy.

&gt; Feedback from actual users, so far, does not suggest its misleading

I still suppose that considering breadcrumbs as nothing more than just a sort of menu (especially from the software tester&apos;s point of view, not from the point of view of a person who searches actual content on the site) is already a result of misleading. Quotations from the page mentioned in comment #8 (http://davidmacd.com/test/breadcrumb.html), e.g. &quot;Having the words spoken out telling the path in short is good&quot;, seem to be more important to me. The fact that some breadcrumbs work well as a menu still doesn&apos;t mean that they work well as breadcrumbs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96339</commentid>
    <comment_count>18</comment_count>
    <who name="dmacdona">david100</who>
    <bug_when>2013-11-14 15:45:54 +0000</bug_when>
    <thetext>My experience in talking about breadcrumbs with people in the blind community is that very few know what a breadcrumb is or how it can help them, and the idea of &quot;you are here&quot; is also fairly confusing. However, once it is explained there is interest ...

I think the lack of a consistent terminology, and lack of consistent markup has contributed to all this... i tried to get a dedicated term (or role) put into aria but it was not met with much enthusiasm from the group at the time... and so here we are...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98591</commentid>
    <comment_count>19</comment_count>
    <who name="github bugzilla bot">sideshowbarker+gitzilla</who>
    <bug_when>2014-01-16 15:10:43 +0000</bug_when>
    <thetext>Commits pushed to CR at https://github.com/w3c/html

https://github.com/w3c/html/commit/26232e64ea96392cc12d4879a5aa60f6f6be7cfa
updated bread-crumb nav advice

https://github.com/w3c/html/commit/1482494f6d3d12419454796c032af9251abc4773
updated breadcrumb example

https://github.com/w3c/html/commit/90f3346fc72679b28448a5695c99d505bfc431a8
tweaked intro text for previous commit

https://github.com/w3c/html/commit/9762a81b382cfb9b75813b4fcffca51b6d34f2ad
added example image of styled breadcrumb</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>