3 回答

TA貢獻1906條經(jīng)驗 獲得超10個贊
tabindex是負責以下兩件事的全局屬性:
它設置了“可聚焦”元素的順序,并且
它使元素“可聚焦”。
在我看來,第二件事比第一件事更為重要。默認情況下,很少有可聚焦的元素(例如<a>和表單控件)。開發(fā)人員經(jīng)常在不可聚焦的元素(<div>,<span>等)上添加一些JavaScript事件處理程序(例如'onclick'),并使界面不僅響應鼠標事件而且響應鍵盤事件的方式(例如“ onkeypress”)是為了使此類元素具有針對性。最后,如果您不想設置順序,而只是將您的元素tabindex="0"集中用于所有此類元素:
<div tabindex="0"></div>
另外,如果您不希望通過Tab鍵將其聚焦,請使用tabindex="-1"。例如,使用選項卡鍵遍歷時,以下鏈接將不突出。
<a href="#" tabindex="-1">Tab key cannot reach here!</a>

TA貢獻1934條經(jīng)驗 獲得超2個贊
當用戶按下選項卡按鈕時,將按照以下示例中的順序,按照順序1、2和3引導用戶。
例如:
Name: <input name="name" tabindex="1" />
Age: <input name="age" tabindex="3" />
Email: <input name="email" tabindex="2" />

TA貢獻1824條經(jīng)驗 獲得超6個贊
該tabindex屬性用來定義用戶遵循的順序,當他們使用Tab鍵在網(wǎng)頁導航。默認情況下,自然制表順序?qū)⑴c標記中的源順序匹配。
tabindex content屬性允許作者控制元素是否應該是可聚焦的,使用順序焦點導航是否應可達,以及為了順序焦點導航的目的,元素的相對順序是什么。名稱“標簽索引”來自“標簽”鍵在可聚焦元素之間導航的常用用法。術(shù)語“制表”是指前進通過可使用順序焦點導航到達的可聚焦元素。
W3C建議:HTML5
部分7.4.1順序焦點導航和tabindex屬性
將tabindex在0或開始任何正整數(shù)和增量向上。這是經(jīng)常可以看到,因為在舊版本的Mozilla和IE的避免了值0,tabindex屬性會從1開始,移動到2,只有2后,將它轉(zhuǎn)到0,然后3.最大整數(shù)值tabindex是32767。如果元素相同,tabindex則tabindex將匹配標記中的源順序。負值會從選項卡索引中刪除該元素,因此它將永遠不會被聚焦。
如果一個元素被分配tabindex的-1它會刪除元素,它永遠不會成為焦點,但焦點可以以編程方式使用給予的元素element.focus()。
如果您指定的tabindex屬性沒有值或為空值,它將被忽略。
如果將disabled屬性設置在具有的元素上,則tabindex該元素將被忽略。
如果tabindex在頁面內(nèi)的任何位置設置了a ,而不管它相對于其余代碼的位置如何(可能位于頁腳,內(nèi)容區(qū)域中的任何地方)(如果有),則tabindex制表符順序?qū)脑撛亻_始它顯式地分配了tabindex大于0 的最小值。然后,它將在定義的元素之間循環(huán),只有在將顯式tabindex元素制表通過之后,它才會返回到文檔的開頭并遵循自然的制表順序。
在HTML4規(guī)范中,僅以下元素支持tabindex屬性:anchor,area,button,input,object,select和textarea。但是HTML5規(guī)范考慮到可訪問性,允許分配所有元素tabindex。
-
例如
<ul tabindex="-1">
<li tabindex="1"></li>
<li tabindex="2"></li>
<li tabindex="3"></li>
</ul>
是相同的
<ul tabindex="-1">
<li tabindex="1"></li>
<li tabindex="1"></li>
<li tabindex="1"></li>
</ul>
因為不管它們是否都被分配tabindex="1",它們?nèi)匀粫裱嗤捻樞?,第一個是第一個,最后一個是最后一個。也是一樣
<div>
<a></a>
<a></a>
<a></a>
</div>
因為如果它是默認行為,則無需顯式定義tabIndex。div默認情況下,A 不能聚焦,anchor標簽可以。
添加回答
舉報