このWCAG 2.2 テクニック集の日本語訳は作業中となっています。WCAG 2.1 達成方法集の日本語訳をご利用いただけます。
[ WCAG 2.1 達成方法集 ]
Technique H84:Using a button with a select element to perform an action
About this Technique
This technique relates to 3.2.2: On Input (Sufficient when used with G80: Providing a submit button to initiate a change of context).
This technique applies to HTML.
Description
The objective of this technique is to allow the user to control when an action is performed, rather than having the action occur as a side effect of choosing a value for the select element. The user may inspect the different values of the select element, or may accidentally choose the wrong value, without causing the action to occur. When the user is satisfied with their choice, they select the button to perform the action.
This is particularly important for users who are choosing the value of the select element via the keyboard, since navigating through the options of the select element changes the value of the control.
Examples
Example 1: A calendar
A web page lets the user choose a quarter of any year and display the calendar for those months. After the user has set the quarter and year, they display the calendar by pressing the "Show" button. This example relies on client-side scripting to implement the action.
<label for="quarter">Quarter:</label>
<select id="quarter" name="quarter">
<option value="1">Quarter 1 (January - March)</option>
<option value="2">Quarter 2 (April - June)</option>
<option value="3">Quarter 3 (July - September)</option>
<option value="4">Quarter 4 (October - December)</option>
</select>
<label for="year">Year:</label>
<input name="year" type="text" id="year">
<button name="show" type="button">Show</button>
Example 2: Choosing an action
A select element contains a list of possible actions. The action is not performed until the user presses the "Update" button.
<form action="/process-form" method="post">
<label for="action">Options:</label>
<select name="action" id="action">
<option value="add">Add</option>
<option value="remove">Remove</option>
<option value="cancel">Cancel</option>
<option value="order">Order</option>
</select>
<button name="submit" type="submit">Update</button>
</form>
Related Resources
No endorsement implied.
Tests
Procedure
For each select element/button element combination:
- Check that focus (including keyboard focus) on an option in the
selectelement does not result in any actions - Check that selecting the button performs the action associated with the current
selectvalue
Expected Results
- All checks are true.