OnClick和OnKeyPress符合标准

时间:2010-10-27 10:24:37

标签: javascript standards accessibility

我正在开发一个需要升级才能通过标准合规的大型网站(1600多页)。因此,对于每个OnClick,必须有标准,一个OnKeyPress处理程序,以便不使用鼠标的人仍然可以访问内容。

某些标签有一个onclick javascript处理程序。 EG:

<a onclick="doSumat();">

以下是跨浏览器,工作javascript:

<a onclick="doSumat();" onkeypress="this.onclick();" >

它是否可以在所有浏览器中可靠地运行,并且结果与使用屏幕阅读器的人的鼠标点击相同?

2 个答案:

答案 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触发元素时,也会发生默认操作。

来源http://www.w3.org/TR/WCAG20-TECHS/SCR35