aria-label屬性用來給當前元素加上的標簽描述,接受字符串作為參數(shù)毁靶。
是用不可視的方式給元素加label(如果被描述元素存在真實的描述元素,可使用?aria-labelledby?屬性作為來綁定描述元素和被描述元素來代替)逊移。
aria-label
在下面的示例中预吆,按鈕(button)元素被定義為一個關(guān)閉(close)按鈕,按鈕中間有一個“X”字符胳泉。輔助軟件并不能知道X是什么意思拐叉,所以需要aria-label標簽來為輔助設備提供相應的標識來告訴它這個button是close的作用。
<button aria-label="Close" onclick="myDialog.close()">X</button>
正常情況下扇商,form表單的input組件都有對應的label.
當input組件獲取到焦點時凤瘦,屏幕閱讀器會讀出相應的label里的文本。
<form role = "form">
? ? ? <div class="form-group col-lg-3 form-horizontal" >????????????<label for = "idCard" class="control-label col-lg-5">身份證號:</label>
? ? ? ? ? ? <div class="col-lg-7">
? ? ? ? ? ? ????<input type = "text" id = "idCard" class="form-control"/>
? ? ? ? ? ? </div>
? ? ? ? </div>
</form>
但是如果我們沒有給輸入框設置label時案铺,當其獲得焦點時蔬芥,屏幕閱讀器會讀出aria-label屬性的值,aria-label不會在視覺上呈現(xiàn)效果。? ? ? ? ?
? ? ? ?<form role = "form">? ? ? ? ? ? <div class="form-group col-lg-3 form-horizontal"?
? ? ? ? ? ? ? ? <input type = "text" id = "idCard" class="form-control" aria-label = "身份證號">
? ? ? ? ? ? <div>
? ? ? ?</form>
當想要的標簽文本已在其他元素中存在時笔诵,可以使用
aria-labelledby
返吻,并將其值為所有讀取的元素的id。如下:
當ul獲取到焦點時乎婿,屏幕閱讀器是會讀:“選擇您的職位”
<div class="dropdown">
? ? <button type="button" class="btn dropdown-toggle" id="dropdownMenu1" data-toggle="dropdown"> 選擇您的職位
? ? ????<span class="caret"></span>
? ? </button>
? ? <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
? ? ? ? <li role="presentation">
? ? ? ? ? ? <a role="menuitem" tabindex="-1" href="#">測試工程師</a>
? ? ? ? </li>
? ? ? ? <li role="presentation">
? ? ? ? ? ? <a role="menuitem" tabindex="-1" href="#">開發(fā)工程師</a>
? ? ? ? </li>
? ? </ul>
</div>
PS:如果一個元素同時有aria-labelledby和aria-label测僵,讀屏軟件會優(yōu)先讀出aria-labelledby的內(nèi)容