適用 (対象)
HTML 及び XHTML。
これは達成基準 3.2.2: 入力時 (G80: コンテキストの変化を開始する送信ボタンを提供するの達成方法として十分) に関する達成方法である。
解説
この達成方法の目的は、select
要素の値を選択することで意図せずアクションが実行されるのではなく、アクションの実行を利用者が制御できるようにすることである。利用者は、アクションが実行されるとは思わずに、select
要素にどんな値があるのかを調べたり、間違って意図しない値を選んだりするかもしれない。利用者が自分の選択に納得したとき、アクションを実行するボタンを選択できるようにする。
select
要素の選択肢の操作によって (フォームの) コントロールの値が変化する場合、キーボードで select
要素の値を選んでいる利用者に対して特に重要である。
事例
例 1: カレンダー
あるウェブページでは、利用者が任意の年の任意の月を選ぶと、その月のカレンダーが表示される。利用者が月と年を指定した後に「表示」ボタンを押すことでカレンダーが表示される。この例では、クライアントサイドスクリプティングでアクションを実装している。
<label for="month">Month:</label> <select name="month" id="month"> <option value="1">January</option> <option value="2"> February</option> ... <option value="12">December</option> </select> <label for="year">Year:</label> <input type="text" name="year" id="year"> <input type="button" value="Show" onclick = "...">
例 2: アクションを選ぶ
select
要素は実行可能なアクションのリストを含んでいる。利用者が「実行」というボタンを押すまで、アクションは実行されない。
<form action="http://somesite.com/action" method="post"> <label for="action">Options:</label> <select name="action" id="action"> <option value="help">Help</option> <option value="reset">Reset</option> <option value="submit">Submit</option> </select> <button type="submit" name="submit" value="submit">Do It </button> </form>
参考リソース
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
検証
手順
それぞれの select
要素/ボタンの要素の組み合わせに対して:
select
要素の選択肢にフォーカスがあたったとき (キーボードフォーカスを含む)、どのアクションも実行されないことを確認する。- ボタンを選択すると、現在の
select
要素の値に関連付けられたアクションが実行されることを確認する。
期待される結果
- 上記全ての結果が真である。