2010-05-03 51 views
27

真是問題。我在我的頁面上有一個輸入框,當我使用鍵盤標籤鍵進行導航時,我想忽略它。使用Tab鍵導航時,我可以忽略一些網站元素嗎?

我使用這個輸入框作爲一個簡單的bot honeytrap並將其定位在頁面之外,所以在使用tab鍵的時候,它看起來像是在用戶選中此元素時沒有任何焦點。

+1

不是將它放在頁面外面,而是將它放在正常的位置並用另一個元素覆蓋它。 – 2010-05-03 12:38:10

+2

@Rex--達到......什麼?它仍然是按Tab鍵順序。 – Quentin 2010-05-03 12:43:32

+0

@David並設置tabindex。 – 2010-05-03 13:06:12

回答

38

您可以在此元素上設置tabindex="-1",以便它按照小數順序被忽略。 0告訴瀏覽器找出它自己的標籤順序,-1告訴瀏覽器忽略它。

9

您可以使用tabindex屬性來定義製表符鍵應循環通過元素的順序。如果您設置tabindex="-1",則元素將被跳過。

更多信息可在這裏獲得http://www.webcheatsheet.com/HTML/controll_tab_order.php例如。

UPDATE 改變的tabindex = 「0」 到 「-1」 的基礎上的評論

+0

雖然這只是解決方案的一部分,但重點將在某個時刻結束,稍後再討論。 – 2010-05-03 12:38:15

+2

這是不正確的:http://jsfiddle.net/6QuHc/ – 2010-05-03 12:38:21

+0

Tabindex = 0使元素使用正常的約定進行索引 - http://www.w3.org/TR/html5/editing.html#negative- tabindex - 用於將元素添加到通常不可聚焦的正常序列中,而不是排除它們。 – Quentin 2010-05-03 12:39:06

1

display: none它來代替。

+0

是的,但更高級的機器人可能會檢查。 (因爲他們可能會將其定位在頁面之外,但這是真正先進的)。 – Konerak 2010-05-03 12:37:28

+0

也就是說,假設可能。 OTOH,如果你不在屏幕上,屏幕閱讀器會將它呈現給真正的用戶。 – Quentin 2010-05-03 12:40:48

+0

我確實考慮過將顯示設置爲none,但是我擔心機器人會發現比定位離頁更容易檢查,正如Konerak所述。 我已經用一些屏幕閱讀軟件對它進行了測試,發現它顯示爲未標記的文本輸入框。這顯然是一個問題,但我認爲我們暫時不得不忍受,並且稍後再看看它。 – thor 2010-05-05 10:10:33

相關問題