From a33a2f44569005c7dfccca2c11b6f635718416a5 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 8 Sep 2026 10:00:17 -0400 Subject: [PATCH] =?UTF-8?q?fix(central-ui):=20InstancePicker=20=E2=80=94?= =?UTF-8?q?=20keyboard=20activation=20selects/toggles=20through=20TreeView?= =?UTF-8?q?=20selection;=20aria-label/InputId;=20aria-controls=20only=20wh?= =?UTF-8?q?ile=20open?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ArrowDown moved focus into the tree, but the picker passed no Selectable / SelectedKeyChanged, so Enter/Space on a treeitem only moved the roving tabindex — the pick lived on the label span's @onclick, i.e. mouse only. The tree now runs in Selectable mode and BOTH gestures arrive at one handler (OnTreeKeyActivatedAsync) through TreeView's SelectedKeyChanged: an `i:{id}` key selects that instance, an `a:{id}` key toggles the branch. The label's own @onclick is gone — the click already bubbles into TreeView's content span, so a second handler there would fire the callback twice. SelectedKey stays unbound (a combobox shows its pick in the field, not as a row highlight, and binding it would arm TreeView's selected-key-not-in-tree reset on every render while the pick is filtered out); SelectedCssClass is emptied to match. a11y: the field gains an accessible name via a new AriaLabel parameter (default "Instance") and an optional InputId so a page can point a