[en] Developing a Keyboard Interface - More information about charts and interactive graphics - Feedback from APG List
"Hi everyone,
My name is Abhinav Srinivasan and I work in the Graphics Interactions team at The MathWorks, the company that makes MATLAB.
Over the past few years I've been incorporating keyboard navigation and interactions to our various graphs and charts wherever it makes sense. I have found these ARIA Authoring Practices Guides invaluable in such cases - thank you! However, there are times when I find the broad principles described in them slightly insufficient, especially because interactive graphics and visualizations seems to warrant special attention that is not covered by the overall guidelines.
Here are some questions I have:
-
What kind of patterns exist for interactions on a visualization? For example, the Button patternhttps://www.w3.org/WAI/ARIA/apg/patterns/button/ clearly specifies the keyboard interactions that must be followed (i.e. Space and Enter activate the button). However, how should one reason on what kinds of keys map best to interactions like pan, zoom, rotate, and adding/moving/removing datatips? How about complex interactions like data brushing and manipulation? There's not much by way of pattern that one can follow here.
-
What is considered best practice on which graphical elements must receive focus? Typically I'd argue that only graphics elements that have keyboard interactions must receive focus. But I have heard arguments that giving focus even in the absence of keyboard interactions is useful for screen-reader support. However, for someone not using a screen-reader, who does rely on a keyboard interface, would the fact that both keyboard interactive and non-keyboard-interactive elements receiving focus be confusing?
These are just a couple of questions I have. I have a few more along these lines. I fully understand that not all of these questions may have clear cut answers. So I'm willing to participate and volunteer in any way that would be helpful for developing a more robust set of guidelines and patterns specifically focused on these kinds of problems pertaining to keyboard interactions in interactive graphics.
Please let me know if you have answers to any of the questions above. Also let me know how I can help. I look forward to hearing back from you soon.
Thanks"
The ARIA Authoring Practices Task Force discussed this issue during today's meeting.
The full IRC log of that discussion
Matt_King: This issue was originally reported to the mailing list
Matt_King: The first question, "what kind of patterns exist that are related to visualizations?"
Matt_King: I think the answer to that is, essentially, "there are none."
Matt_King: There's also a question about which things should be focusable
Matt_King: The only thing that I've seen out there that's reusable and that I have experience with is Highcharts
Matt_King: I won't comment on my personal opinions regarding that library
Matt_King: I don't know if we want to dive into this space with the APG
Matt_King: I don't know if we can make effective guidance here given our current capabilities. It would not be straightforward--it would take a lot of effort.
Matt_King: Can we answer these questions directly, or do we just feel it's out of scope for APG, or does anyone in the Task Force feel inspired to take this on?
jongund: I think we would need a group of experts (including, for example, someone from Highcharts) to gather perspectives...
jongund: Does anyone know of other experts in the field of accessible visualizations
CurtBellew: We have a ton of experts like that at Oracle
CurtBellew: Their accessibility techniques have varying levels of success
CurtBellew: Moving from one node to another (for example) involves a lot of keyboard knowledge
siri: Is their work publicly available?
CurtBellew: Sure. If you search for "Jet" in Oracles public library, you'll find a ton of visualization components that demonstrate some of these strategies
Matt_King: The reporter talks about pan, zoom, rotate, adding data points, removing data points, etc. Do your patterns address those sorts of things?
CurtBellew: I don't know about some of the distinctions there (e.g. pan versus zoom), but I think the patterns might address some
CurtBellew: Similarly, I don't really know about "drilling down." I can't think of any examples where we do something like that. Though to be fair, there are a ton of components and only one of me.
Matt_King: Do you use roles in the components? I mean, beyond the "application" role at the highest level?
CurtBellew: Yes, we do. It all depends on the application--how it's built and what's included
CurtBellew: Typically, anywhere you want to include some kind of a label, we'll have an ARIA role
CurtBellew: I'm not familiar with Highcharts, so I don't know what to compare it to
Matt_King: In Highcharts, to that are labels and descriptions. I don't always agree with their design decisions, though I generally recognize why they made them
Matt_King: I imagine they consider landmark regions the best-supported way of annotation. I just don't like how many regions that creates
jongund: I would be willing to organize a kind of task force meeting in early 2025. I know a contributor to Highcharts, and it sounds like CurtBellew might be interested in joining, too
Matt_King: We touched on this at TPAC this year. James N was trying to corral interested parties. He might appreciate your assistance in that effort, jongund
Matt_King: It's not clear what we're trying to deliver, yet. Is it something for ARIA? Something for APG? Something entirely separate?
Matt_King: Here at APG, it might end up looking like a practice page similar to what we're working on for "high contrast."
Matt_King: Right now, I think it's about getting enough people together with the interest and finding enough time to figure out some kind of deliverable.
Matt_King: I don't know if there's consensus around whether ARIA itself needs new features to address this
Matt_King: For the purpose of this specific issue, it seems like we don't have answers for the content. The APG just doesn't address these questions right now, and I think that this is an area where we would like to be able to provide some guidance, but we don't have the guidance to provide right now.
Matt_King: I don't think there's anything more we can say at the present moment
Matt_King: It is useful to provide a link to the Oracle components, perhaps CurtBellew can provide that in the issue
<CurtBellew> https://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=home&demo=rootVisualizations
Matt_King: And maybe also a link to Highcharts
Matt_King: Between the two of those, that's potentially some help for the reporter
arigilmore: Carbon charts also does some work in this direction. I'll share a link there, as well
CurtBellew: Please keep me in the loop, jongund!
jongund: Sure. My role will just be bringing experts together
jongund: We'll want to collect what people have done at this point and understand the commonalities and differences. That might inform a future extension to the APG