2010-05-03 64 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

相关问题