JAWSの困った挙動



中根です。

先ほど紹介した Webアクセシビリティ・ツールボックスの情報を見ようと思って
http://www.infoaxia.com
にアクセスしていたら、 JAWSの困った挙動に気づいたので、情報共有してお
きます。

上記のページには、たとえば以下のような記述の見出しが複数あります。
(なお開業やインデントは私が勝手に加えたものです。)

----------
<h2>
  <a href="news/index.html" id="a_news" name="a_news">
    <img src="shared/images/news.gif" alt="ニュース" width="290" height="45" />
  </a>
</h2>
----------

さて、これを JAWS + IE で読んでいるときに、 hキーを使って h? 要素を順々
に読んでいくと、なぜか a 要素の name 属性の値、すなわち上記の例では
"a_news" という文字列が発声されてしまいます。カーソルキーを使って、
JAWSのナビゲーション・カーソルで読んでいる場合は、ちゃんと img要素の
alt属性の値が読み上げられるのですが。ちなみに id属性の値は関係ないよう
です。

さらに、見出しの一覧を表示させた時にも、 a要素の name 属性の値が h?要
素の中身として判断され、リストに現れるのは a_news などの文字列でした。

手元で使っているのは JAWS 日本語版の 4.5 に最新のアップデートを適用し
たものです。英語版が今手元にないので、 5.1や 6.0 でどのようになってい
るかは分かりません。したがって、この問題が IEの内部処理にあるのか、
JAWSの方にあるのかもはっきりとは分からないのですが、いずれにしても h?
要素の存在を利用したナビゲーションを多用している私にとっては、結構困っ
た問題です。

さて、ここまで書いて、もう少し手元でいろいろと試してみました。 h?要素
の中身が画像だけではなく、テキストもあると、そのテキストが発声されまし
た。また、 a要素に title属性を追加し、その属性値として img要素の alt属
性の値を入れてやったところ、 h?要素の中にテキストがなくても、この
title属性の値のテキストを読み上げてくれました。

ということで、どうやら h?要素の中身が a 要素になっていて、その a要素の
中身が (altがちゃんと指定されているかどうかにかかわらず) 画像しかなく
てテキストがないと、以下の順に探して、見つかったものを見出しの中身とし
て読み上げるようです。

1. a要素の title 属性
2. a 要素の name属性
3. img要素の alt属性

さて、さらに試してみたところ、 h?要素の中の a要素の中に、 altがある
img要素とテキストが混在している場合には、なんとテキストだけが読み上げ
られて、 img要素のaltは読み上げられないようです。これに関しては、ナビ
ゲーション・カーソルによる読み上げでも、その他の見出し要素に関連するナ
ビゲーション機能を使った場合でも同じようです。

そして、 h? 要素の中に a要素があるかどうかにかかわらず、上のことは言え
るようです。すなわち、 h?要素の中身として読み上げられるものは、以下の
順に探して最初に見つかったもの「のみ」のようです。ただ、上の場合と (な
ぜか) 違っているのは、ナビゲーション・カーソルを使った読み上げでも、そ
の他の h?要素に関連するナビゲーション機能を使った読み上げでも同じもの
が読み上げられるらしい点です。

1. h?要素の中身のテキスト
2. h?要素のtitle属性
3. h?要素の中身のimg要素のalt属性

いろいろと試しながら書いているので、もしかすると勘違いして間違ったこと
を書いているかもしれませんが、とりあえず以上です。こうしてみると、もし
かすると今まで読んできたページの中には、読み上げられず、そして存在にす
ら気づかなかった h?要素の中身がそれなりにあるのかもしれないという気が
してきます。

余談ですが、こういう問題の存在が明らかになったときに、 HTMLの記述方法
を変えて問題に対応するかどうか、というのは結構難しい問題だな、とよく思
います。この場合、悪いのは HTMLのコードではなく、 JAWS または IEな訳で、
バグ (開発者は「仕様」と呼ぶのかもしれませんが) のために間違ってもいな
いものを変更することを強いられるのはきわめておかしなことだと思うからで
す。結局その「バグ (に近い仕様)」が与える影響が、どれほど重大なものな
のかという判断をして、それによって対応を変える、というのが現実だと思い
ますが、それにしてもコンテンツ制作者にはよけいな負担が強いられるわけで、
どうも納得できないですね。

中根雅文