簡體   English   中英

OnClick和OnKeyPress符合標准

[英]OnClick and OnKeyPress for standards compliance

我正在一個大型網站(1600多頁)上工作,需要升級才能通過標准。 因此,對於每個OnClick,必須有標准,一個OnKeyPress處理程序,以便不使用鼠標的人仍然可以訪問內容。

有些標簽有一個onclick javascript處理程序。 例如:

<a onclick="doSumat();">

以下是跨瀏覽器,正在運行的javascript:

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

它是否可以在所有瀏覽器中可靠地運行,並且結果與使用屏幕閱讀器的人的鼠標點擊相同?

W3C - SCR35:使用錨點和按鈕的onclick事件使操作鍵盤可訪問。

雖然“onclick”聽起來像是綁定到鼠標,但onclick事件實際上映射到鏈接或按鈕的默認操作。 當用戶使用鼠標單擊元素時會發生默認操作,但當用戶聚焦元素並命中輸入或空格時,以及通過輔助功能API觸發元素時,也會發生默認操作。

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

在這種情況下,為什么不調用doSumat(); 使用onclick和onkeypress處理程序?

如果你需要this上下文,那么你需要使用doSumat.call(this); ,但你仍然可以將它放在兩個處理程序中。

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

有1600頁,我想你正試圖通過onclick處理程序找到一些簡單的附加到每個元素的東西,但定義規則以盲目地復制從onclick語句到onkeypress表達式的所有內容應該不那么復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM