アクセスキーの改善とこれから
HTMLではリンクやフォームにaccesskey属性を設定して、キーボードショートカットを割り振ることができます。しかし、仕様上の制限や実装の違いなどの理由から、現在は効果的に利用できるものではありません。
HTML 4以降で定義されたaccesskey属性には、対象がリンクとフォームのみという制限が存在しています。昔のように静的なWebページのみであれば特に問題がありませんが、最近のWebアプリケーションのように多様なコントロールをもつものにとっては、この制限が厄介なものとなります。
これに対し、現在策定中のXHTML Access Moduleでは、新しくaccess要素というものを定義して問題の解決を図ろうとしています。
<access key="m"
title="Main content"
targetrole="main" />
access要素のkey属性にアクセスキーを指定し、targetrole属性やtargetid属性で対称となる要素を設定します。アクセスキーの定義が要素として独立したことで、従来は規定されていなかった複数の要素にコントロールを指定する、コントロールにラベルをつけるなどの機能向上が行われています。
しかし、Access Moduleが改善できるのは仕様上の制限だけです。アクセスキーには、まだ他にいくつかの問題が存在しています。
ひとつは、指定したキーがブラウザやOSのショートカットとバッティングしてしまうことです。ページのアクセスキーと、アプリケーションのショートカットのどちらが優先されるのかはアプリケーションにより異なるため、ユーザーを混乱させることとなります。
もうひとつは、アクセスキーについての慣習が存在しないことです。
アクセスキーは製作者の意向が反映されるため、ショートカットキーの統一をはかることが難しいものです。例えば、あるサイトにおいてHキーは「Home」へのアクセスキーとして設定されていますが、別のサイトでは「History」、さらに別のサイトでは「HTML チュートリアル」として設定されていることがあります。このため、ユーザーはページごとにアクセスキーを学習する必要があり、結果として良いユーザー体験を生み出さないのです。
しかし、慣習については少しずつですが生まれてきているようです。例えば携帯電話用のWebサイトでは、次のページへ進むリンクに「6」、前のページに戻るリンクに「4」を指定する例が多く見られます。またWeb版のRSSリーダーでは、「j」が次の記事へ進む、「k」が前の記事に戻るショートカットとしてよく使われています。すべてのページで統一的なアクセスキーのしてはできなくとも、類似サービスや頻繁に用いるキーを統一することによで、ユーザビリティが全体的に向上するのです。
アクセスキーは、仕様、アプリケーション、Webページそれぞれが問題を持っています。向上への取り組みには、まだまだ時間がかかるでしょう。