我试图制作一个Angular应用程序(使用D3.js)Web Accessible。
目标:当用户呼叫特定图表(在本例中为旭日)时,图表会展开到视图中。我的目的是在图表的特定元素上创建默认焦点,这样一旦用户调用/选择图表,图表就会自动获得焦点。
问题:一旦我将旭日形图扩展到视图中,Tabbing顺序就从页面的开头重置(没有页面加载作为单页面应用程序)。然后用户必须通过整个页面TAB导航到旭日形图。 我已经将中心节点设置为具有 Tabindex:0 的属性。 所以现在可以通过键盘导航(标签)访问中心节点。
var defaultNode = d3.select(sunburstChartdetail").select("path").attr("tabindex", 0);
我试过了:
defaultNode.focus();
但是我收到了一个控制台错误,表明他正在关注'不是一个功能
注意:遗憾的是,由于NDA原因,我无法发布代码。
答案 0 :(得分:1)
要关注元素,您需要获得对底层DOM元素的引用:
d3.select("foobar").node().focus()
或者在你的情况下:
defaultNode.node().focus()