我有一个angular2应用程序,我将一些动态文本绑定到ARIA-LABEl以获得嵌套的DIV。但是,当我使用JAWS阅读器在页面上定位DIV时,它不会读取已分配的文本。这是我正在尝试阅读的文本 - attr.aria-label =“{productDetails?.ProductName}}的产品详细信息“DIV ARIA-LABEl不被JAWS读取
另外,如果我分配给标题,这DIV的作用,它会读取动态文本,但不前缀‘文本之前产品详细资料为’
<div [ngClass]="getDescClass()" class="prdDetails-div" aria-label="some text">
<div autofocus attr.aria-label="Product details for {{productDetails?.ProductName}}" class="productDetails-name" style="cursor:default!important" role="heading" >{{productDetails?.ProductName}} </div>
<div autofocus class="products-result-compare">
<!--{{getDescription(productDetails?.Description)}}-->
Small description
</div>
此外,如果我给这个div分配一个标题角色,它会读取动态文本,但不会在文本之前添加“产品详细信息”字样。 – namrata
你想在这里做什么 - 你想在一天结束时读出什么?对于目前的实现来说,它的价值在于,咏叹调标签并不像一般的文本替换机制。当它用在自然采用LABEL的元素上时,它的效果最好,但可能对其他类型的元素(DIV,SPAN)有效或无效,除非它们具有tabindex或指定的特定角色。 – BrendanMcK
非常感谢您的回复。我对UI和可访问性相当陌生。我不知道div和标签aria标签没有被读取。我的情景是这样的 - 我在DIV中有一些文字。 (让我们说文本是“戴尔”)。但我希望屏幕阅读器能够像“产品名称是DELL”一样阅读它。基本上我想在“产品名称是”前缀中仅限语音阅读器,而不是在UI中。我不想为这些DIV指定tabindex。 – namrata