2012-04-19 83 views
4

我有一個包含div的無序列表的檢查列表頁面。當div被點擊時,jquery切換一個「selected」類。提交時,jquery創建一個包含所有「選定」標識的數組,並通過AJAX將其傳遞給服務器。使用div複選框

這是正確的嗎?我違反規定嗎?我似乎工作得很好。我已經看過格式化複選框的例子,但是這個方法更簡潔,更簡單。可能太容易了,這就是爲什麼我問你一羣好心人幫忙。謝謝。

+1

這樣做很好,我沒有看到任何問題。 – elclanrs 2012-04-19 21:08:23

+3

非常好,有時甚至有用。爲了好玩,嘗試更改10,000個div的類並比較更改10,000複選框的性能。 – 2012-04-19 21:14:35

+0

我已經做到了。 – chepe263 2012-04-19 21:15:42

回答

2

不,它不是「正確的」,因爲它忽略了HTML的語義。

如果您關心輔助功能,您應該使用複選框和<labels>,以便像屏幕閱讀器這樣的輔助技術知道該怎麼做。當然,如果沒有啓用JavaScript,應用程序將無法工作。

您應該可以在仍然使用複選框的情況下使用CSS和JavaScript使頁面的外觀和感覺完全符合您的需要。這顯然是更多的工作,並且由您來決定是否有利於證明成本。

+1

至少要確保div可以用鍵盤聚焦(您需要添加'tabindex =「0」')並處理鍵盤事件。另外請確保div中有一些文本使得屏幕閱讀器用戶的操作更加明顯。 – steveax 2012-04-19 22:21:56