Skip to content

Commit 1d00ff5

Browse files
committed
Handle Space and Enter keys in menu navigation
1 parent 46929c8 commit 1d00ff5

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## [Unreleased]
22
- Fix command component accessibility issues
3+
- Handle Space and Enter keys in menu navigation
34

45
## 2.0.2 - 2025-08-06
56
- Introduce surface color for component backgrounds

lib/generators/css_zero/add/templates/app/javascript/controllers/menu_controller.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ export default class extends Controller {
2020

2121
navigate(event) {
2222
switch (event.key) {
23+
case " ":
24+
case "Enter":
25+
this.#cancel(event)
26+
this.#activate(event.target)
27+
break
2328
case "ArrowUp":
2429
this.#cancel(event)
2530
this.#prev()
@@ -28,12 +33,10 @@ export default class extends Controller {
2833
this.#cancel(event)
2934
this.#next()
3035
break
31-
case "PageUp":
3236
case "Home":
3337
this.#cancel(event)
3438
this.#first()
3539
break
36-
case "PageDown":
3740
case "End":
3841
this.#cancel(event)
3942
this.#last()
@@ -46,6 +49,10 @@ export default class extends Controller {
4649
event.preventDefault()
4750
}
4851

52+
#activate(menuItem) {
53+
menuItem.click()
54+
}
55+
4956
#reset([ entry ]) {
5057
entry.isIntersecting && this.#first()
5158
}

0 commit comments

Comments
 (0)