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

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

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

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

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

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