如何将动态数据绑定到 aria-label?
How to bind dynamic data to aria-label?
我有动态文本要绑定到 HTML 页面上的 aria-label
。
这是一个 Angular 2 应用程序。我正在使用这样的东西:
aria-label="Product details for {{productDetails?.ProductName}}"
但是我得到一个错误:
Can't bind to 'aria-label' since it isn't a known property of 'div'.
有什么解决方法吗?
只需在 aria-label 前使用 attr.
:
attr.aria-label="Product details for {{productDetails?.ProductName}}"
或
[attr.aria-label]="'Product details for ' + productDetails?.ProductName"
Ps。正如@Simon_Weaver 提到的,有一些组件实现了自己的 aria-label @Input
,例如 mat-select
。
在这里查看他的回答
您应该在目标周围使用方括号 ([ ]
) 属性:
[attr.aria-label]="'Product details for' + productDetails?.ProductName"
这对我有用
没有 []
.
attr.aria-labelledby="navbarDropdownMenuLink{{ i }}"
还可以进一步检查 productDetails 中的 ProductName 是否为空或未定义为
[attr.aria-label]="(typeof productDetails.ProductName !== 'undefined') ?
'Product details for ' + productDetails.ProductName : '' "
这样 JAWS/NVDA/Narrator 就可以读取它的值是否存在..
我有动态文本要绑定到 HTML 页面上的 aria-label
。
这是一个 Angular 2 应用程序。我正在使用这样的东西:
aria-label="Product details for {{productDetails?.ProductName}}"
但是我得到一个错误:
Can't bind to 'aria-label' since it isn't a known property of 'div'.
有什么解决方法吗?
只需在 aria-label 前使用 attr.
:
attr.aria-label="Product details for {{productDetails?.ProductName}}"
或
[attr.aria-label]="'Product details for ' + productDetails?.ProductName"
Ps。正如@Simon_Weaver 提到的,有一些组件实现了自己的 aria-label @Input
,例如 mat-select
。
在这里查看他的回答
您应该在目标周围使用方括号 ([ ]
) 属性:
[attr.aria-label]="'Product details for' + productDetails?.ProductName"
这对我有用
没有 []
.
attr.aria-labelledby="navbarDropdownMenuLink{{ i }}"
还可以进一步检查 productDetails 中的 ProductName 是否为空或未定义为
[attr.aria-label]="(typeof productDetails.ProductName !== 'undefined') ?
'Product details for ' + productDetails.ProductName : '' "
这样 JAWS/NVDA/Narrator 就可以读取它的值是否存在..