tabindex属性

Webページを表示している時、タブによって選択を変えられますが、その制御をすることができます。

本ページでは、tabindex属性について説明します。

tabindex属性とは

Webページを表示している時、タブキーを押すことで一番上にあるリンクやテキストボックスなどがフォーカス(選択)されます。また、タブキーを押すたびに、次のリンクやテキストボックスなどにフォーカスが移ります。

tabindexは、このフォーカスを制御します。値は、以下が使えます。

  • マイナスの整数:タブでフォーカスされません。クリックしてフォーカスは可能です。通常は、-1を使います。
  • 0:タブでフォーカスされます。上からの順番に従います。
  • プラスの整数:タブでフォーカスされます。数字が小さいほど、早くフォーカスされます。

tabindexにより、クリックでのフォーカスは停止できません。タブキーでのフォーカスを制御するだけです。

tabindexはグローバル属性のため、すべてのHTML要素で使えます。pなど、通常はフォーカスされない要素でも、tabindexは有効です。この時、値にかかわらずクリックでのフォーカスが可能になるブラウザもあります。

利用例

tabindexの利用例は、以下のとおりです。

【tabindexでタブでフォーカスされなくなる例】
<input type="text" name="test" tabindex="-1">

上記により、テキストボックスはタブでフォーカスされなくなります。マウスをクリックしてフォーカスすることは可能です。

もう1つの例です。

【tabindexでフォーカスされる順番を変える例】
<input type="text" name="test1" tabindex="2">
<input type="text" name="test2" tabindex="1">

上記により、下のテキストボックス(name="test2")がタブで最初にフォーカスされます。もう一回タブキーを押すと、上のテキストボックス(name="test1")がフォーカスされます。

フォーカス可能な要素

デフォルトでフォーカス可能な要素の例は、以下のとおりです。

  • href属性があるa要素
  • button要素
  • hidden属性を使わないinput要素
  • select要素
  • textarea要素

これらは、tabindexを使わなくても、マウスでクリックしてフォーカス可能です。また、タブキーを押すと上から順番にフォーカスされます。

ブラウザのサポート状況

各ブラウザの最新バージョンでのサポート状況は、以下のとおりです。

【パソコン】
項目 IE Ed Fx Ch Sa Op
tabindex
【スマートフォン】
項目 Sa An Op Ch Fx Sm
tabindex
サポート
制限あり
×
未サポート
不明
IE
Internet Explorer
Ed
Edge
Fx
Firefox
Ch
Chrome
Sa
Safari
Op
Opera
An
Android Browser
Sm
Samsung Internet

※スマートフォンのFirefoxとChromeは、Android版です。