是否可以使用CSS控制tabindex,如果是,哪些浏览器支持它以及哪些元素?
编辑
我应该说,我的目标是在div上捕获keydown事件.我看到这个页面http://www.quirksmode.org/js/events/keys.html#测试键盘事件,它显示了keydown触发除文档和正文以外的任何内容或某种表单元素或链接的唯一方法是要在其上声明tabindex.但我在W3C网站上看到:
以下元素支持tabindex属性:A,AREA,BUTTON,INPUT,OBJECT,SELECT和TEXTAREA.
所以我有点困惑,为了使标准兼容并使我的用例工作,该怎么办?
EDIT2
我的整个用例是一个带有很多内容的div,带有一个人工滚动条.我可以用鼠标事件滚动它,但到目前为止键盘没有运气.
dal*_*ege 28
2017年更新
正如@Wallop在评论中指出的那样,由于"缺乏实施兴趣" ,该nav-index
房产在2015年已从规范中删除.
看看nav-index
W3C在CSS3-UI中引入的属性.
此属性与a具有完全相同的行为,tabindex
并且适用于任何元素.
'nav-index'属性是一种指定顺序导航顺序(也称为"制表顺序")的输入方法中立方式.此属性是HTML4/XHTML1属性'tabindex'的替代品
对于用例而言可能是最符合标准的解决方案,nav-index
到目前为止仅由Opera解释(截至2012年6月),并且W3C也标记为"风险特征",因此可能随时丢弃.
替代的跨浏览器解决方案是:
非标准兼容:tabindex
在a上设置属性DIV
.这适用于所有常见浏览器.
符合标准:DIV
在A
没有href
属性集的情况下替换为anchor元素(),使用它设置样式display: block
并添加tabindex
属性.
关于BoltClock的观点,我同意标签顺序是非常合理的(文本选择顺序和标签顺序都与文档中元素排列的顺序密切相关).另一方面,CSS今天有更广泛的用途.它不仅可以操作文档(content
属性)的内容,还可以操作事件何时触发的行为:即使用pointer-events
,display
或z-index
指针事件的顺序将发生变化.如果这些是非常基本的CSS属性,为什么你也不能影响KeyBoardEvents呢?
这有点旧,但现在有像-moz-user-focus这样的css选项.我确定有一个webkit等价物.
https://developer.mozilla.org/en-US/docs/CSS/-moz-user-focus
归档时间: |
|
查看次数: |
75842 次 |
最近记录: |