キーボードでラジオボタンを選択するにはどうすればいいですか?
ウェブフォームでよく使われる入力要素の一つに、ラジオボタンがあります。ラジオボタンは、複数の選択肢の中から一つだけを選択する場合に使われます。マウスを使ってクリックして選択するのが一般的ですが、キーボードのみでも操作することができます。
キーボード操作の方法
ラジオボタンをキーボードで選択するには、主に以下のキーを使います。
キー | 動作 |
---|---|
Tabキー | フォーカスを次の要素に移動します。 |
Shift + Tabキー | フォーカスを前の要素に移動します。 |
↑キー (上矢印キー) | フォーカスを前のラジオボタンに移動します。 |
↓キー (下矢印キー) | フォーカスを次のラジオボタンに移動します。 |
Spaceキー / Enterキー | フォーカスされているラジオボタンを選択状態にします。 |
まず、Tabキーを押して、ラジオボタンがあるグループにフォーカスを移動します。すると、グループ内のいずれかのラジオボタンが選択状態、もしくはフォーカスされた状態になります。その後は、矢印キーを使って選択したいラジオボタンにフォーカスを移動し、SpaceキーまたはEnterキーを押して選択します。
HTMLでの実装例
以下は、ラジオボタンを使った簡単なHTMLの例です。
<form>
<fieldset>
<legend>好きな果物を選んでください</legend>
<label>
<input type="radio" name="fruit" value="apple">りんご
</label>
<label>
<input type="radio" name="fruit" value="orange">みかん
</label>
<label>
<input type="radio" name="fruit" value="banana">バナナ
</label>
</fieldset>
</form>
参考資料
よくある質問
Q1: ラジオボタンにキーボードでフォーカスを当てても選択状態になりません。
A1: フォーカスを当てた後、SpaceキーまたはEnterキーを押すことで選択状態になります。
Q2: 矢印キーでラジオボタン間を移動できません。
A2: ラジオボタンが同じグループに属しているか確認してください。異なるグループに属している場合は、Tabキーでグループ間を移動する必要があります。
Q3: JavaScriptでラジオボタンの選択状態を取得するにはどうすればいいですか?
A3: ラジオボタンのDOM要素を取得し、`checked`プロパティを参照することで選択状態を取得できます。
const selectedFruit = document.querySelector('input[name="fruit"]:checked').value;
その他の参考記事:jquery radio checked 取得