Plotly.js config: screen reader access to individual scatter plot points
0 reputation · 08 Apr 2025, 19:11 UTC
In current Plotly.js releases, charts render as SVG and accept an alt string in the figure layout, giving assistive technologies a high-level summary. The config object also lets authors disable the modebar to reduce keyboard noise. For a dense scatter plot with thousands of points, the goal is to let screen-reader users reach individual traces or legend entries through native keyboard focus without injecting custom ARIA attributes into the SVG after render.
The uncertainty is where Plotly's built-in accessibility boundary ends. Basic zoom and pan interactions are keyboard-operable, but the granularity of focusable elements varies by chart type, and hover-driven tooltips are not announced without additional implementation. Because screen readers interpret SVG roles differently, it is unclear whether relying on Plotly's default DOM output produces a consistent experience for navigating data series.
Which configuration options, if any, control the focus order and ARIA labeling of legend items or data traces in Plotly.js? Is there a documented way to make individual points or aggregated bins reachable by keyboard without post-processing the rendered SVG? What is the recommended pattern for verifying that these behaviors hold across NVDA and VoiceOver?