tabindex 0、-1、そして正の値は使わない
フォーカス可能なものとスクリプトからのみ操作できるものを制御します。
「tabindex 0、-1、そして正の値は使わない」はCoddyKit上の無料Web Accessibility Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはWeb Accessibility Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Web Accessibility Academyコースには全4レッスンが含まれています。
tabindexで制御できること
tabindex属性は、要素がキーボードフォーカスを受け取れるかどうかと、Tab移動の順序にどう組み込まれるかを決めます。フォーカス可能性を調整するつまみです。
ほとんどの要素は最初からフォーカス可能
リンク、ボタン、入力欄はデフォルトでフォーカス可能なので、これらにtabindexを設定することはほとんどありません。ネイティブ要素では対応できない場合だけ使用してください。
tabindex 0は順序に加わる
tabindex="0"を設定すると、通常はフォーカスできない要素が自然なTab移動の順序に加わります。順序はDOM内の位置に従います。
<div role="button" tabindex="0">Custom action</div>0を使う場面
divやspanから作成したカスタムウィジェットなど、キーボードで操作できる必要がある要素にはtabindex="0"を使います。
tabindex -1はスクリプト専用を意味する
tabindex="-1"を設定すると、その要素はTabキーではスキップされますが、JavaScriptからelement.focus()を使ってフォーカスできます。
<div id="panel" tabindex="-1">Result area</div>-1が便利な理由
tabindex="-1"を使うと、結果パネルのような領域に操作後のフォーカスを移動できます。すべてのTab移動にその領域を追加する必要はありません。🎯
正の値は絶対に使わない
3のような正のtabindexを設定すると、その要素が他のすべてより前に移動し、順序が崩れて迷路のようになります。使用しないでください。
<input tabindex="3">正の値は流れを壊す
正の値を持つ要素は、tabindex="0"の要素やデフォルトの要素より先に移動されるため、フォーカスの順序が視覚的な順序と一致しなくなります。
順序はDOMに任せる
最も自然なTab移動の順序は、DOMの順序そのものから生まれます。マークアップを論理的に並べれば、フォーカスに関する問題の多くは自然に解消します。
すべてをフォーカス可能にしない
通常のテキストやコンテナ全体にtabindex="0"を追加するとノイズが生まれ、キーボードユーザーは何も起こらない停止位置をTabで通過しなければならなくなります。
簡単な目安
カスタムコントロールを順序に加えるには0、スクリプトだけでフォーカスするには-1を使い、正の数は決して使わないでください。これでほとんどの場合に対応できます。
確認問題
要素をスクリプトからはフォーカス可能にしつつ、Tab移動ではスキップするtabindexの値はどれですか。
まとめ
tabindexというつまみの使い方を学びました。0はカスタムコントロールを順序に加え、-1はスクリプトによるフォーカスを可能にし、正の値は使用しません。👍
AI チューターと学ぶ HTML — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「tabindex 0、-1、そして正の値は使わない」レッスンは無料ですか?
はい。「tabindex 0、-1、そして正の値は使わない」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Web Accessibility Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Web Accessibility Academyコースには全4レッスンが含まれています。
「tabindex 0、-1、そして正の値は使わない」で何を学びますか?
フォーカス可能なものとスクリプトからのみ操作できるものを制御します。 ブラウザで直接実行するハンズオンコードでWeb Accessibility Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Web Accessibility Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのWeb Accessibility Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「tabindex 0、-1、そして正の値は使わない」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このWeb Accessibility Academyレッスンでコードを書いて実行できますか?
はい。すべてのWeb Accessibility Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- tabindex 0、-1、そして正の値は使わない
- アクション後にフォーカスを移動する
- レイヤーを閉じたときにフォーカスを戻す
- ウィジェットでroving tabindexを管理する