如何在d3.js sunburst图表中的节点上设置初始.focus()?

时间:2016-02-02 00:31:19

标签: javascript d3.js accessibility nvd3.js section508

我致力于使this sunburst chart可访问/ 508兼容。有没有人知道我怎么说,中心圆圈使用.focus()调用进行默认焦点?这样,每当图表与限制在键盘导航的用户进行交互时,起点总是突出显示中心圆?

我对辅助功能标准很新。但我想要完成的是双边键盘导航。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:2)

原则上,实现此目的的最简单方法是在根元素上设置ID并选择它(例如使用document.getElementById()),然后在其上调用.focus()

当您使用像NVD3这样的库时,它并没有真正为您提供这种灵活性,但对于根元素而言,它仍然很容易让它起作用。森伯斯特由一组path元素组成,第一个元素代表根。所以你需要做的就是选择容器的第一个path子元素,获取DOM节点并调用.focus()

d3.select(".nv-sunburst").select("path").node().focus();