前へ

スクリーンリーダー対応アプリ作成のために

PC-Talker試用記

メインウインドウ等の読み上げ(2)

1.スタティックテキストに突っ込む

どうせ「バランス」とか「グライコ」とかのラベル文字列を使うなら、SetWindowText()を使って、ここに動的に値をつっこんでしまう方法が考えられる。
しかし、たとえば「バランス +10」のような内容にしたとしても、PC-Talker3.0では「Tabキーで移動してきた瞬間」しか読まない。(「ウインドウ全文読み」のキー操作でも読むことは読むが)

2.タイトルバーに突っ込む

タイトルバーはいつでもキー操作で読むことができるので、ここに値をつっこむことが考えられる。しかし、あまりにも目的外使用なので却下。(タイトルバーはアプリの名前や読み込んでいるファイル名などを他のアプリと区別するのためにある。)

3.ステータスバーを利用する

ステータスバーはいつでもキー操作で読むことができるし、まさにアプリの状態を知るためにあるバーなので一般論としては良い解決方法である。私がこの方法を使わなかったのは、(こんなことを気にするのは私だけかもしれないが、)Windows 3.xにも対応したかったから。(ステータスバーはWindows95で追加された機能。)(あと、ウィンドウサイズ固定だったので、縦の長さが長くなるのを避けたかったというのもある。)

4.スクロールバーではなくトラックバーを使う

トラックバーの図 トラックバーは図のようなコントロールである。スクロールバーと同じように使うことができる。 これの読み上げは、Tabキーで移動した時に「○○の選択 最小」のように読む。 コントロール名ガイドがOnの時は「○○のトラックバー 選択 最小」のように読む。 (○○の部分はラベル名。ラベルが無いときはタイトルバー文字列)

そして、スクロールバーと違い、矢印キーでつまみを動かした時にその位置を読むのだが、その読み方は必ず0から100までのパーセントになる。 たとえば図の縦トラックバーは、値の範囲を0から3までに制限してあるが、図の位置で「33.3パーセント」と読む。

つまり、バランスつまみのように中央を0にすることや、グライコつまみのように-72デシベルから+12デシベルまでにすることができない。(視覚上はそういう目盛りを別途つければ良いだけの話なのだが)

ということで、まがりなりにも位置がわかるという意味では、スクロールバーのまま何も対策しないよりはマシだが、あまり使い勝手の良いものではない。

晴眼者(目の見える人)にとっても、ぱっと見はカッコいいが、スクロールバーより操作しにくい。(両端の矢印ボタンが無いため1目盛だけ動かすというような細かい操作がしにくい、あるいは不可能)

あとこれもWindows95以降しか使えない。

5.スクロールバーではなくエディットコントロールとスピンボタンを使う

oscil のメインウインドウ 図の OSCIL で周波数入力欄に使っているような、「数値入力エディットボックスと上下の小さな矢印ボタンの組み合わせ」である。

用途によってはスクロールバーの代用に使えることもあるが、これを使うと画面デザインも操作方法もまるっきり変わってしまう。もはやグラフィックイコライザじゃなくなってしまう。

なお、スピンボタンコントロールはWindows95以降で追加されたコントロールだが、別にこれを使わなくても小さいプッシュボタン二個とか小さいスクロールバーとかで代用可能。(現にOSCILではそうしている。)

また、この方法を使う場合、スピンボタン部分にはキーボードフォーカスが行かないようにしたほうが良いかもしれない。そのかわり、エディットコントロールをサブクラス化して、上下矢印キーやPgUpキー、PgDnキーで、スピンボタンのマウスクリック時と同じ動作をするようにする。(もちろん左右矢印キーは文字列編集用に残しておく)
次ページ

コメント、トラックバックはココログ