我正在使用angularjs並試圖使網站可訪問。當用戶沒有進入或忘記進入必填字段時,下頜不會讀出錯誤信息。我曾嘗試在div中添加role =「alert」,但它似乎並不喜歡它。任何建議大白鯊不讀取錯誤消息
<div aria-type-label="{{'some:error'}}">
<span role="alert" class="error-message">Error</span>
</div>
我正在使用angularjs並試圖使網站可訪問。當用戶沒有進入或忘記進入必填字段時,下頜不會讀出錯誤信息。我曾嘗試在div中添加role =「alert」,但它似乎並不喜歡它。任何建議大白鯊不讀取錯誤消息
<div aria-type-label="{{'some:error'}}">
<span role="alert" class="error-message">Error</span>
</div>
大白鯊和瀏覽器都在尋找更新的內容,以提醒讓我發現,我不得不補充,爲了得到提醒工作始終完全刪除數據。例如,當錯誤消失時,我刪除了文本,並在發生錯誤時將文本放回。這可以通過幾種方式完成。一,使用ng-if={{error}}
,那麼如果沒有錯誤,HTML將從DOM中被移除,並且一旦出現錯誤就將其放回到DOM中。
另一種方法是在沒有錯誤時將errorMessage值設置爲空字符串,或者在出現錯誤時將錯誤消息設置爲空字符串。這樣DOM中的文本實際上正在改變,導致了一個警報。提到使用這兩種方法
可能的例子:
<input name="theTextInput" type="text" ng-model="filled" placeholder="Add something"/>
<div role="alert" ng-if="filled" aria-type-label="">
<span class="error-message">{{message}}</span>
</div>
<span class="sr-only" style="display: none;">{{message = "Has Error"}}</span>
注意:這個工作在Chrome在十月2016和2016年11月,但今天它看起來像它的此刻不報警。仍然適用於Firefox。
你必須一起使用aria描述和角色警報。 請看看:
<input type="textbox" id="yourField" aria-describedby="yourFieldError">
<span role="alert" data-bind="visible:yourCondition" class="error-message" id="yourFieldError">Error</span>
希望這將有助於。