here症候群とWCAG 2.0

CSS HappyLifeさんのそろそろ「こちら」や「ここ」にだけリンクさせるのを絶滅させたいんです。(css-happylife.com)を読んで。

「○○はこちら」の「こちら」にアンカーを設定するケース、俗に「here症候群」などと呼ばれていますが、まああまり良くないですよね。基本的にはその記事にあるように「○○はこちら」全体をアンカーにするか、文言を変えてしまって良いと思いますが、どうしても変えられないケースや既存ページの修正が難しい場合、アクセシビリティ的に問題になるのか(具体的には WCAG 2.0 のレベルAに適合できるのか)を考えてみます。

プログラムが解釈可能な場合

WCAGの達成基準のうち、リンク文言に関するものはガイドライン 2.4 Navigable(www.w3.org)の「2.4.4 Link Purpose (In Context)」と「2.4.9 Link Purpose (Link Only)」の2つです。どちらも似た説明が書かれていますが、2.4.4の方はリンクの目的を解釈するのにfrom the link text together with its programmatically determined link contextも許容されています。

これはどういうことかというと、解説書となるUnderstanding SC 2.4.4(www.w3.org)に書かれているとおり、

  • リンクと同じ文
  • リンクと同じ段落
  • リンクと同じリスト[1]
  • リンク直前の見出し
  • リンクと同じ表のセル
  • データテーブル内のリンクの見出しセル

であれば「プログラムが解釈可能」なため、リンクに関する説明を必ずしもアンカーに含める必要はないということです。

より具体的な例は、 Techniques for WCAG 2.0 を参照するとよいでしょう。G53: Identifying the purpose of a link using link text combined with the text of the enclosing sentence(www.w3.org)の「Example 1」にはまさにhere症候群の文章例がありますが、これは必要な情報が同じ文中で説明されているので 2.4.4 の基準を達成しています。

一方、不適合事例のF63: Failure of Success Criterion 2.4.4 due to providing link context only in content that is not related to the link(www.w3.org)では、「続きを読む」リンクや定義リスト[2]を使った例は、先に挙げた「同じ段落」等ではないので不適合となります。とくに「続きを読む」を別段落にしてしまうケースはブログなどでやりがちかと思いますので注意が必要ですね。

それぞれの日本語訳はこちら。

で、達成基準 2.4.9 の方ではこれは認められていない(プログラムが解釈可能だからOKというわけにはいかない)のですけど、こちらはレベルAAAであり、必ずしも適合を目指す必要はないものです[3]。ですので、通常は「○○はこちら」のようにアンカー範囲の修正が容易なケースのみ対応するくらいの感覚で良いのではないかと思います。

リンクの目的が一般的にみて利用者にとって曖昧な場合

達成基準 2.4.4 と 2.4.9 ともに例外としてexcept where the purpose of the link would be ambiguous to users in general(リンクの目的が一般的にみて利用者にとって曖昧な場合は除く)とあります。こういう物言いがいかにも"仕様書"という感じで、「一般的にみて利用者にとって曖昧」ってなによとツッコみたくなるのですが、これも解説書の末尾にある用語説明を読むとどういうものかは理解できると思います。