Why
Follow-up to #344 (PR #403, merged). Search a11y now tracks active_index + emits aria-activedescendant, but Enter still routes to "push to recents" instead of activating the highlighted row.
Fix
Wire Enter in crates/web/src/components/search/input.rs keydown to invoke whatever ResultRow.on_select does for the row at active_index. Keep current "no active row → push recents" path as fallback when results empty.
Verify
Browser test: type query, ArrowDown to highlight non-first row, press Enter, assert navigation/select fires for that row, not the input value.
Notes
Surfaced by #344 agent during PR #403. Inline note in that PR; this issue track separately.
Why
Follow-up to #344 (PR #403, merged). Search a11y now tracks
active_index+ emitsaria-activedescendant, but Enter still routes to "push to recents" instead of activating the highlighted row.Fix
Wire
Enterincrates/web/src/components/search/input.rskeydown to invoke whateverResultRow.on_selectdoes for the row atactive_index. Keep current "no active row → push recents" path as fallback when results empty.Verify
Browser test: type query, ArrowDown to highlight non-first row, press Enter, assert navigation/select fires for that row, not the input value.
Notes
Surfaced by #344 agent during PR #403. Inline note in that PR; this issue track separately.