aria-label及aria-labelledby應用
http://accessibilityunion.org/archives/808
aria-label屬性
正常情況下,會在表單里給input組件指定對應的label,當用戶tab到輸入框時,讀屏軟件就會讀出相應label里的文本。
如:<label for=”username”>用戶名:</label><input type=”text” id=”username”/>
當沒有給輸入框設計對應的label文本的位置時,aria-label屬性為組件指定內置的文本標簽。它不在視覺上呈現。
如:<input type=”text” aria-label=”用戶名”/>
此時,當焦點落到該輸入框時,讀屏軟件就會讀出aria-label里的內容,即“用戶名”。
經測試,aria-label只有加在可被tab到的元素上,讀屏才會讀出其中的內容。
以下情況,也是可以讀出的:<span tabindex=”0″ aria-label=”標簽提示內容”>可被tab的span標簽</span>
aria-labelledby屬性
當想要的標簽文本已在其他元素中存在時,可以將其值為該元素的id。
<div role=”form” aria-labelledby=”form-title”>
<span id=” form-title”>使用手機號碼注冊</span>
<form>……</form>
</div>
表單區添加了landmark標識role=”form”,在爭渡中使用字母”D“鍵會在lankmark標識之間跳轉。
當跳轉到該區域時,不僅會讀出”表單區“,也會讀出”使用手機號碼注冊“。
如果一個元素同時有aria-labelledby和aria-label,讀屏軟件會優先讀出aria-labelledby的內容。
測試軟件:爭渡讀屏 瀏覽器:IE9