javascript - 如何在浏览器中的 javascript 中获取元素的可访问名称?

标签 javascript cross-browser wai-aria

accessible name computation 17 subcases for HTML 看起来很复杂。如何在浏览器中的 javascript 中获取元素的可访问名称?

最佳答案

对于你的问题来说可能还早了几年。目前正在开发与文档对象模型 (DOM) 类似的可访问性对象模型 (AOM)。完成后,它将允许您从 javascript 查询可访问的名称。

请注意,您的“17 个子案例”都只是可访问名称计算规则的重述。我不知道为什么 W3C 有这个页面。例如, <input type="text"> 的第一个要点是:

  1. 如果控件具有 aria-label 或 aria-labelledby 属性,则将使用可访问名称和说明:计算和 API 映射中定义的算法来计算可访问名称。
  2. 否则,如果关联了多个标签,则使用关联的标签元素或元素可访问的名称;按 DOM 顺序连接,以空格分隔。
  3. 如果可访问名称仍然为空,则:使用控件的 title 属性。

第 1 点与 https://www.w3.org/TR/accname-1.1/#step2 中的步骤 2B 和 2C 相同

第 2 点与步骤 2D 相同

第 3 点与步骤 2I 相同

也许 17 个子情况比实际可访问的名称计算更容易阅读/理解?没有把握。但他们说的是同样的话。

每个浏览器都会计算可访问的名称,因此您确实需要在浏览器中使用 API 来获取可访问的名称。

关于javascript - 如何在浏览器中的 javascript 中获取元素的可访问名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76940359/

相关文章:

javascript - IE10 开发工具如何报告兼容性 View ?

javascript - 是否可以将匿名函数标记为 "Live Code"以便 Closure Compiler 不删除它?

javascript - 有没有跨浏览器的方法来使用 Javascript 关闭 cookie?

html - 在 Internet Explorer 中将一个元素垂直居中于另一个元素中

html - 如何为某些 HTML 页面部分的屏幕阅读器设置优先级?

javascript - 使用模数按字母顺序对列表进行排序

javascript - 如何从 vue.js 上的数据调用方法?

css - 专门针对 IE 10 使用 css?

html - 为什么 NVDA 读者无法读取我的 jquery.html() 和 jquery.append() 代码?

jquery - 我对 jquery、aria-disabled 和 :disabled selector? 缺少什么