动态生成的 aria-describedby 值是否仍然可以访问?

Are dynamically generated aria-describedby values still accessible?

我 运行 在我的网站上进行自动辅助功能测试,发现使用 Zurb Foundation's tooltip (v6.2.3) 的工具提示元素出现错误。

该问题被标记为“此元素具有包含一个或多个无效 ID 的 aria-describedby 属性值。”据我所知,div 它所描述的确实有一个有效的 ID,但由于它是由 JavaScript 生成的,也许这就是导致问题的原因?

代码在我的编辑器中如下所示:

<span data-tooltip aria-haspopup="true" class="has-tip" title="I'm on bottom and the default position.">"tip-bottom"</span><br>

在渲染时,Foundation 的 JavaScript 将其更改为:

<span data-tooltip="77rhf0-tooltip" aria-haspopup="true" class="has-tip" title="" aria-describedby="vd07t8-tooltip" data-yeti-box="vd07t8-tooltip" data-toggle="vd07t8-tooltip" data-resize="vd07t8-tooltip">"tip-bottom"</span>

Foundation的JavaScript也在文档底部生成:

<div class="tooltip" role="tooltip" aria-hidden="true" data-is-active="false" data-is-focus="false" id="vd07t8-tooltip" style="display: none; top: 421.812px; left: 410.766px; opacity: 1;">I'm on bottom and the default position.</div>

工具提示的 ID 是随机生成的。

来自 zurb 的 JS 工具提示,它使用插件创建 ID 名称:

var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');

据我所知,这是一个有效的 ID,应该可以正常使用。我假设如果我的测试工具无法获取 ID,辅助技术也会 运行 成为问题。

我的问题是:可以保留原样吗,还是这里确实存在会导致辅助技术出现问题的错误?

我对使用 ARIA 属性还很陌生,如果这个问题令人困惑或措辞不当,我们深表歉意。谢谢!

My question is: would this OK to leave as is, or is there genuinely an error here that would cause an issue with assistive technology?

您的 aria-describedby 添加了 javascript,div 也是如此。屏幕阅读器读取生成的 DOM。所以一切正常。

如果您指出了您使用的是哪个工具,那将会有所帮助,因为错误可能是该工具由于其隐藏状态而无法检索 div,但这不是问题屏幕阅读器的观点。请注意,aria-hidden=true 没有任何区别。