真是問題。我在我的頁面上有一個輸入框,當我使用鍵盤標籤鍵進行導航時,我想忽略它。使用Tab鍵導航時,我可以忽略一些網站元素嗎?
我使用這個輸入框作爲一個簡單的bot honeytrap並將其定位在頁面之外,所以在使用tab鍵的時候,它看起來像是在用戶選中此元素時沒有任何焦點。
真是問題。我在我的頁面上有一個輸入框,當我使用鍵盤標籤鍵進行導航時,我想忽略它。使用Tab鍵導航時,我可以忽略一些網站元素嗎?
我使用這個輸入框作爲一個簡單的bot honeytrap並將其定位在頁面之外,所以在使用tab鍵的時候,它看起來像是在用戶選中此元素時沒有任何焦點。
您可以在此元素上設置tabindex="-1"
,以便它按照小數順序被忽略。 0
告訴瀏覽器找出它自己的標籤順序,-1
告訴瀏覽器忽略它。
您可以使用tabindex
屬性來定義製表符鍵應循環通過元素的順序。如果您設置tabindex="-1"
,則元素將被跳過。
更多信息可在這裏獲得http://www.webcheatsheet.com/HTML/controll_tab_order.php例如。
UPDATE 改變的tabindex = 「0」 到 「-1」 的基礎上的評論
雖然這只是解決方案的一部分,但重點將在某個時刻結束,稍後再討論。 – 2010-05-03 12:38:15
這是不正確的:http://jsfiddle.net/6QuHc/ – 2010-05-03 12:38:21
Tabindex = 0使元素使用正常的約定進行索引 - http://www.w3.org/TR/html5/editing.html#negative- tabindex - 用於將元素添加到通常不可聚焦的正常序列中,而不是排除它們。 – Quentin 2010-05-03 12:39:06
display: none
它來代替。
是的,但更高級的機器人可能會檢查。 (因爲他們可能會將其定位在頁面之外,但這是真正先進的)。 – Konerak 2010-05-03 12:37:28
也就是說,假設可能。 OTOH,如果你不在屏幕上,屏幕閱讀器會將它呈現給真正的用戶。 – Quentin 2010-05-03 12:40:48
我確實考慮過將顯示設置爲none,但是我擔心機器人會發現比定位離頁更容易檢查,正如Konerak所述。 我已經用一些屏幕閱讀軟件對它進行了測試,發現它顯示爲未標記的文本輸入框。這顯然是一個問題,但我認爲我們暫時不得不忍受,並且稍後再看看它。 – thor 2010-05-05 10:10:33
不是將它放在頁面外面,而是將它放在正常的位置並用另一個元素覆蓋它。 – 2010-05-03 12:38:10
@Rex--達到......什麼?它仍然是按Tab鍵順序。 – Quentin 2010-05-03 12:43:32
@David並設置tabindex。 – 2010-05-03 13:06:12