Closed tavishiChat closed 5 years ago
Unfortunately, to my knowledge it's impossible to focus individual elements in a SVG with the tabIndex
attribute, so I don't think there's an out-of-the-box solution for this.
However, you can add the tabIndex=0
attribute on your SVG to have it capture keyboard events once the graphic is focused, and from there keep your graphics' state (i.e. the currently selected object) yourself: whenever the user presses the Tab key, cycle through all your elements in order.
Thanks for the bump, it gave me the chance to review my comment from a year ago — and I have no idea what the circumstances were for me to say that: had I tried a demo and it didn't work? possibly tripped over by OS-level / browser-level settings for which kinds of elements to Tab-cycle?
In any case, tabindex
should work inside SVGs and can be the basis of enabling keyboard navigation.
Closing this as I have no idea how (or if) it’s possible for D3 to improve accessibility automatically. If there are things I can do to help, please teach me how.
To improve Accessibility, if you can get to know that a D3 API consumer is placing a click event on an svg element, you can default to assigning role="button" and tabindex="0" to that element out-of-the-box.
Also there has to be way to provide a textual label to these clickable elements. I'm not D3 user. But with my client already having implemented D3.js, from Accessibility standpoint, I would certainly look forward to have such aspects in D3.
Hi I am using d3 js for plotting a network topology to show the connected devices. The information of the devices is currently displayed as a tooltip on mouse hover.
Can this be accessible using keyboard. Can user hover over the device using keyboard and view the information?