【发布时间】:2020-10-13 19:34:08
【问题描述】:
我有一个带有隐藏标签的按钮的用例(模式对话框),该标签使用图标作为其内容。它与示例 1 中的 described here 的用例基本相同:
<button aria-label="Close" onClick={() => doSomething()}><svg>...</svg></button>
(我只有一个 SVG 元素作为按钮的子元素,而不是文本“X”。)
当我执行这个查询时:
screen.getByRole('button', { name: 'Close' });
未找到该按钮。调试输出告诉我这个按钮的名字是“”。然而documentation 声明,“您可以通过其可访问名称查询返回的元素。可访问名称用于简单的情况,例如表单元素的标签或按钮的文本内容,或 aria-label 属性的值。” (强调我的)
我发现this example 也支持我的用例。
那么为什么getByRole('button', {name: 'Close'})——或者更简单的getByLabelText('Close')——找不到这个按钮元素呢?
【问题讨论】:
标签: javascript button wai-aria