Html aria标签引用的id不是';在DOM中不存在(尚未)

Html aria标签引用的id不是';在DOM中不存在(尚未),html,accessibility,wai-aria,Html,Accessibility,Wai Aria,我希望使用aria labelledby提供有关表单输入的可访问性信息。此属性接受一个id列表(空格分隔),该列表自然包含表单输入的“for”标签元素的id。但是,我还希望为以后可能动态添加到表单中的元素包含一个或多个附加ID 当我使用标记运行审计时,它会通知我“ARIA状态和属性值必须有效”。如果我在添加id为nothing的元素后重新运行审计,则测试通过 我的问题是如果屏幕阅读器遇到一个指向DOM中当前没有任何元素的id,他们会呕吐吗?我不太关心审计结果(他们是来帮助我的,但最终不是我的客户

我希望使用aria labelledby提供有关表单输入的可访问性信息。此属性接受一个id列表(空格分隔),该列表自然包含表单输入的“for”标签元素的id。但是,我还希望为以后可能动态添加到表单中的元素包含一个或多个附加ID

当我使用标记运行审计时,它会通知我“ARIA状态和属性值必须有效”。如果我在添加id为nothing的元素后重新运行审计,则测试通过

我的问题是如果屏幕阅读器遇到一个指向DOM中当前没有任何元素的id,他们会呕吐吗?我不太关心审计结果(他们是来帮助我的,但最终不是我的客户)


*我主要想知道我是否可以在其中填充我知道以后可能会出现的ID,或者我是否应该在添加和删除我想要引用的元素时更新属性的值。

屏幕阅读器不会“呕吐”,但用户的体验可能会很奇怪。这是重要的问题,对吗?您可以使用VoiceOver(MacOS附带)或(Windows免费)自己查看这些属性。

这些属性的目的是帮助用户并使页面更易于访问,因此使用它们来引用不存在的元素是不可取的。如果使用该属性,它将用于以对用户重要的方式引用元素,因此当然可能会有问题——即使辅助软件或浏览器以最佳方式处理错误

它在形式上也是不正确的,因为属性已声明为包含
id
属性值,并且当
id
属性不存在时,字符串不能是这样的值


因此,只要让脚本在添加属性值后立即修改属性值,使其包含
id
属性值,但不要过早。

顺便说一句,我希望可以先将它们放在那里。我正在使用的添加和删除相关元素的库不支持在发生这种情况时回调,因此这将是一个难题:(我写这段代码已经有一段时间了,但是IIRC我确实找到了如何连接元素的添加/删除,所以我想我走了这条路线,并在添加/删除元素时更新了id列表。你知道一个特别的奇怪之处吗?如果我指定'idA idB'并且idB不存在,它会读idA然后说一些ind吗我觉得它找不到idB,或者只是停一下?我想我需要咬紧牙关,学习使用NVDA:)谢谢你给我指出这一点。很高兴知道有一个免费的阅读器可用。我做屏幕阅读器测试已经几个月了,所以我现在没有答案。