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

DMN elements - Scrollable region must have keyboard access #821

Closed
vpellegrino opened this issue Jan 23, 2024 · 14 comments
Closed

DMN elements - Scrollable region must have keyboard access #821

vpellegrino opened this issue Jan 23, 2024 · 14 comments
Labels
a11y bug Something isn't working good first issue Good for newcomers

Comments

@vpellegrino
Copy link
Contributor

vpellegrino commented Jan 23, 2024

Describe the Bug

The hit policy selector and the DMN table are affected by accessibility issue: Scrollable region must have keyboard access.

AXE recommendation:
To solve this problem, you need to fix at least (1) of the following:

  • Element should have focusable content
  • Element should be focusable

image

Steps to Reproduce

  1. Open the DMN editor (for example on the Web Modeler)
  2. Open the hit policy selector
  3. Resize the page so that the internal scrollbar appears on both elements (see screenshot)
  4. Execute the page scan, by using the "axe DevTools" extension

Expected Behavior

No accessibility issue is reported by the axe scan.

Environment

Please complete the following information:

@vpellegrino vpellegrino added the bug Something isn't working label Jan 23, 2024
@nikku nikku added the a11y label Jan 23, 2024
@nikku
Copy link
Member

nikku commented Jan 23, 2024

Thanks for opening this issue. I guess we'll find some more issues related to a11y if we use axe extensively.

@nikku nikku added the ready Ready to be worked on label Jan 23, 2024
@nikku nikku changed the title DMN elements - accessibility issue DMN elements - Scrollable region must have keyboard access. Mar 18, 2024
@nikku nikku changed the title DMN elements - Scrollable region must have keyboard access. DMN elements - Scrollable region must have keyboard access Mar 18, 2024
@nikku nikku assigned nikku and unassigned barmac Mar 18, 2024
@nikku
Copy link
Member

nikku commented Mar 18, 2024

Confirmed this to be an actual issue, cf. recording:

capture 0N9ZMe_optimized


From the spec text: It's goal is to ensure that "Scrollable content can be reached with sequential focus navigation". Under "Assumptions" the spec writes:

This rule assumes that all scrollable elements with visible content need to be keyboard accessible. Scrollable elements that do not need to be keyboard accessible, perhaps because their content is purely decorative, the scroll area is whitespace, or because scroll can be controlled in some other keyboard accessible way such as through a button or custom scrollbar, may fail this rule but still satisfy success criterion 2.1.1 Keyboard.


What we violate:

  • While we are a partial keyboard trap (including ESC) the user cannot tab through the entries to select one.

@barmac
Copy link
Member

barmac commented Mar 18, 2024

The hit policy widget is a Select-only Combobox. There is already keyboard access to the options via arrow keys. We may want to annotate the control better though so that axe understands the its purpose.

@nikku
Copy link
Member

nikku commented Mar 18, 2024

@barmac The point is that nothing can be selected using keyboard right now (using tabbing). This is the bug we need to fix. Alternatively, yes, we can promote arrow keys.

@barmac
Copy link
Member

barmac commented Mar 18, 2024

Not on my machine?

Screen.Recording.2024-03-18.at.10.53.35.mov

@barmac
Copy link
Member

barmac commented Mar 18, 2024

This was tested on https://demo.bpmn.io/dmn

We should NOT scroll to the select options via TAB.

@barmac
Copy link
Member

barmac commented Mar 18, 2024

The only issue I see right now from the keyboard perspective is that TAB out does not close the options.

@nikku
Copy link
Member

nikku commented Mar 18, 2024

My expected behavior:

  • 🅰️ I can tab through the options to select, and ESC closes the widget
  • 🅱️ I cannot tab through the options, use arrow keys only, but then loosing focus shall close the widget.

@barmac
Copy link
Member

barmac commented Mar 18, 2024

🅱️ is what I'd expect

@nikku
Copy link
Member

nikku commented Mar 18, 2024

Verified arrow key (only) navigation on select elements.

@barmac What about turning it into a simple select? Why do we make it a custom component in the first place?

@barmac
Copy link
Member

barmac commented Mar 18, 2024

I am OK with plain HTML experience.

@nikku
Copy link
Member

nikku commented Mar 21, 2024

I'm de-prioritizing this item and adding to our a11y list.

@nikku nikku removed their assignment Mar 22, 2024
@nikku nikku added backlog Queued in backlog good first issue Good for newcomers and removed ready Ready to be worked on labels Mar 22, 2024
barmac added a commit that referenced this issue Apr 5, 2024
@bpmn-io-tasks bpmn-io-tasks bot added needs review Review pending and removed backlog Queued in backlog labels Apr 5, 2024
barmac added a commit that referenced this issue Apr 5, 2024
barmac added a commit that referenced this issue Apr 5, 2024
barmac added a commit that referenced this issue Apr 5, 2024
@barmac
Copy link
Member

barmac commented Apr 5, 2024

Fixed via #843

@barmac barmac closed this as completed Apr 5, 2024
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Apr 5, 2024
@nikku
Copy link
Member

nikku commented Apr 8, 2024

Fixed via 6825860.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a11y bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants