回答您的問題第一,並在最後可能的解決方案:
- 我可以用在代替
alt
-text屬性的div
的title
屬性上img
標籤?
不,或者更準確地說,你可以這樣做,但幾乎沒有支持。由於div
不具有互動性,也不具有里程碑意義,所以屏幕閱讀器沒有理由將其專注於並找到title
。此外,title
的屏幕閱讀器支持很差和/或不一致。我建議你看一下名單PowerMapper維持(去年2016年10月更新,截至記者發稿16):A "click here" link with TITLE attribute
- 將加入
figcaption
元素作爲同級的div
,並嵌套在一個figure
元素幫助可訪問性?
號屏幕閱讀器無可奈何與figcaption
(因爲瀏覽器不以任何有意義的方式將其暴露在SR)。
- 我可以在div上使用
aria-labeledby
嗎?
號屬性aria-labelledby
(兩個「L」 S)是指用於交互式內容或界標或類似的。由於div
不具有互動性,也不具有里程碑意義,所以屏幕閱讀器沒有理由將其專注於並找到aria-labelledby
。
- 我是否應該將文本注入到div中?
是的。
Sorta。
考慮離屏技術對圖像的描述,比如這一個:
<div>
<p class="SRonly">
Cemetery with a lone beam of sunlight shining on a Port-A-John.
</p>
</div>
的CSS可能是這樣的(佔RTL語言太):
.SRonly {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
top: auto;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
html[dir=rtl] .SRonly {
left: inherit;
left: unset;
right: -9999px;
}
這樣「圖像替代」只是流式內容,將隨着屏幕閱讀器通常瀏覽頁面而被讀取。它對於有遠見的用戶是隱藏的。這將有利於使用屏幕閱讀器的低視力用戶。它不會成爲使用屏幕閱讀器的鍵盤用戶的障礙。
沒有ARIA詭計,沒有混淆你的HTML來滿足驗證器,也沒有增加可能降低用戶對可用性的可用性的屬性。
您可能在Bootstrap和其他庫中看到此爲.sr-only
。我故意讓我的示例類名稱不同。
現在,所有的說法,我們可以很容易地測試,如果你只是做一個Codepen並鏈接它。
你是否在使用背景來覆蓋它?如果是這樣,一個JavaScript解決方案可以接受達到相同的效果? –