Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[en] Developing a Keyboard Interface - More information about charts and interactive graphics - Feedback from APG List #3154

Open
lolaodelola opened this issue Oct 22, 2024 · 1 comment
Labels
Feedback Issue raised by or for collecting input from people outside APG task force Practice Page Related to a page within the practices section of the APG question Issue asking a question

Comments

@lolaodelola
Copy link

"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:

  1. 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.

  2. 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"

@mcking65 mcking65 added question Issue asking a question Feedback Issue raised by or for collecting input from people outside APG task force Practice Page Related to a page within the practices section of the APG labels Nov 19, 2024
@jugglinmike
Copy link
Contributor

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

https://www.highcharts.com/docs/accessibility/accessibility-module

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

https://charts.carbondesignsystem.com/introduction

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback Issue raised by or for collecting input from people outside APG task force Practice Page Related to a page within the practices section of the APG question Issue asking a question
Projects
None yet
Development

No branches or pull requests

3 participants