我正在开发一个需要升级才能通过标准合规的大型网站(1600多页)。因此,对于每个OnClick,必须有标准,一个OnKeyPress处理程序,以便不使用鼠标的人仍然可以访问内容。
某些标签有一个onclick javascript处理程序。 EG:
<a onclick="doSumat();">
以下是跨浏览器,工作javascript:
<a onclick="doSumat();" onkeypress="this.onclick();" >
它是否可以在所有浏览器中可靠地运行,并且结果与使用屏幕阅读器的人的鼠标点击相同?
答案 0 :(得分:4)
在这种情况下,为什么不同时使用onclick和onkeypress处理程序调用{{1}}?
如果您需要doSumat();
上下文,那么您需要使用this
,但您仍然可以将其放在两个处理程序中。
doSumat.call(this);
有1600页,我想你正在尝试用<a onclick="doSumat();" onkeypress="doSumat();">
处理程序找到一些简单的附加到每个元素的东西,但定义规则以盲目地复制onclick
中的所有内容应该不会那么复杂{1}}对onclick
表达式的声明。
答案 1 :(得分:4)
W3C - SCR35:使用锚点和按钮的onclick事件使操作键盘可访问。
while&#34; onclick&#34;听起来它与鼠标相关联,onclick事件实际上映射到链接或按钮的默认操作。当用户使用鼠标单击元素时会发生默认操作,但是当用户聚焦元素并命中enter或space,以及通过辅助功能API触发元素时,也会发生默认操作。