[do not review] Fix Resources grid keyboard activation - #17789
[do not review] Fix Resources grid keyboard activation#17789Adam Ratzman (adamint) wants to merge 2 commits into
Conversation
Stop Resources grid row activation from handling unmodified Enter events that originate on interactive controls. Add scoped JavaScript registration and tests for module initialization and key handling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17789Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17789" |
|
I verified this in a real browser with Playwright against Steps: focus the interactive control inside a resource row, press Enter, and count whether the parent row key handler also sees Enter. On Proof: {"pr":"17789","phase":"base","enterCount":1}
{"pr":"17789","phase":"pr","enterCount":0} |
|
Adding the visual proof too; the earlier verification comment had the browser details but the proof was too JSON-heavy. I used Chromium against seeded dashboard mock host with main / before: Parent row Enter handler count after pressing Enter on child control: 1 this PR / after: Parent row Enter handler count after pressing Enter on child control: 0 MP4 proof, not webm, with visible keyboard/mouse/focus trace overlay: https://raw.githubusercontent.com/adamint/aspire/cd33e79ec249a7354240cc851b921502ada33d1a/proof/a11y/17789/pr-17789-visual-proof.mp4 Contact sheet with the before/after screenshots: https://raw.githubusercontent.com/adamint/aspire/cd33e79ec249a7354240cc851b921502ada33d1a/proof/a11y/17789/pr-17789-contact-sheet.png |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Condensed into #17926 to keep the related Resources a11y changes together. Closing this smaller draft. |

Description
Fixes #17651.
Stops the Resources grid row keyboard handler from also opening row details when Enter originates on an interactive control inside the row, such as "Open in text visualizer". The new Resources-page JS module scopes the behavior to the Resources grid, registers current and virtualized interactive descendants, stops only unmodified Enter so Tab/arrows/Escape/shortcuts keep bubbling, and unregisters the listener during disposal.
Evidence: before/after screenshots and videos are linked in the artifact branch: https://github.com/adamint/aspire/tree/a11y-artifacts-20260601042635/17651
Checklist
<remarks />and<code />elements on your triple slash comments?