Html 如何将动态数据绑定到aria标签?
我有动态文本要绑定到HTML页面上的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
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理想的方法是使用方括号。这并不能回答这个问题。一旦你有足够的钱,你将能够;相反-