新的HTML5的細節和摘要元素,在Chrome 12HTML5的細節和總結可用性關注
正在實現我發現,是關於我一兩件事,我想聽聽你對此事的看法。
當設置了open
屬性時,除摘要元素之外的任何子節點,details元素的「content」都將從文檔流中移除。
我想 給用戶一個清晰的視覺提示,以提高可用性。
所以我阻止了JavaScript中的默認 行爲。
當摘要元素切換 (點擊或鍵盤),滑下 動畫,如果細節 元件關閉或啓動向上滑動 動畫開始時的細節 元件打開。
如果元素已打開,則在動畫完成時將刪除打開的屬性。否則,在動畫仍在運行時,內容將立即隱藏。
這是很好,但可達性呢?使用輔助技術的人們。他們必須等待滑動動畫的持續時間,然後才能確認details元素已關閉(因爲只有這樣,打開的屬性纔會被刪除)?
這會讓它更復雜,因爲詠歎調擴展和開放表示相同的狀態。是不是細節元素意味着用aria擴展屬性替換div而沒有語義含義? – DADU
@DAD不同之處在於'open'作用於細節元素的外觀,因此您必須在動畫之後將其刪除。但是,在動畫之前可以切換「詠歎調隱藏」和「詠歎調擴展」的值(真或假)。 – Knu
然後我問自己,我不應該使用一些普通div元素與aria擴展屬性和CSS可見性結合使用嗎?看起來細節元素的使用非常有限。例如,爲了在閉合的細節元素上實現滑下效果,我需要用JavaScript打開它,繪製其高度,然後將其恢復到初始狀態,這是因爲關閉的細節元素的內容完全被移除,而不是隱。 – DADU