【質問】スキップリンクは絶対に必要なの?

【回答】もはや必要ないのかもしれません。

結論から言うと、今後はもう実装する必要はないのかもしれません。少なくとも、『JIS X 8341-3:2016』や『WCAG 2.0』の達成基準を満たすためには、スキップリンクを実装しなければならないということはないでしょう。これは、スクリーンリーダーのユーザーはもちろん、キーボードだけで操作しているユーザーを想定した場合も同様です。

そもそも「スキップリンク」とは?

『JIS X 8341-3:2016』や『WCAG 2.0』には、次のような達成基準があります。

2.4.1 ブロックスキップの達成基準
複数のウェブページ上で繰り返されているコンテンツのブロックをスキップするメカニズムが利用できる(レベル A)。

JIS X 8341-3:2016 / WCAG 2.0「2.4 ナビゲーション可能のガイドライン」

「スキップリンク」は、Webページの先頭からメインコンテンツの開始位置までジャンプできるページ内リンクのことで、通常は各Webページの先頭に配置されています。2000年代前半は、多くはスクリーンリーダーのユーザーのみを想定して、ブラウザの画面内には表示されないように実装されていました。

スクリーンリーダーを使用している場合、新しいWebページを読み込むと、そのWebページの先頭から順にコンテンツを読み上げていきます。そのため、Webページのメインコンテンツを読み上げる前に、ヘッダー部分や左サイドにあるサブメニューなどを毎回読み上げることになります。そこで、すぐにメインコンテンツの内容を読み上げさせたいときのために、「スキップリンク」を提供するという考えかたが生まれました。

2008年12月に『WCAG 2.0』がW3C勧告になってからは、この「スキップリンク」が画面を見てキーボードだけで操作しているユーザーにも有用だとして、常に画面上部に表示させておくか、あるいはキーボード・フォーカスを受け取ったときにはブラウザ画面内に表示されるように実装することが推奨されるようになりました。

スキップリンクを提供しなくてもよいと考えられる理由

しかし、HTMLのWebページにおいては、その「スキップリンク」の必要性は薄れてきました。HTMLでは、例えば次のような手段を提供することが可能です。

  • メインコンテンツの開始位置に、<h1>要素でマークアップした大見出しを置く
  • <main>要素を用いて、メインコンテンツ部分をマークアップする
  • <main>要素の開始タグにランドマークrole(role="main")を指定する

例えば、ほとんどのスクリーンリーダーは、<h1>要素やランドマークrole(role="main")を用いたナビゲーション機能を提供しています。それを使うことによって、スクリーンリーダーのユーザーはメインコンテンツの開始位置へいつでも好きな時に移動することができます。

また、キーボード操作のユーザーは、マウス操作をエミュレートしたり、ランドマークroleを活用した拡張機能をブラウザにインストールしたりすることによって、やはりメインコンテンツの開始位置へいつでも好きな時に移動することができます。

その他、そもそもスキップリンクがなければ、そのWebページを利用することができないのか?と問われれば、そういうわけではありません。より容易にメインコンテンツへ移動できるようになるという意味では、ユーザビリティのための施策の1つであると考えたほうが適切なのかもしれません。少なくとも、前述の『JIS X 8341-3:2016』や『WCAG 2.0』の達成基準を満たすために必須であるとはいえないでしょう。

ウェブアクセシビリティ基盤委員会(WAIC)による見解

キーボード操作のユーザーもこのスキップリンクを求めているかどうかについては、以前から疑問視されていました。もちろん、中にはスキップリンクがあると積極的に利用しているユーザーもいるでしょうし、場面や状況によってはスキップリンクがあったほうが使いやすいこともあるでしょう。しかし、本当に必要とされている機能であれば、本来はブラウザが提供すべきものではないかという疑問がありました。

2013年にウェブアクセシビリティ基盤委員会(WAIC)がユーザーのニーズを調査しましたが、やはりスキップリンクの提供を積極的に促すに足りるだけの結果は得られていません。