Plotting + Accessibility

I am wondering if any Julia users who are producing plots, dashboards, or similar products are required to meet accessibility standards (either set by their organization or broader regulatory body)? By accessibility, I mean that the plot is interpreted by screen readers for people with differing visual capabilities. If anyone has successfully accomplished this I would be interested in hearing about your approach and packages used to accomplish this. My experience has been that screen readers (tested with NVDA) cannot detect the default output of several plotting packages. I’ve tried GR, plotly, Echarts, Gaston. I think one ideal behavior would be that cursor hovering over an object can read/detect the aggregated amount and also detect text within the plot.

7 Likes

It’s a great idea, and a really important point. There’s been a little bit of debate about e.g. color-blind friendly colors on Plots https://github.com/JuliaPlots/Plots.jl/issues/1144 but definitely an area where a lot could be done.

3 Likes

I am a bit colorblind and in one of the meetings I raised it and someone else said sarcastically “why don’t we put in braille as well?”. It hurt me a lot. People don’t realize how excluded people can feel when they say “green line” on the chart and colorblind people just see two lines of the same color (green and red presumably) and so can’t follow what they are saying and can’t voice their concerns as others can see it.

I am definitely for more inclusive. But I also recognize that there is more works. An awareness of color palette choice and design for colorblindness should be more widely taught.

6 Likes

I know the original post was ambitious way beyond color-blindness so it shouldn’t steal the discussion, but I’ll just mention that the base Julia library Colors.jl has some good facilities for simulating color-blindness effects (https://github.com/JuliaGraphics/Colors.jl#simulation-of-color-deficiency-color-blindness)

3 Likes

I believe ECharts.js v4.x has started to incorporate accessibility, but I haven’t migrated to that major version yet (I’m still at 3.8.5)

1 Like

As it turns out, echarts4 is backwards compatible to echarts3, so I’m switching over now:

https://github.com/randyzwitch/ECharts.jl/pull/36

@sdmcallister if this is something you are really interested in, I’d love to collaborate. I get the concept, but have no idea about how to test for accessibility. If you (or anyone else) are interested, feel free to open an issue on the ECharts.jl repo and we can figure out how to get started.

2 Likes

While there is more to it than the color, I think fixing red-green color blindness goes a long way; 1/12 of males have that feature, including one of my ex-clients. In R I handled it with scale_color_brewer() which recognizes this implicitly. It looks like Colors.jl is on its way to handling this too. Palettes generated there would be usable in any of the charting packages.

When doing plots for papers, I always go B&W (or at most 2 additional grays, but that’s pushing it), and distinguish plots by patterns (solid, dashed, or various mark sizes). This is because most people who don’t read on the screen would use monochrome laser printers by default, making colors print outs in some monochrome mapping, which is worse than useless.

This is supported by all plotting packages I encountered in Julia, but I know this does not address all accessibility issues.

1 Like

@randyzwitch Sure, I would be happy to help out with the testing.

https://github.com/randyzwitch/ECharts.jl/issues/38