Repository navigation
fix: keyboard focus and space handling from accessibility audit - #3824
Merged
Merged
Conversation
AlexAndBear
force-pushed
the
fix/a11y-keyboard-findings
branch
2 times, most recently
from
October 15, 2026 20:26
5164a13 to
2838ca2
Compare
2 of 7 tasks
AlexAndBear
force-pushed
the
fix/a11y-keyboard-findings
branch
from
October 21, 2026 11:08
2838ca2 to
5f64097
Compare
JammingBen
approved these changes
Oct 21, 2026
JammingBen
left a comment
Member
There was a problem hiding this comment.
My agent only complains about missing unit tests for AppList, AppDetails and the new unmount logic in OcModal - I leave it up to you if you want to add them. The rest LGTM.
Member
Author
Oh yeah, at least for |
Member
Author
|
Added the unit tests, and unskipped one of the e2e tests I missed. |
openclouders
pushed a commit
that referenced
this pull request
Oct 21, 2026
* fix: keyboard focus and space handling from accessibility audit * fix: simplify keyboard focus fixes after review * fix: keep mobile navigation focus and centralize space handling * test: cover the focus return of modals and app store details * test(e2e): run the fixed mobile navigation keyboard scenario * chore: trigger CI * chore: trigger CI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fix four keyboard findings from the accessibility audit. Nothing changes visually; only keyboard and focus behavior changes where the audit asks for it:
isControlKeyEventhelper inuseKeyboardActionslets focused controls keep their native Space behavior; the list bindings only toggle the last-selected row when focus is not on a control. During arrow-key navigation focus sits on the row checkbox, so Space still toggles exactly that row.aria-modal(which also pauses the list key bindings while it is open) and labelled by its "Menu" heading, and the bogusaria-current="page"on the menu button is gone. It stays a non-modal<dialog>, so tooltips and drawers opened from it keep working.<body>, because focus-trap returns focus to the menu item, which is gone by then (focus-trap-vuealso doesn't forwardsetReturnFocus). The drop registry now remembers each drop's anchor when it opens, andOcModalfocuses that anchor on unmount if focus was lost. Menus opened with a right click have no focusable anchor, so they are not covered.<body>.Related Issue
How Has This Been Tested?
pnpm check:types,pnpm lintandpnpm format:checkpassed.pnpm test:unit --runpassed. Added unit tests that Space on a focused checkbox is not prevented and leaves the admin table selection alone, and for the drop registry's anchor lookup.mainand this branch. Space toggling the focused row checkbox and the mobile drawer (focus trap, Escape, focus return) failed onmainand pass here. "Focus is kept after closing a modal or deleting a resource" still fails, because it opens the modal from a right-click menu (out of scope).Types of changes