『Webアクセシビリティ』出版記念セミナー
JavaScriptを利用した動的なWebのアクセシビリティ

渡辺隆行(東京女子大学,UAI主査)

(東京、2007年11月9日)

[アクセスキーDでスライド表示オフ](印刷前にもスライド表示をオフにしてください)

10章「アクセシブルなJavaScript」

JavaScriptのアクセシビリティ問題

ユーザビリティを阻害(3節)
  • 前のページに戻れない
  • ステータスバー乗っ取り
  • 右クリック禁止!
  • 勝手にポップアップ・ウィンドウ
  • スクロールバーがない
JavaScriptが使えなければ利用できない
  • 基本操作部分(ナビゲーションメニュー,ボタン)をJavaScriptで作成
  • Ajax:マウス操作に依存,音声で利用できる?
  • 後で紹介:Googleアプリケーションのアクセシビリティ問題

著者の主張

出しゃばらない(控えめな)JavaScript
-JavaScriptを利用できる時はユーザの利用体験を向上させる-

3-2項 動的なJavaScriptのためのガイドライン

4-1項 構造,表現,ふるまいの分離

p346 「図10-3 Web製作の3つのレベル」

DOMを使えば,JavaScriptとHTMLやCSSを分離できる.

ふるまいのレイヤーとしてのJavaScript

さて,

次スライドをご覧ください

ARIA

この本を離れて,JavaScript,特に動的なWebサイト(RIA)のアクセシビリティを見てみたい.

ARIA: Accessible Rich Internet Applications

技術仕様と支援技術の対応状況

Google RIAのケーススタディ

渡辺研究室の2007年度卒業研究「JavaScriptを利用した動的なWebのアクセシビリティ」(松田理沙)から,GoogleのRIAのアクセシビリティ問題のケーススタディを紹介.(12月6日のWIT研究会@お台場で発表予定)

Google RIAの問題点1a:基本操作

(HPRを使う場合)キーボードでは操作できないボタン

部品の実態は、「空の要素+背景画像」。読み上げる対象すらない。

Google RIAの問題点1a:基本操作

(HPRを使う場合)キーボードでは操作できないメニュー

ソースに「新規作成」という文字はあるが、divやspanで作った部品であり、リンク要素やフォームコントロールを用いていない。

Google RIAの問題点1b:文字入力

(HPRなどの)支援技術では文字を入力できない

本質的な問題:RIAでは、インターラクティブな操作性を実現するために、キー入力を処理する必要がある。リッチな画面出力のためには、HTMLを書き換える必要がある。でも、支援技術もキー入力を処理する必要がある。

Google RIAの問題点2:ソースの追加と削除

ドロップダウンメニューの表示・非表示に伴うソースの処理が不適切なので、音声で利用するユーザが混乱

画面表示と音声表示(ソースの上から順)のずれ

動的なページ書き換えの問題(次ページ参照)

Google RIAの問題点3:動的なWeb

RIAの動的なWebページ(の一部)書き換えを音声ユーザに伝える方法?

Ajax:ユーザの操作に応じて、あるいは任意のタイミングで、動的にページの一部が変更される。
WAI-ARIAのlive属性は、この問題の解決策。but 有効かどうかわからない。

おわりに

Ajaxを初めとするRIAのアクセシビリティへの取り組みは始まったばかり。
日本の支援技術の向上が急務。

このスライドの公開URL: http://www.comm.twcu.ac.jp/~nabe/UAI/20071109/nabe/

『Webアクセシビリティ』

  • I. Webアクセシビリティの影響
  • II. アクセシブルなWebサイト実装
    • 技術の概要,支援技術
    • コンテンツナビゲーションデータ入力,CSS,JavaScriptFlashPDF
    • アクセシビリティ・テスト,WCAG 2.0,ケーススタディ
  • III. 法律と政策
    • 米国と世界
  • 付録
    • 用語集,リハ法508条,PAS78,日本のスクリーンリーダー,日本の最新動向