WCAG 2.0 AA合规性要求完全支持网站的仅键盘导航。我正在利用 tabindex 和 role 属性为用户提供 tab 键导航。在实施辅助功能时,我遇到了以下问题:
https://jsfiddle.net/fn9wvp1s/1/
<div id="app">
<div>
<button tabindex="1"
onclick="console.log('clicked')">
button
</button>
<div tabindex="2"
onclick="console.log('clicked')"
class="div-button"
role="button">
selectable div
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
用鼠标单击元素自然有效,并且按预期触发单击事件。但是,当使用 tab 导航到元素并按回车/空格键时,只会为按钮触发该事件。为什么是这样?我可以以某种方式启用从键盘到 div 元素的点击事件吗?
我非常了解各种解决方法,包括将按键事件绑定到 div。最终重构了标记并用按钮替换了 div,但仍然想知道为什么要以这种方式实现。
在记录我实施的一些自定义 B2C 策略时,我注意到我不知道“CPIM”的实际含义。尽管搜索,我找不到答案。CPIM 是缩写吗?它代表什么?