discourse/app/assets/javascripts
Keegan George d1f6e5f4f3
Some checks are pending
Licenses / run (push) Waiting to run
Linting / run (push) Waiting to run
Publish Assets / publish-assets (push) Waiting to run
Tests / core backend (push) Waiting to run
Tests / plugins backend (push) Waiting to run
Tests / core frontend (Chrome) (push) Waiting to run
Tests / plugins frontend (push) Waiting to run
Tests / themes frontend (push) Waiting to run
Tests / core system (push) Waiting to run
Tests / plugins system (push) Waiting to run
Tests / themes system (push) Waiting to run
Tests / core frontend (Firefox ESR) (push) Waiting to run
Tests / core frontend (Firefox Evergreen) (push) Waiting to run
Tests / chat system (push) Waiting to run
Tests / merge (push) Blocked by required conditions
FIX: Ctrl/Cmd + Enter search results should open in new tab (#34989)
## 🔍 Overview

Fixes accessibility issue where
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>Enter</kbd> on keyboard-navigated
search results opened in the same tab instead of a new tab. Users can
now use standard browser shortcuts when navigating search results with
arrow keys.

##  More Details

Discourse prevents default browser behavior on Enter key events in
search results to handle custom routing, analytics logging, and menu
management. This custom handling needed explicit modifier key detection
since the default browser
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>Enter</kbd> behavior was bypassed.
The fix adds proper <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>Enter</kbd>
handling while preserving all existing functionality.

## 📷 Screen Recordings

### ← Before

https://github.com/user-attachments/assets/3b8715bf-c5bb-4f23-87f0-ee66b088b220



### → After  

https://github.com/user-attachments/assets/e235a311-bf27-467c-93d5-a9233228fae3



### 🔗 References


https://meta.discourse.org/t/open-in-new-tab-browser-keybind-fails-on-search-results/384004?u=keegan
2025-09-26 11:45:35 -07:00
..
admin DEV: Replace deprecated Ember's array sortBy with sort (#34998) 2025-09-26 13:38:26 -03:00
custom-proxy Build(deps-dev): Bump glob from 10.4.5 to 11.0.3 (#33191) 2025-07-25 19:13:32 +02:00
deprecation-silencer DEV: Silence Embroider staticTree deprecations (#34005) 2025-08-20 16:53:05 +01:00
dialog-holder Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
discourse FIX: Ctrl/Cmd + Enter search results should open in new tab (#34989) 2025-09-26 11:45:35 -07:00
discourse-i18n DEV: Add an InterpolatedTranslation component. (#33082) 2025-06-17 07:52:06 +10:00
discourse-markdown-it Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
discourse-plugins Build(deps): Bump the babel group with 2 updates (#34753) 2025-09-15 14:39:07 +02:00
discourse-widget-hbs Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
docs DEV: enforces eslint’s curly rule to the codebase (#10720) 2020-09-22 16:28:28 +02:00
ember-addons DEV: Remove ember-addons (#9559) 2020-04-28 10:14:49 -04:00
ember-cli-progress-ci PERF: Improve production JS build in low-memory environments (#26849) 2024-05-02 11:43:59 +01:00
float-kit Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
pretty-text Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
select-kit DEV: Replace Ember's deprecated mapBy with standard .map (#34963) 2025-09-26 12:59:35 -03:00
theme-transpiler Build(deps): Bump @rollup/browser from 4.50.2 to 4.52.2 (#34935) 2025-09-25 00:40:03 +02:00
truth-helpers Build(deps): Bump ember-auto-import from 2.10.0 to 2.10.1 (#34939) 2025-09-25 00:44:09 +02:00
.npmrc DEV: Prevent npm usage (#13945) 2021-08-04 22:04:58 +02:00
polyfills.js DEV: Bump eslint, lint-configs, and move to flat config (#29661) 2024-11-12 12:33:17 +00:00