GoogleのAxsJAXプロジェクト

2007年11月,Googleは,WAI-ARIA (Accessible Rich Internet Applications)に基づくAjaxアプリケーションのアクセシビリティ向上フレームワーク AxsJAX を発表しました.このページでは,AxsJAXプロジェクトの概要を紹介します.

AxsJAXの概要

AxsJAX(Access Jax)は,WebページにJavaScriptを差し込むことで,Webアプリケーション自身がしゃべるように(つまり,音声利用に適したアプリケーションに改造,あるいはWebアプリケーションにアクセシビリティ機能を埋め込む)しようという枠組みです.GoogleリーダーやGoogle検索などのWebアプリケーションに対応しています.たとえば,Google検索なら,nキーを押すだけで検索結果をナビゲーションし,エンターキーで結果のリンク先にジャンプすることができます.W3CのWAI-ARIAが規定するアクセシビリティ機能(特にLive Region)を使うので,WAI-ARIAに対応したブラウザ(今のところはFirefox 2.0以降)と支援技術が必要です.

Webアプリケーションを改造するJavaScriptは,下記のいずれかの方法で組み込むことができます.

AxsJAXの概要をつかむには,まず,Google Blogの記事「Introducing AxsJAX — Access-Enabling AJAX」を読むのが良いと思います.次に役立つのはFAQのページかな.詳しい情報は,Google Codeのサイトをご覧ください.

AxsJAXが対応しているサイトは少しずつ増えているようです.最新情報は,Google CodeのShowcaseをご覧ください.

以下,Fire Voxの例を見ていくことにします.

Fire VoxでAxsJAXを使う

Google Web検索

AxsJAXで強化されたGoogle検索は,下記に示すようにナビゲーション機能が強化されています:

  • 検索ボックスにすぐにジャンプ
  • 検索結果を簡単にナビゲーション
  • 検索結果の最後まで来たら次のページに自動的に移動
  • 前後のページに簡単に移動
  • 関連したページやスポンサーのリンクなどの異なるパートを移動

このほとんどは,WAI-ARIAとは関係なく,すでにGreasemonkeyなどで実現されているものですね.;-)

キー操作一覧

 

  • ? (question mark): Brings up a list of the keyboard commands
  • / (slash): Puts focus on the search box
  • Esc: Takes focus away from the search box
  • Enter: Open the current item that has focus.
  • Shift and Enter: Open the current item that has focus in a new window.
  • n or Down Arrow: Puts focus on the next result. If you are on the last result of the page, the next page will be loaded for you automatically.
  • p or Up Arrow: Puts focus on the previous result. If you are on the first result of the page, the previous page will be loaded for you automatically.
  • j or Right Arrow: Puts focus on the next result. If you are on the last result of the page, you will be taken to the first result of the page.
  • k or Left Arrow: Puts focus on the previous result. If you are on the first result of the page, you will be taken to the last result of the page.
  • 1: Puts focus on the One Box. The One Box is a result that Google believes is especially relevant to your search; for example, if you typed in “weather in my city, my state” (where you replaced “my city” and “my state” with your city and state), Google will have a One Box that gives you your local weather.
  • r: Puts focus on the first related search term; subsequent presses will cycle through the list of related search terms.
  • c: Puts focus on the first alternate category for the same search; subsequent presses will cycle through the list of alternate categories.
  • a: Puts focus on the first advertisment; subsequent presses will cycle through the list of advertisments on the page.
  • g: Guided mode will move the focus through the page so that it takes the user through all of the interesting parts with the most interesting parts first. Currently, it takes the user to the One Box on the first press, followed by the top four search results, followed by the top sponsored link, followed by the next three search results and the next sponsored link and so on until there are no more results, at which point it will switch to the next three related search terms and next sponsored link.
  • A (capital A): Switches to the accessible Google Web Search experiment and automatically repeats your search. Accessible Search is an early Google Labs product designed to identify and prioritize search results that are more easily usable by blind and visually impaired users.
  • W (capital W): Switches to regular Google Web Search and automatically repeats your search.
Google検索に差し込まれるJavaScript

GreasemonkeyのscriptであるgoogleScriptLoader.user.jsは,axsScriptChooser.jsを呼び出すだけです.このJavaScripがさらに,呼び出したWebアプリケーションに適したJavaScriptである axsEnableReader.jsaxsEnableWebSearch.js を呼び出しています.

Google Reader

AxsJAXで強化されたGoogle Readerでも,ナビゲーションに関する機能が強化されているようです.


これまで見た範囲では,AxsJAXは羊頭狗肉に思える.今までGreasemonkeyなどで提供されてきたJavaScriptをまとめただけではないのか? WAI-ARIA対応と言うからには,少なくともLive Regionを使っているはずだが,どこに使っているのだろう??

HTML convert time: 0.687 sec. Powered by WordPress ME