2011-02-23 68 views
6

我們請求使用select元素的onchange觸發移動到新頁面。HTML選擇onchange可訪問性問題

在過去,我讀過的網頁可訪問性文獻通常建議不要這樣做。這是因爲它打破了用戶的期望,並且瀏覽器(特別是IE < 6)甚至在通過鍵盤選項移動時也發起了更改事件,使得僅鍵盤用戶無法做出選擇。

IE6 +和我測試過的所有其他更新式的瀏覽器在使用鼠標或輸入鍵實際選擇選項時觸發selectonchange。對於

鑑於我們的用戶將能夠只用鍵盤正常工作,這些select元素的問題顯示應用較早的IE瀏覽器基本上根除(< 0.01%)分析,應該這個功能仍然被認爲是阻礙無障礙?現在這種行爲似乎很普遍,我還想知道它是否真的以一種有意義的方式破壞了用戶的期望?

編輯:如果select與鼠標或鍵盤聚焦IE的行爲不同。當使用鼠標進行對焦時,通過選項進行鍵盤輸入不會觸發onchange,但當通過鍵盤將其對焦時,onchange在箭頭切換時會觸發。

+4

等一下,你是不是暗示IE6是現代瀏覽器? ;) – 2011-02-23 18:33:39

+0

你的問題到底是什麼? – B4NZ41 2011-02-23 18:36:32

+0

@Andrew Marshall打字後,我希望沒有人會這麼想。 – 2011-02-23 18:37:05

回答

5

使用onchange事件select元素的網頁可以肯定pose an accessibility problem for keyboard-only users之間進行導航。

至少有one method of creating accessible select elements with onchange handlers,它自2004年以來一直在interwebs上!

直接鏈接到Accessible Select的代碼。

+0

我已經閱讀過iCITA文檔,它看起來已經過時了。它說:「在大多數瀏覽器上使用向上和向下箭頭鍵觸發onChange」。但是,我測試過的所有瀏覽器都不會在每次更換鍵盤時觸發'onchange'。相反,當按下回車鍵或控制失去焦點時它會被觸發。 – 2011-02-23 19:15:37

+1

哦,等一下 - 在IE中,如果你首先用鼠標和鍵盤通過它選擇焦點,onchange似乎不會觸發。但是,如果您將選擇對準鍵盤,則onchange確實會觸發隨後的每個鍵盤動作。 – 2011-02-23 19:22:30

1

我同意你這種類型的功能很常見。但是,大多數網站使用鏈接而不是<select>來實現效果(如果我沒有弄錯)。 I.E.這是標準(雙關語意)。

enter image description here