很久以前,屏幕閱讀器決定開始閱讀錨定標記< a>中的所有內容作爲特徵。這允許鏈接在視覺上明顯但對屏幕閱讀器不明確的情況下較短。然後
開發人員可以編寫類似的東西,以這條線讓屏幕閱讀器讀取的一切:屏幕閱讀器閱讀錨定標記或角色中的所有內容
<a href="#">More<span style="display: none;"> information about XYZ</span></a>
然而,隨着HTML5的錨標記成了「透明」,並允許有一個較寬的範圍之內的元素它。 http://dev.w3.org/html5/markup/a.html#a
這個新的鏈接功能非常好,因爲我們可以用正確的語義封裝整個可點擊的對象。
不幸的是,該功能閱讀所有隱藏在一個鏈接現在咬我們:
<li><a href="#"> [ complicated markup ] </a></li>
在上面的標記,使用任何隱藏的內容將被讀取到屏幕閱讀器。
同樣的問題,當你添加屬性role="dialog"
到發生在一個< DIV>
什麼是防止屏幕閱讀器閱讀什麼是真正隱藏時下把戲?
我使用IE10 & Windows 8中講述
請注意,屏幕閱讀器(大部分都是)不會在'display:none'的元素中宣佈文本。 – steveax