RE: ARIA roles for charts

I'll have to see if there's a JavaScript sonification library that you can use. Tone.js immediately comes to mind. A Google search on "javascript sonification library" brought up lots of promising results, so I'd start there.

As for the lack of interactivity, I'm not so sure about the concerns here? I think when implemented incorrectly, they are hard/frustrating to use, but that's because they may be implemented incorrectly. I hesitate to claim that interactive regions are hard to use, as that seems like 10 logical steps too far, and is a position I definitely disagree with.

Same for tables, wen accessibly done, they are fine, especially for tabular data. Let's not let misconceptions around "tables are bad" or "tables are inaccessible" get in the way of reality, which is that accessible tables are exactly that, accessible.

When you say certain aria-labels get brailled out and others don't, we'd need examples to help debug that, of course. The discussion around braille labels being separate is here:
https://github.com/w3c/aria/pull/924

Oh, for the SVG stuff, SVGDraw comes to mind as a way of generating SVG from simpler markup or from within a GUI application.

let me know if I missed anything.

Take care,
Sina
President, Prime Access Consulting, Inc.
Phone: 919-345-3832
https://www.PAC.bz
Twitter: @SinaBahram
Personal Website: https://www.sinabahram.com

-----Original Message-----
From: Christopher-A. Kopel <kopel@student.tugraz.at> 
Sent: Thursday, November 7, 2019 8:54 AM
To: public-svga11y@w3.org
Subject: Re: ARIA roles for charts

Hello Sina!

Thank you very much for your quick answer and all the input! -- Honestly 
speaking, it would have been even more helpful a year ago when I was 
searching a concrete topic for my thesis and started my thread here... 
Now I've already spent a lot of time on this project, and my parents and 
my future employer won't stop asking me when I'll finally be done with 
all that stuff... ;-) In other words: I'd love to do all the things you 
suggest, but I'm afraid I don't have the time for that left, at least 
not at the moment... The good news is that my tool will, of course, be 
open source, and I'm doing my best to design it in a modular way so that 
it can be extended by more features quite easily. I hope it will keep on 
growing and maturing after I have graduated and, eventualy, become 
something like what you (and I) imagine.

On the other hand, I think my summary of what I'm doing was a bit 
misleading, so let me briefly describe it in a bit more detail: Once you 
encounter an SVG image on a web page and you press Enter or Space on it, 
a modal dialogue opens showing all the useful things the tool can find 
inside the SVG: First, the titles of the image, charts, and/or data 
series, and for each axis and legend its title and range. Then you can 
open one or more data series and for each series you get a list of the 
contained data points with label and value which you can also sort by 
value in increasing or decreasing order. I do include statistics for all 
data series and comparisons of any data point as well to these 
statistics as to other data points in the same and in other data series. 
Of course, it shall be possible to quickly navigate not only within one 
data series but also across data series, say, among all data points for 
the same x-label. -- As my girlfriend and me are blind as well (and she 
has no scientific background), I know well how difficult it can be to 
get "the message" of data visualisations and that just presenting them 
in a textual way is by far not enough. I'd also like to have 
sonification; my prof doesn't want to focus on that though, but if you 
can recommend any good lib for that, this would surely help me to 
include this feature without spending too much time on it.

Descriptions of the chart, that is, of the data trends, is of course the 
most challenging issue. I'm not quite sure yet what an algorithm could 
look like which produces an understandable description of the trend for, 
say, many data points with many small rises and falls. -- Which to 
include, which to ignore, where to make abstractions...? -- In this 
context, thanks for pointing me to the new iOS 13 features. I've so far 
not used the apps supporting data comprehension, but I'm curious to see 
their approach to the problem.

As to the input for my tool: My prof has engaged another master's 
student whom he wants to develop a command line tool that generates 
accessible SVG charts from CSV data. My prof wishes that, as a first 
step, my tool be able to read the charts produced by this CLI tool, and 
he asked me to propose a markup system as a basis for both tools -- the 
generator and the reader. So, in theory I would be free to write down 
any arbitrary taxonomy that I regard as logical and useful, but I guess 
that would be no sustainable idea. -- Which leads to my initial question.

Now picking up your message...

Am 04.11.2019 um 19:33 schrieb Sina Bahram:
> The use case I imagine involves going to a page, encountering a chart, and having it behave much like MathML solutions do, which is to say an interactable region one can enter/exit out of, but within which there exists a rich set of affordances.

This is a first question: Many solutions I saw (incl. Describler, the 
output of Highcharts, and that of FusionCharts) represent charts as such 
an interactive region. But I have the impression that this does not yet 
work quite stable with screen readers, and in case of interactivity 
provided by the chart's author, this could interfere with the navigation 
commands of my tool. So I decided on a separate HTML-only UI which 
should be recognised appropriately by all screen readers and browsers, 
also the older versions. Moreover, this lets the user choose between 
navigating the data in forms/application/focus mode or by the virtual 
cursor / browse mode, though the latter with a restricted set of 
possible special navigation key commands. -- But if you know a better 
solution, I'm happy to know it!

> An HTML representation such as a table or grid could also easily be provided as a trivial runtime transformation, which would help in exploring the dataset, especially for screen reader users (just don't confuse exploration with comprehension).

Of course, I also thought about that, but I'm not sure if this really 
makes sence, as I know from many friends and from myself that even 
ordinary HTML tables don't belong to our favourites, despite the special 
navigation commands provided by JAWS and NVDA.

> Additionally, if this work is combined with some of the exciting stuff around braille version of role/label information, then one can have a concise braille interpretation too.

What exactly do you mean by that? From the beginning I tried to design 
my tool not only with speech but also with braille output in mind, but 
it seems to me that some ARIA labels are only spoken and not sent to the 
braille display.

> Note , some of the above is done currently by SAS's Graphics Accelerator Chrome extension. It would be great to have a fully free and open source alternative to that pipeline.

I also read about SAS Graphics Accelerator. I agree. Did you try this?

> The above only scratches the surface. For this to be actually useful, in my opinion, it would need to then be integrated into C3/D3 libraries, etc.,

Right. As far as I know, with D3 this might be very complicated as this 
is still quite low-level drawing and has no means to specify any 
semantics, but with all the more high-level charting libraries it should 
be possible.

> So, now to discuss roles. Do you have an enumeration of the various data visualizations you wish for the proposed set of roles to work for? Concepts such as points, bars, axis, start/end positions, areas in graphs (imagine a shaded region), percentages of the whole (totally seems like posinset  could be extended to deal with percentages), summaries, representation concepts like zoom, and maybe steppings for various iterative navigation all come to mind, but that's hardly exhaustive.

Again, I think I can't create the ultimate solution for all possible 
chart types at once... -- For now, we decided to focus on charts 
representing tabular data, i.e., pie, bar, and line charts, scatter 
plots, similarity maps, parallel coordinates charts, and star plots. I 
guess with a proper, consistent ARIA markup, it should be possible to 
parse and non-visually represent all these types in a similar way (I 
claim, as we don't really benefit from the visual effect, to the vast 
majority of blind users it might not really matter how exactly the data 
is presented visually; maybe too much information on this might be even 
confusing, at least to my girlfriend and me). Anyway, only after 
developing a stable solution for these types of charts, we might move on 
to something like flow charts and hierarchy visualisations, but I think 
not as part of my thesis anymore... -- So I guess what we essentially 
need for the first step is a system to identify
- the chart itself incl. title and an optional summary by the author
- axes, axis titles, axis variables, axis labels, and axis types 
(continuous vs. discrete)
- legends, legend titles, and legend labels
- data series, their titles, and optional summaries by the author
- data points with their corresponding labels and values

Percentages and start/end positions could be derived from this.

> Since you're a masters student, if you'll permit me to suggest to you some reading in this space, I would make sure you are abundantly familiar with the great work that has come out of Bruce Walker's lab at Georgia Tech. Just go read the last 10 years of papers there. From point estimation to using abbreviated phonemes for greater speech fluidity/efficiency to all sorts of sonification-related explorations, there's good stuff there. Also make sure the ICAD conference is on your radar if sonification is at all of interest. If not, then just treat it as a black box, but include it, even if you don't wish to innovate in that space, which is totally reasonable given that you wish to concentrate on these other aspects. There's tons of other papers that could be of use (the Assets conference of course), but it would be good to know where you wish to concentrate, and presumably where your prof wishes you to concentrate, before I suggest more.

Thank you for these hints as well! Walker and some other papers from the 
Assets conference are definitely in my bibliography.

I hope, now you have a better idea of what I'm intending and able to do. 
Thank you for offering your help!

And from my part, too, my appologies if this conversation is beyond the 
scope of this list!

Cheers,

Chris

  *** Message from: ***

Christopher-Alexander Kopel, BSc
E-Mail kopel@student.TUGraz.at

Received on Monday, 11 November 2019 18:43:20 UTC