From df779135c199a6cee7cf19912e7ed2d7d8840aaf Mon Sep 17 00:00:00 2001 From: Refringe Date: Tue, 17 Sep 2024 11:59:28 -0400 Subject: [PATCH 1/2] Global Search Accessibility Improved the accessibility of the global search field in the header. - When focus is lost, the dropdown disappears - The tab key and up/down arrows can be used to cycle through results - When using the keyboard to cycle through results, focus loops back to the top result - Pressing the esc key will clear the search text and remove the focus lock on the search Resolves #25 --- app/Livewire/GlobalSearch.php | 13 +-------- .../global-search-results.blade.php | 10 +++++-- .../views/livewire/global-search.blade.php | 29 ++++++++++++------- resources/views/navigation-menu.blade.php | 8 +++-- 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/app/Livewire/GlobalSearch.php b/app/Livewire/GlobalSearch.php index e8dfd39..10fc1d7 100644 --- a/app/Livewire/GlobalSearch.php +++ b/app/Livewire/GlobalSearch.php @@ -51,8 +51,7 @@ class GlobalSearch extends Component $results['total'] = $this->countTotalResults($results['data']); } - $this->showDropdown = Str::length($query) > 0; - $this->noResults = $results['total'] === 0 && $this->showDropdown; + $this->noResults = $results['total'] === 0; return $results; } @@ -94,14 +93,4 @@ class GlobalSearch extends Component return $carry + $result->count(); }, 0); } - - /** - * Clear the search query and hide the dropdown. - */ - public function clearSearch(): void - { - $this->query = ''; - $this->showDropdown = false; - $this->noResults = false; - } } diff --git a/resources/views/components/global-search-results.blade.php b/resources/views/components/global-search-results.blade.php index 4f6cc65..12f08b3 100644 --- a/resources/views/components/global-search-results.blade.php +++ b/resources/views/components/global-search-results.blade.php @@ -1,5 +1,11 @@ -
- @if($showDropdown) +
+ @if ($showDropdown)

{{ __('Search Results') }}

@foreach($results['data'] as $typeName => $typeResults) diff --git a/resources/views/livewire/global-search.blade.php b/resources/views/livewire/global-search.blade.php index dd887b5..e9fcd90 100644 --- a/resources/views/livewire/global-search.blade.php +++ b/resources/views/livewire/global-search.blade.php @@ -1,5 +1,13 @@ -
-
+
+
@@ -8,14 +16,15 @@
diff --git a/resources/views/navigation-menu.blade.php b/resources/views/navigation-menu.blade.php index 0c626b7..813a04f 100644 --- a/resources/views/navigation-menu.blade.php +++ b/resources/views/navigation-menu.blade.php @@ -46,7 +46,10 @@ @auth {{-- Profile Dropdown --}} -
+