本文へ移動
ご相談

ページ内を飛び回るフォーカス順序

CSSで並べたボタンの左右を画面上だけ逆にしているため、マークアップの順序と食い違い、Tabキーが見た目と逆向きに動きます。

問題あり 右端から始まる。
修正後 行の順に進む。
同じ操作部品の、修正前と修正後。
01

問題

キーボード利用者は、フォーカスがレイアウトと逆向きに動くのを見て現在位置を見失い、違うボタンを押すことがあります。

02

試してみる

Tabキーを押して、フォーカスがどちらへ動くか見てください。

Tabキーで三つのボタンを順に移動してください。フォーカスは、行を読む向き(左から右)に動きますか?

直前のフォーカス移動: (まだなし)

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

マークアップをデザインの順に並べ替えるか、逆転させるCSSを外します。

  1. 1マークアップの順序がフォーカス順序になる。CSSでフォーカスできる要素を逆転・並べ替えしない。
  2. 2tabindexは0か-1だけを使い、正の数は使わない。
  3. 3狭い幅ではレイアウトが並べ替わるため、ブレークポイントごとに確認する。
修正前 CSSで逆転させた行

html

<div class="actions">  <a href="/basket">かごに戻る</a>  <button type="button">あとで保存</button>  <button type="submit">注文を確定</button></div>

css

.actions {  display: flex;  flex-direction: row-reverse;  gap: 12px;}
修正後

デザインの順にそろえたマークアップ

html

<div class="actions">  <button type="submit">注文を確定</button>  <button type="button">あとで保存</button>  <a href="/basket">かごに戻る</a></div>

css

.actions {  display: flex;  justify-content: flex-end;  gap: 12px;}

04

修正の確認

マウスを使わない4つの確認

確認方法: キーボード、スクリーンリーダー、ズーム

4件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。レイアウトやコンポーネントのスタイルを変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。対象は、固定された操作の行です。データグリッド、カルーセル、矢印キーでフォーカスを動かすウィジェットは、それぞれの設計パターンに従い、別の確認が必要です。順序が意味を保っているかどうかは内容に対する判断のため、実際のページで操作全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方