2011-06-30 16 views
0

新的HTML5的細節和摘要元素,在Chrome 12HTML5的細節和總結可用性關注

正在實現我發現,是關於我一兩件事,我想聽聽你對此事的看法。

當設置了open屬性時,除摘要元素之外的任何子節點,details元素的「content」都將從文檔流中移除。

  • 我想 給用戶一個清晰的視覺提示,以提高可用性。

  • 所以我阻止了JavaScript中的默認 行爲。

  • 當摘要元素切換 (點擊或鍵盤),滑下 動畫,如果細節 元件關閉或啓動向上滑動 動畫開始時的細節 元件打開。

如果元素已打開,則在動畫完成時將刪除打開的屬性。否則,在動畫仍在運行時,內容將立即隱藏。

這是很好,但可達性呢?使用輔助技術的人們。他們必須等待滑動動畫的持續時間,然後才能確認details元素已關閉(因爲只有這樣,打開的屬性纔會被刪除)?

回答

3

爲什麼不在關閉動畫之前將aria-expanded設置爲false?

+0

這會讓它更復雜,因爲詠歎調擴展和開放表示相同的狀態。是不是細節元素意味着用aria擴展屬性替換div而沒有語義含義? – DADU

+0

@DAD不同之處在於'open'作用於細節元素的外觀,因此您必須在動畫之後將其刪除。但是,在動畫之前可以切換「詠歎調隱藏」和「詠歎調擴展」的值(真或假)。 – Knu

+0

然後我問自己,我不應該使用一些普通div元素與aria擴展屬性和CSS可見性結合使用嗎?看起來細節元素的使用非常有限。例如,爲了在閉合的細節元素上實現滑下效果,我需要用JavaScript打開它,繪製其高度,然後將其恢復到初始狀態,這是因爲關閉的細節元素的內容完全被移除,而不是隱。 – DADU

0

讓您的頁面在沒有任何腳本的情況下運行,這將有助於提高可用性。只有在增加可用性的地方添加腳本 - 上下滑動或淡入/滑出的內容可能會在第一次看起來很酷,但是在讓用戶等待幾次後才能使用它們,然後才能訪問正在顯示的內容,變得很煩人。

+1

雖然我理解你的觀點,但我不能完全確定它是否適用於這種情況,因爲幻燈片上下效果只有250ms的時間長度,並且它們在任何地方都可以使用,例如, WordPress的管理員。 – DADU

+0

「每個人都這樣做」是你可以引用的唯一支持嗎?沒有可用性研究?或用戶理解或易讀性?沒有? – RobG