unovis icon indicating copy to clipboard operation
unovis copied to clipboard

Accessibility: Automatic chart description generation

Open rokotyan opened this issue 2 years ago • 2 comments

Currently, the charts in Unovis, including network graphs and maps, lack some of the accessibility features to make them usable by all, including those with visual impairments or other disabilities.

To fill these gaps, we would like to implement an automatic accessibility description generation mechanism for all charts in Unovis. This feature should:

  1. Automatically generate detailed textual descriptions of the charts' content.
  2. Provide context-aware summaries for quick understanding.
  3. Cover all chart types in Unovis, including but not limited to, bar charts, line charts, pie charts, scatter plots, network graphs, and maps.
  4. Integrate with screen readers for a seamless user experience for visually impaired users.

Acceptance Criteria:

  1. A visually impaired user should be able to understand the main content and details of the chart through the generated descriptions.
  2. The generated description should change dynamically as the chart's data or configuration changes.
  3. There should be an option for users to toggle the feature on/off according to their preference.
  4. The feature should be tested across multiple screen readers to ensure compatibility.

rokotyan avatar Aug 21 '23 23:08 rokotyan

LLMs might be really good at this. Here's example output from ChatGPT where I just pasted this image and said "Please describe this chart". Is this sort of text what you had in mind for this feature? It would be useful to have some examples of "good" chart descriptions for a handful of example charts.

image

Output from GPT4o

This chart depicts U.S. recorded music revenues by format from around 1973 to 2019. The formats represented are:

  • Vinyl (blue)
  • Cassette (red)
  • CD (orange)
  • Download (green)
  • Streaming (aqua)

The x-axis represents the years from approximately 1973 to 2019. The y-axis represents the revenue in a stacked bar format, with different colors indicating the contribution of each format to the total revenue for each year.

Key observations:

  • Vinyl (blue) was a significant source of revenue in the early years but declined steadily after the early 1980s.
  • Cassette (red) saw growth from the mid-1970s, peaking in the 1980s, and then declining through the 1990s.
  • CD (orange) began to rise in the mid-1980s, becoming the dominant format through the 1990s and early 2000s before declining sharply after the mid-2000s.
  • Downloads (green) started contributing around the early 2000s, showing significant growth until around 2013, after which it began to decline.
  • Streaming (aqua) appeared in the mid-2000s and has been growing rapidly, becoming the largest source of revenue in the most recent years shown.

The chart highlights the shifting landscape of music consumption over time, from physical formats like vinyl, cassette, and CD, to digital formats such as downloads and streaming.

curran avatar Jul 24 '24 21:07 curran

@curran Thanks for sharing your thoughts, I love the idea and have actually thought about it too. I'm not sure how scalable it is for a library though (considering that we need to make users add their LLM API keys to use the feature).

I would like to see a dedicated package that could do this for any graphics on the webpage. May be a good idea for a new open source project :)

rokotyan avatar Jul 27 '24 00:07 rokotyan