水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2012年のえび日記 > 2012年3月 > 2012年3月21日(水曜日)

2012年3月21日(水曜日)

スキップリンクにまつわる議論まとめ

公開: 2012年3月22日22時0分頃

スキップリンクの議論: 前提まとめ」の続きです。

まず、前提をおさらいしておきます。

この前提をふまえた上で、スキップリンクにまつわるいくつかの議論をまとめていきたいと思います。

スキップリンク実装の現状

2.4.1は達成等級Aです。これは最低限の等級で、すなわちあらゆるサイトに求められる必須の要件ということになります。

また前提で述べたように、スキップリンクは見えている、もしくはフォーカス移動すると見えるようになる必要があります。ほとんどのサイトが、そのようなスキップリンクを備えなければならないということになります。

もっとも、サイトによってはナビゲーションがない、ナビゲーションがメインコンテンツより後ろにあるのでスキップが不要、というような場合もあるでしょう。しかし、大規模サイトの多くはそのような条件を満たしません。

ブロックスキップは元々WCAG1.0にはなく、WCAG2.0で追加された項目です。リハビリテーション法508条にはありましたが、ビジュアルブラウザで可視であることまでは求められていませんでした。

ですから、古くからアクセシビリティを意識して作られていたサイトであっても、要件を満たすようなスキップリンクを設けていないケースが多いです。そして、追加で設けるのもそれほど簡単なことではありません。

そのような事情もあり、この実装は等級Aであるにもかかわらず、あまり普及していない状況だと思います。

スキップ機能はWebコンテンツ側で設けるべきか

スキップリンクをWebコンテンツ側で設けるべきなのかどうか、という議論があります。

スキップリンクはキーボード、スイッチ、音声認識などのユーザーに役立つとされています。逆に言えば、それ以外の利用者にはあまり意味のないものになります。

つまり、これは多くの人に役立つユニバーサルな機能ではなく、特定の利用者を意識した機能だということです。このようなものはサイト側に求めるべきではなく、必要に応じて支援技術などで補えるようになっていれば良いのではないか、という考え方があります。

そもそも、ブロックスキップ機能をブラウザ側が実装すれば、サイト側では何も実装する必要がないはずです。

UAAG2.0のワーキングドラフトを見ると、2.3.1に「重要な要素に直接アクセスできるように」という規定があります。

2.3.1 Direct Navigation to Important Elements: (former 2.7.4):

The user can navigate directly to important (structural and operable) elements in rendered content. (Level A)

Intent of Success Criterion 2.3.1 :

It is often difficult for some people to use a pointing device (the standard method of direct navigation) to move the viewport and focus to important elements. In this case some other form of direct navigation - such as numbers or key combinations assigned to important elements - should be available which can then be accessed via the keyboard or speech control technology.

以上、Implementing Guideline 2.3 - Provide direct navigation and activation より

まさにWCAG2.0の2.4.1と同じ理由ですね。実装の例として、以下のようなケースが挙げられています。

Examples of Success Criterion 2.3.1 :◦Mary cannot use the mouse or keyboard due to a repetitive strain injury, instead she uses voice control technology with uses a mouse-less browsing plug-in to her browser. The plug-in overlays each hyperlink with a number that can then be used to directly select it (e.g. by speaking the command "select link 12"). This prevents Mary from having to say the word 'tab' numerous times to get to her desired hyperlink.

以上、Implementing Guideline 2.3 - Provide direct navigation and activation より

音声認識のソフトウェアを使っているケースで、「select link 12」と言えば12番目のリンクを選択してくれる、という動作で、これによって「tab」と何度も言わなくて済むという想定です。

スクリーンリーダーなどの支援技術では、既にこのような機能が実装されている場合が多いです。そのため、スキップリンクがなくてもあまり問題になりません。

問題は、支援技術を使っておらず、素のブラウザでキーボード操作というケースをどう考えるかです。「支援技術なしでもブロックスキップできるように、ブラウザ側で機能を設けるべき」という考え方もあると思います。

Webブラウザはスキップ機能を設けるべきか

では、実際にそのような機能をWebブラウザは設けているのでしょうか。

残念ながら、2011年時点では、ほとんどのブラウザにはそのような機能はありません。

ちなみにOperaはひっそりと対応しています。「シングルキーショートカットを有効にする」を選択すると、「S」で次の見出し、「W」で前の見出しに飛べるようになります (参考: Opera ヘルプ: キーボードショートカット (help.opera.com))。

Opera以外のブラウザがデフォルトでこの機能を持たないのは、そういうニーズがないから、というところが大きいようです。少なくともIEに関しては実装の予定がなく、このような機能が欲しいというニーズが出ていないし、もっとほかの機能に対するニーズがあって、そちらが優先されているという話を聞いています。

つまり、ブラウザがこの機能を設けていく可能性は高くありません。そして、そんな機能はそもそも必要とされていないのではないか、という疑問も出てきます。

ブロックスキップの達成等級は妥当なのか

前提では、視覚系ブラウザでもブロックスキップできないと困る利用者がいる、ということになっていしました。そしてブロックスキップは達成等級A。これは最低限の基準です。

しかしながら、現状ではブロックスキップが実装されていないサイトも多いですし、ブラウザ側でもあまり実装されていません。にもかかわらず、ブラウザに対してそのような機能を求める声はあまりないらしい、という状況であるようです。

とすると、実は利用者はそれほど困っていないのではないか、という疑問が出てきます。

大きなブロックをスキップする事ができると、キーを連打したり、音声による命令を連呼したりすることが避けられ、メインコンテンツに素早くアクセスできるとされています。しかし逆に言えば、素早いアクセスができないと言うだけで、アクセスが不可能になるわけではないはずです。

ほかの等級Aの項目は、達成しない場合、利用者によっては全くアクセスできなくなる可能性のあるものがほとんどです。それらと比較すると、この達成基準が等級Aとされているのは厳しすぎるのではないか、という印象もあります。

利用者は実際どう利用しているのか

ここまでの議論はおおむねスキップリンクに対して否定的ですが、それでも、実際にスキップリンクを便利に活用している人がいるのであれば、その人のために設けるというのも悪いことではないでしょう。邪魔にならないのであれば、つけても良いとは思います。

ただ、実際のところ利用者はスキップリンクをどう利用しているのか、という点はあまり調査が進んでいないところです。

以下のような論点があるでしょう。

  • スキップリンクは実際に役に立っているのか
  • 現状ではスキップリンクのないサイトも多いが、スキップリンクの利用が想定されるような利用者は、どのようにしてアクセスしているのか
  • メインコンテンツへ移動する機能だけで良いのか。ほかの場所に移動するリンクは必要ないのか

今後はどうなるのか

今後、すなわちHTML5が普及した場合の話です。

今までのHTMLでは、ナビゲーション部分をナビゲーションであると明示する一般的な方法はありませんでした。しかしHTML5にはおなじみのnav要素がありますし、WAI-ARIAにはnavigation (www.w3.org)main (www.w3.org)といったロールがあります。

WAI-ARIAはともかく、HTML5はかなり急速に普及が進んでいるように思えます。今後、こういったものが普及してくる可能性は高く、下手をすると、スキップリンクを実装したサイトよりもHTML5のnav要素を使ったサイトの方が多くなってくるかもしれません。

そうなれば、ブラウザの対応状況にも変化が出てくる可能性はあるでしょう。

以上、スキップリンクがらみの議論をざっくりとまとめてみました。

WCAG2.0 2.4.1の "Bypass Blocks" は、理論上は、可視のスキップリンクをつければ達成できる基準です。しかし、単につければ良いのか、と言われるとなかなか難しいところで、考えるべき事がかなりあります。

こういった議論があることも踏まえて、基準を少し見直した方が良いのではないか、とも思えます。

奥が深いですね。

関連する話題: Web / アクセシビリティ / スキップリンク

最近の日記

関わった本など