bpmn-io / dmn-js

View and edit DMN diagrams in the browser.
https://bpmn.io/toolkit/dmn-js/
Other
295 stars 137 forks source link

feat: decision table context menu keyboard navigation #891

Closed jarekdanielak closed 2 months ago

jarekdanielak commented 2 months ago

Proposed Changes

Closes https://github.com/bpmn-io/dmn-js/issues/848

Context menu support for keyboard navigation.

https://github.com/user-attachments/assets/f98c6c00-b610-4fc1-9432-8b85260e0998

### Checklist To ensure you provided everything we need to look at your PR: * [X] **Brief textual description** of the changes present * [X] **Visual demo** attached * [ ] **Steps to try out** present, i.e. [using the `@bpmn-io/sr` tool](https://github.com/bpmn-io/sr) * [X] Related issue linked via `Closes {LINK_TO_ISSUE}` or `Related to {LINK_TO_ISSUE}`
barmac commented 2 months ago

While the key navigation works fine, Voice Over does not announce the active element. We need some ARIA attributes to make it work.

Screenshot 2024-08-06 at 17 07 31

barmac commented 2 months ago

This could be helpful: https://www.w3.org/WAI/ARIA/apg/patterns/menubar/ I'd consider to implement focus wrapping, i.e. arrow down on the last item should focus the first item.

jarekdanielak commented 2 months ago

@barmac ready for review.

barmac commented 2 months ago

@philippfromme perhaps you could have a look independently? So that the solutions meets the expectations of two different platforms users.

barmac commented 2 months ago

Technically, we target features at develop, and fixes at main.

barmac commented 2 months ago

I don't quite get it why capslock+left/right from voiceover does not move the focus, but I guess we have to live with it. I think this PR is an improvement good enough to merge.

barmac commented 2 months ago

There's a merge conflict again 😓

jarekdanielak commented 2 months ago

Commit history is now clean and there are no merge conflicts.

If @philippfromme verifies it on Windows, we can marge.