以下のような例のフォームがあるとします。(注:今回、form要素のaction属性に何も指定していないのでボタンを押しても何もありません)
上記のようなフォームがあった場合、一番上は何も考えなくても自分の名前を入力します。
2番目のフリガナはどうでしょうか?フリガナとカタカナで書かれていれば、カタカナで入力することが暗黙の了解扱いになっています。
3番目のメールアドレスは半角英数字と.@で入力することが暗黙の了解となっています。
4番目の電話番号は、この形式だと暗黙の了解というのは期待できません。ハイフンも入れないといけないのかがわからないからです。
これらの暗黙の了解というのは、日常生活の中で手書きでこれらの情報を求められているときに基づいています。宅配便の送り状を書いたり、その他諸々の申込書を書くときなどです。
ここで、視覚障害を持っていて音声読み上げを使っている場合に暗黙の了解が通用しないのは2番のケースです。フリガナと書かれてあってもそれがひらがなで書かれているのかカタカナで書かれているのかはわかりません。従って、ひらがな/カタカナどちらで入力すればよいのかというのがわからないのです。半角/全角の情報も必要でしょう。
この暗黙の了解が通用しない人にどうやって入力をするのに必要な情報を伝えるにはどういう方法が考えられるのかです。
1つ目は、現在よく利用されているであろう透明gif+alt属性での説明。音声での説明が必要ない人には無いモノとしてとらえられる、デザインを壊さないという長所がありますが、マークアップとしてはおかしいという短所があります。
2つ目は、説明書きをp要素でマークアップした上で、screen向けCSSでdisplay:noneとする方法です。デザインを壊さない、マークアップとしても妥当という長所がありますが、音声読み上げソフト実装の問題で理解してくれない場合があるという短所があります。
3つ目は、説明書きをp要素でマークアップした上で、背景色と文字色を同じにして、かつボックス周りもCSSで調整する方法です。マークアップとしては妥当で、音声読み上げにも問題ないという長所がありますが、デザインが崩れる可能性があります。あと、チェックツールで怒られる可能性があります。CSSで文字色変更をfont要素で文字色を変更するのでも同じ。
4つ目は、フォームのラベル部分にlabel要素を設定して、そのtitle属性に説明書きを書く方法。マークアップ的には妥当、label要素に対応していれば読み上げられる可能性が大(まだ検証していないので、こういう表現とします。)、デザイン的には、グラフィカルブラウザではツールチップになることが多いのでその点を妥協できればOK。ただし、label要素がNN4に対応していないので、NN4のレンダリングを使う音声読み上げソフトでの読み上げは保証できないです。
暗黙の了解というのは、デザインとかをする上でも重要なファクターだし、それを無視することはできない。けども、それが通用しない場合があること、そして通用しない場合にどういう代替処置をとるのかというのは考えておきたいところ。

コメント (4)
みのべさんの言う通り、振りがなの入力は、ひらがな、カタカナ、およびローマ字でも受けつけるようにすべきでしょう。
そして、それらの文字はサーバ側で処理し、受け取る側がほしい文字に変換するのが望ましいと思います。
入力に対する註釈をつけるのであれば、文字を指定するのではなく、「ひらがな、カタカナ、どちらの文字で入力しても構いません。」とするのが良いのだと思います。
そもそも、ひらがな、カタカナ、ローマ字の変換モジュールを作ること自体はとても簡単なので、あとはプログラムの開発者が、この問題を意識できるかどうか、ということだと思います。
投稿者: 通りすがり | 2004年11月00日 15:43
日時: 2004年11月00日 15:43
コメントをくださった皆さん、ありがとうございます。
CGI(サーバサイドスクリプト)側でのサポートは大前提だと。
それと、ロックマンさんの話はめちゃくちゃ貴重なものですね。labelのtitle属性は、読み上げソフト側の実装によっては意味をなさなかったり、わかりづらかったりするのですね。そもそもテーブルレイアウトしているとだめですしね。
タコな実装しているから悪いと切り捨てるのは簡単ですけども、使えなければ意味がないわけで難しいところです。もう少し考えてみるとします。
投稿者: FUMING | 2004年11月01日 09:26
日時: 2004年11月01日 09:26
眼の不自由な方に対して、フォームを使ってもらえるようにするのであれば、平仮名だろうと片仮名だろうと、半角カナだろうと、場合によってはローマ字だろうと、どんな形式でも受容れられるようなCGIを用意するのが一番現実的だと思います。
確かに理念ではHTMLだけで何とかするのが理想ですが、日本語の場合は文字の種類が幾つもあり、その様に出来るかどうかは分かりません。また何らかの方法で入力文字の制限を伝える事が出来たとしても、その様に指定された通りに入力出来るかどうかは疑問です(先天的な視覚障碍者の場合、平仮名・片仮名と言う概念があるかどうかも分かりません。点字には平仮名片仮名の区別はありませんし、漢字と言う概念もあり得ません)。
ですから、CGIなどで出来得る限りフォローしてあげた方が余程良いと思います。
投稿者: みのべ博行 | 2004年11月06日 01:04
日時: 2004年11月06日 01:04
とりあえず手持ちの読み上げソフトで試したのですが、labelにtitle属性を付けて読み上げたのは95Readerぐらいでした。PC-TalkerやJAWSではtitle属性の内容が確認できませんでした。
ホームページ・リーダーはtitle属性が付いていることが分かっていれば確認はできるのですが、そもそもどこにtitle属性が付いているのかが分かりづらかったりします。おそらくインターネットを長年利用している上級者クラスでないと利用できないかと思われます。
私が好きなパターンは、項目があって、入力方法等の説明(全角・半角、ひらがな・かたかな、等)や実例があって、実際の入力ボックスなどがあるような順番で読むようにしてあることが理想的だと思っています。ここで入力ボックスなどが最後にあるのは、説明が入力ボックスの後などに来ると、いちいち実際の入力ボックスに戻る操作が必要になることと、そそっかしい私自身が入力した後に説明があることに気づき、書き直さないといけなくなったりする経験を何度もしたからです。
まあデザイン的なことを度外視していると言われればそれまでですが、tableで左のセルに項目、右に説明と実際の入力ボックスなどがあるようなデザインは割と普通に使われていませんでしたっけ?
投稿者: ロックマン | 2004年11月06日 04:58
日時: 2004年11月06日 04:58