From 8ab57e4266871479e705ec62d9ce97e87ecd3634 Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Wed, 12 Feb 2025 15:51:44 +1000 Subject: [PATCH] UX: Add enter key hints for search (#31298) Adds https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint to the search inputs. This hint is used for mobile devices to guide what label is shown on the onscreen keyboard. By default `return` is shown, now for search we will see `search`. Also add `type="search"` to the full page search input for further guidance. --- .../discourse/app/components/search-menu/search-term.hbs | 1 + .../javascripts/discourse/app/components/search-text-field.js | 1 + app/assets/javascripts/discourse/app/components/text-field.js | 1 + .../javascripts/discourse/app/templates/full-page-search.hbs | 1 + 4 files changed, 4 insertions(+) diff --git a/app/assets/javascripts/discourse/app/components/search-menu/search-term.hbs b/app/assets/javascripts/discourse/app/components/search-menu/search-term.hbs index 7152e8f6af0..d34c37136a6 100644 --- a/app/assets/javascripts/discourse/app/components/search-menu/search-term.hbs +++ b/app/assets/javascripts/discourse/app/components/search-menu/search-term.hbs @@ -2,6 +2,7 @@ id={{this.inputId}} type="search" autocomplete="off" + enterkeyhint="search" value={{this.search.activeGlobalSearchTerm}} placeholder={{i18n "search.title"}} aria-label={{i18n "search.title"}} diff --git a/app/assets/javascripts/discourse/app/components/search-text-field.js b/app/assets/javascripts/discourse/app/components/search-text-field.js index ce44370b1d0..81f72f501d9 100644 --- a/app/assets/javascripts/discourse/app/components/search-text-field.js +++ b/app/assets/javascripts/discourse/app/components/search-text-field.js @@ -7,6 +7,7 @@ import { i18n } from "discourse-i18n"; export default class SearchTextField extends TextField { autocomplete = "off"; + enterkeyhint = "search"; @discourseComputed("searchService.searchContextEnabled") placeholder(searchContextEnabled) { diff --git a/app/assets/javascripts/discourse/app/components/text-field.js b/app/assets/javascripts/discourse/app/components/text-field.js index e75bd8f4191..c382a3a69ff 100644 --- a/app/assets/javascripts/discourse/app/components/text-field.js +++ b/app/assets/javascripts/discourse/app/components/text-field.js @@ -11,6 +11,7 @@ const DEBOUNCE_MS = 500; "autocorrect", "autocapitalize", "autofocus", + "enterkeyhint", "maxLength", "dir", "aria-label", diff --git a/app/assets/javascripts/discourse/app/templates/full-page-search.hbs b/app/assets/javascripts/discourse/app/templates/full-page-search.hbs index 6b692f9aeab..e13ecc4eb82 100644 --- a/app/assets/javascripts/discourse/app/templates/full-page-search.hbs +++ b/app/assets/javascripts/discourse/app/templates/full-page-search.hbs @@ -29,6 +29,7 @@ @enter={{action "search" (hash collapseFilters=true)}} @hasAutofocus={{this.hasAutofocus}} @aria-controls="search-result-count" + type="search" class="full-page-search search no-blur search-query" />