国選択フィールドのテストは、候補を一つ選べた時点で終わりではありません。候補の数が増え、検索が付き、区分でまとまり、周りの欄が連動するようになると、確かめるべき点は一気に増えます。この記事では、選択欄を一つの部品として捉え、どこを見るかを整理します。
国を選ぶ欄にはどんな形があるのか?
まず、対象の部品がどの形なのかを決めます。
- 単純な選択肢。数が少なく、そのまま全部を並べます。
- 検索できる選択肢。文字を打つと候補が絞られます。
- 区分でまとめた選択肢。地理や優先度でまとめ、折りたたみます。
- 対象国だけを並べた選択肢。扱える国に限って表示します。
- 入力しながら候補が出る欄。自由入力と候補が混ざります。
形によって壊れ方が違います。単純な選択肢では並び順と件数、検索できる形では絞り込みの当たり方、折りたたむ形では到達できない項目の有無、自由入力が混ざる形では候補にない綴りの扱いが焦点になります。
複数の形を一つの画面で併用することもあります。その場合は、形ごとの焦点に加えて、同じ国が二つの欄で別の見え方をしないかを見ます。
検索はどの表記を拾う必要があるのか?
検索は、利用者が実際に打つ表記を拾わなければ意味がありません。少なくとも次の種類を試します。
- 現地の言語での名称。
- ラテン文字による名称。
- 二文字の符号。
- よく使われる略称や、古い呼び名。
このうち一つしか当たらない実装は、実際の利用者にとっては失敗です。同じ国に複数の打ち方があり、どれで来るかを決められないためです。加えて、大文字と小文字の違い、空白の有無、区切り記号の有無も試します。
検索の結果は、打った文字がどの綴りに当たったのかを表示すると確かめやすくなります。当たった理由が見えていれば、意図した国が出ないときに、候補の側の問題なのか入力の問題なのかを切り分けられます。
並び順を言語の規則に任せるのはなぜか?
並び順は、符号の並びとは違います。文字の比較規則は言語ごとに定められており、同じ文字でも並ぶ位置が変わります。符号の順で並べると、その言語の利用者には順序がばらばらに見えます。
次に、区分でまとめるときの落とし穴です。どの区分にも当てはまらない国を入れるための区分を必ず用意し、そこへ到達できるようにします。折りたたみの初期状態で閉じているために、その国が選べないという状態は、候補から消えているのと同じです。
キーボードと読み上げはどう確かめる?
候補が多い選択欄は、キーボードだけで操作できることが前提になります。確かめるのは次の点です。
- 先頭の文字を打って目的の国へ飛べるか。
- 上下の矢印で候補をたどれるか。
- 閉じる操作と取り消しの操作が期待どおりに働くか。
- 読み上げが、候補の名称と現在の選択を正しく伝えるか。
読み上げでは、区分の見出しと候補の区別が伝わるかどうかも見ます。見た目では区別できていても、読み上げではすべて同じ候補として読まれる実装があります。
キーボードだけで最後まで進めるかどうかは、手順を一つずつ書き出して確かめます。途中で操作が止まる箇所が見つかれば、そこが支援技術を使う利用者にとっての行き止まりになります。
国を変えたあと何を入れ直すのか?
選択を後から変えると、その国に依存する欄が古い値のまま残ります。確かめるのは次の連鎖です。
- 郵便番号や州など、国に依存する欄が消えるか、選び直しになるか。
- 表示用の名称と保存する符号の両方が更新されるか。
- 依存する欄が埋まるまで保存を止めるか、下書きとして保持するか。
古い国の値が残ったまま保存されると、あとから気づきにくい不整合になります。変更の操作を一つの流れとして試してください。
開発者向け: 表示用の名称と保存用の符号を分けて持つ
保存するのは符号だけにし、表示用の名称は表示のたびに解決します。名称を保存すると、呼び名が変わったときに過去の記録の意味が動きます。また、同じ国が二通りの名称で保存され、突き合わせのときに別の国として扱われます。
次に、選択欄の候補を作る処理を一箇所にまとめます。画面ごとに候補の作り方が違うと、検索の当たり方や並び順が画面によって変わります。同じ入力から同じ候補が出ることを、一箇所の確認で済むようにします。
三つめは、候補に無い値が送られてきたときの扱いです。選択欄を迂回した送信は必ず起こります。受理して記録し警告にとどめるか、明確に拒否するかを決め、どちらでも表示が壊れないようにします。
拒否を選ぶ場合は、拒否した事実を残します。黙って捨てると、利用者には保存できたように見え、あとから記録の欠落として現れます。
この記事の候補の並び、検索語の例、利用者の入力は、いずれも動作を説明するために作った合成の見本です。実際に提出された入力や、特定の製品の挙動を写したものではありません。試験と見本の目的に限って使い、実在する主体の情報としては扱えません。
次のステップ
まず、対象の選択欄がどの形なのかを書き出し、その形でしか起きない壊れ方を一つ決めます。次に、同じ国を複数の表記で検索し、同じ結果に着くかを確かめます。書式を言語ではなく地域に従わせる話は国と言語は別物、跨境で欄が増える場面は越境注文の住所シナリオで扱っています。候補そのものは国の一覧で確かめられます。