Angularjs 钳口+;IE11+;阿丽亚活着不工作的时候
我们正在向SPA网站添加ARIA支持 在应用程序中,我们有一个活动区域,在该区域中,我们根据验证显示来自服务器的动态消息 我们添加了role='alert'和aria live='assertive'来阅读这些活动消息 在FF和chrome中,其工作正常,但在IE中,其读取代码如“left brace left brace txtErrorMessage right brace right brace right brace”,即使屏幕上有消息Angularjs 钳口+;IE11+;阿丽亚活着不工作的时候,angularjs,wai-aria,jaws-screen-reader,Angularjs,Wai Aria,Jaws Screen Reader,我们正在向SPA网站添加ARIA支持 在应用程序中,我们有一个活动区域,在该区域中,我们根据验证显示来自服务器的动态消息 我们添加了role='alert'和aria live='assertive'来阅读这些活动消息 在FF和chrome中,其工作正常,但在IE中,其读取代码如“left brace left brace txtErrorMessage right brace right brace right brace”,即使屏幕上有消息 <div role="alert" aria
<div role="alert" aria-live="assertive">
<p class="scan-complete-text-auto">
{{model.txtErrorMessage}}
</p>
</div>
{{model.txtErrorMessage}}
在这里,txtErrorMessage将从api结果填充运行时
我们使用的是AngularJS
如何解决此问题?尝试使用
ng bind=“model.txterromessage”
而不是{model.txterromessage}
尝试使用ng show或ng hide隐藏div,直到消息准备就绪。可以检查消息长度以显示或隐藏div本身。这将解决问题。
也不需要role=“alert”和aria live=“assertive”。您可以删除role=“alert”。JAWS+IE倾向于对这种组合进行多次读取。Angular提供了内置的CDK API来处理这种情况。 或者,您可以保留一个简单的span或div,并以编程方式更新消息
<span
aria-live="polite"
class="ada-visuallyhidden"
[innerHTML]="yourCustomADAMessage"
></span>
U r解决方案还解决了我的一个问题我有一个问题。如果我们有如下表达式,那么如何使用ng bind{{{'totalView.updatedttallabel'| i18next:model}}
在这里,我试图使用国际化(i18n)从资源文件(.json文件)中获取标签,更不用说我已经使用以下行实现了它
<span
aria-live="polite"
class="ada-visuallyhidden"
[innerHTML]="yourCustomADAMessage"
></span>