Tabindex焦点样式

Hen*_*man 8 html css accessibility

我已经div使用该tabindex属性创建了一个tabbable,以使隐藏内容可访问.

目前,当用鼠标点击时,div获取浏览器:focus样式.

有没有办法让tabbable元素在通过键盘访问时只有焦点样式?锚元素默认具有此功能.

  • Divtabindex='0'得到的鼠标和键盘交互浏览器的焦点风格
  • Anchor仅在键盘交互上获得浏览器焦点样式

我希望div模仿锚点.不幸的是,让它成为锚是一种选择.

任何帮助都会很棒,我真的很茫然.

编辑 - >这是一个例子:http://jsfiddle.net/LvXyL/2/

Rya*_*n B 6

当然只需将:focus伪类添加到div和样式中.我建议使用大纲与边框.我更新了小提琴.

div:focus {outline: blue solid 2px;}
Run Code Online (Sandbox Code Playgroud)

Kub提出了一个JS解决方案,但为什么使用js,如果你实际上不需要?

  • 我更愿意保留默认的浏览器焦点样式,并且焦点仅在键盘导航时显示。 (2认同)

kub*_*dan -1

如果您可以使用 javascript,请尝试使用onclick属性。

onclick="this.blur()"对于失去焦点

onclick="this.focus()"用于设定焦点

DIV单击失去焦点并A设置焦点的示例http://jsfiddle.net/LvXyL/6/

缺点是如果长时间按住鼠标键,焦点样式会很明显。

  • 不建议使用 this.blur(),因为它会干扰正确的键盘使用。单击可选项卡的 div *应该*将焦点设置在那里,但使用 this.blur() 可以防止这种情况。 (2认同)