tabIndex 属性は、フォーカス可能な要素を指定するための属性です。この属性自由な数値を指定できますが、これはアクセシビリティの観点から推奨されていません。
tabIndex 属性に 1 以上の数値を指定すると、フォーカス可能な要素の順番を変更できます。しかし、フォーカスの順番が見た目と異なるとユーザーが混乱する原因になります。
tabIndex 属性には 0 と -1 だけを指定することを推奨します。
0 は見た目のフォーカスの順番を維持したまま、フォーカス不可能な要素をフォーカス可能にするために使用します。
-1 を指定するとフォーカスを受け取らなくなります。これは、矢印キーで移動するタブのような UI を実装する際に使われます。タブ間の移動は Tab キーを押してもフォーカスさせずに、矢印キーが押されたことを検知してフォーカスを移動するように実装するためです。