Html 如何将动态数据绑定到aria标签?

Html 如何将动态数据绑定到aria标签?,html,angular,wai-aria,uiaccessibility,Html,Angular,Wai Aria,Uiaccessibility,我有动态文本要绑定到HTML页面上的aria标签。 这是一个Angular 2应用程序。我用的是这样的东西: aria label=“产品详细信息,用于{{{productDetails?.ProductName}” 但我有一个错误: 无法绑定到“aria label”,因为它不是“div”的已知属性 有什么解决方法吗?只需在aria标签之前使用attr.: attr.aria label=“产品详细信息为{{{productDetails?.ProductName}}” 或 [attr.ar

我有动态文本要绑定到HTML页面上的
aria标签
。 这是一个Angular 2应用程序。我用的是这样的东西:

aria label=“产品详细信息,用于{{{productDetails?.ProductName}”
但我有一个错误:

无法绑定到“aria label”,因为它不是“div”的已知属性


有什么解决方法吗?

只需在aria标签之前使用
attr.

attr.aria label=“产品详细信息为{{{productDetails?.ProductName}}”

[attr.aria label]=“'productDetails for'+productDetails?.ProductName'”

示例如下:

另外,正如@Simon_Weaver提到的,有一些组件实现了自己的aria标签
@Input
,比如
mat select


在此处查看他的答案

您应该在目标属性周围使用方括号(
[]
):

[attr.aria-label]="'Product details for' + productDetails?.ProductName"
这对我有用 没有
[]


attr.aria labelledby=“navbarDropdownMenuLink{{{i}”

如果productDetails中的ProductName为null或未定义为

[attr.aria-label]="(typeof productDetails.ProductName !== 'undefined') ? 
'Product details for ' + productDetails.ProductName : '' "

这样JAWS/NVDA/叙述者就可以读取它的值是否存在。

它应该是
[attr.aria label]=“productDetails?.ProductName”
@LucaDeNardi,实际上,您的方式可读性较差,并且您忘记了为…添加静态字符串部分
产品详细信息。我已经为希望最适合自己情况的任何人添加了建议的选择器。@BrunoJoão抱歉,我的意思是您不应该同时使用
[attr.aria label]
{{productDetails}
,因为方括号已经解析了变量。您可以用方括号和花括号写属性,也可以用方括号和花括号写属性。@LucaDeNardi谢谢您让我知道。我已经去掉了括号。@BrunoJoão理想的方法是使用方括号。这并不能回答这个问题。一旦你有足够的钱,你将能够;相反-