feat(centralui): TreeView chevron accessible name + keyboard activation + a11y regression test (T36a)

This commit is contained in:
Joseph Doherty
2026-06-18 20:08:47 -04:00
parent 4d3cef18cb
commit 0449c473c1
2 changed files with 123 additions and 1 deletions
@@ -51,7 +51,15 @@ else
@oncontextmenu="(e) => OnContextMenu(e, item)" @oncontextmenu:preventDefault="@(ContextMenu != null)" @oncontextmenu:stopPropagation="@(ContextMenu != null)">
@if (isBranch)
{
<span class="tv-toggle" @onclick="() => ToggleExpand(key)" @onclick:stopPropagation><i class="bi bi-chevron-right"></i></span>
<span class="tv-toggle"
role="button"
tabindex="0"
aria-label="@((isExpanded ? "Collapse " : "Expand ") + KeyStr(key))"
aria-expanded="@(isExpanded ? "true" : "false")"
@onclick="() => ToggleExpand(key)"
@onclick:stopPropagation
@onkeydown="(e) => OnToggleKey(e, key)"
@onkeydown:preventDefault><i class="bi bi-chevron-right"></i></span>
}
else
{
@@ -276,6 +284,14 @@ else
PersistExpandedState();
}
private void OnToggleKey(KeyboardEventArgs e, object key)
{
if (e.Key == "Enter" || e.Key == " ")
{
ToggleExpand(key);
}
}
private void PersistExpandedState()
{
if (StorageKey != null)