From cbac0700b74b5a2f39920e15c85ee5242c040fb8 Mon Sep 17 00:00:00 2001 From: webard Date: Thu, 24 Sep 2026 21:16:26 +0200 Subject: [PATCH] fix: give the drag handle and the sub-navigation checkbox accessible names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The drag handle was an icon-only button with no name, announced as just "button". It is now labelled like Filament's own handles — Filament's translated "Move" plus the view's name. The sub-navigation checkbox had only a title, identical in every row; its aria-label now names the view. Both reuse existing translations, so no new strings. --- .../livewire/saved-views-control.blade.php | 5 ++++ tests/Feature/AccessibleControlsTest.php | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/Feature/AccessibleControlsTest.php diff --git a/resources/views/livewire/saved-views-control.blade.php b/resources/views/livewire/saved-views-control.blade.php index 3769b2b..0eb9d99 100644 --- a/resources/views/livewire/saved-views-control.blade.php +++ b/resources/views/livewire/saved-views-control.blade.php @@ -44,6 +44,8 @@ class="fi-checkbox-input" @checked($view->submenu_visible) wire:change="toggleSubmenu('{{ $view->id }}')" title="{{ __('filament-saved-views::saved-views.submenu_visible') }}" + {{-- The title alone read the same in every row; name the view too. --}} + aria-label="{{ __('filament-saved-views::saved-views.submenu_visible') }}: {{ $view->label }}" /> editViewAction)(['id' => $view->id]) }} {{ ($this->deleteViewAction)(['id' => $view->id]) }} + {{-- Labelled like Filament's own drag handles: its translated "Move" plus + what moves (the column manager does "Reorder column" + the column name). --}}