パンくずナビゲーションにまつわる議論、再び
著
public-html@w3.orgで昨日あたりから盛んに飛び交い始めた、Re: 4.13.1 Bread crumb navigation - use of right angle bracketsという題名のメールが目を引きました。何やらHTML 5.1 Nightlyが9月18日付けで更新され、その4.13.2 Bread crumb navigationにおいて、Authors are encouraged to markup bread-crumb navigation as an ordered list using the ol and li elements.
と記されたの機に、いわゆるパンくずナビゲーションと呼ばれる何かをどうマークアップすべきかで盛り上がっている模様。ひとつ前のバージョンでは、Authors are encouraged to just use a series of links in a paragraph.
だったのね。話題としては古くからあるもので、今さら何周回目だよホント皆さんこの手の話題が好きですねぇという印象(自分も嫌いではないけど)。論点としては、だいたいこんな感じ?
- ol要素を使うことの是非
- ol要素を使ったとき、個々のli要素は等価なのか?
- ol要素を入れ子にすることの是非
- ol要素を使わないならばp要素か?それともdiv要素?
- ol要素を使ったとき、個々のli要素は等価なのか?
- 伝えたいのは順序なのか階層構造なのか?
- そもそも順序と階層構造の違いって......?
- 「道筋」であることをどうマークアップに落とし込むべきか?
- 大なり記号で項目ないしリンクを区切ることの是非
- スクリーンリーダーなどの支援技術が(当然なんだけど)記号を読み上げてしまう
ol要素を使うのなら、犬って単語は<ol><li>d<li>o<li>g</ol>ってマークアップしなくちゃいけなくね?みたいな極論が出てくるあたり、たいへん興味深いw 自分の考えとしては、以前第1回「アクセシビリティBAR(仮称)」初夏のパンくず祭のなかで書いたように
- 全体を単一のdiv要素としてマークアップ
- リンクや現在地のあいだは大なり記号(と半角スペース)で区切る
- 現在地には(自身への)リンクを設けずem要素としてマークアップ
という方針でしばらく落ち着いているものの、必ずしもこれがベストの解だとは思っていないし、納得のいくもっと良い方法があれば乗り換えたいとは思います。個人的には、既にさまざまなマークアップパターンが世に存在する以上、olでもpでもdivでも、全体を括る要素タイプに縛りを設けなくて良いようマイクロデータを定義するのが良いのではないかと。リンクについては、マークアップ上の登場順を順序ないし階層構造と紐付けるとして、現在地についてはそれ専用のプロパティ値が必要そう。で、大なり記号的なものは背景画像として処理するなりし、支援技術が読み上げないようにするとか。パンくずナビとマイクロデータを書いて以来、そんなことをつらつら考えています。さもなくば、専用のbreadcrumb要素でも新たに定義するしか?