From b164f1881a221193a8e0292b71b72c6f55e7152e Mon Sep 17 00:00:00 2001
From: Karen Lai <7976322+karkarl@users.noreply.github.com>
Date: Thu, 2 Jul 2026 15:43:57 -0700
Subject: [PATCH] fix: resolve accessibility issues across all pages
Address HIGH and MEDIUM severity accessibility violations found via
Windows UI Automation programmatic scan (WCAG 2.1 compliance):
Voice & Audio page:
- Add AutomationProperties.Name to AssistantRefreshButton, StartButton,
StopButton, and LanguageCombo
Sandbox page:
- Add AutomationProperties.Name to PresetLockedButton, PresetBalancedButton,
PresetPermissiveButton with descriptive preset names
- Add AutomationProperties.Name to DocsAccessCombo, DownloadsAccessCombo,
DesktopAccessCombo
- Add AutomationProperties.Name to UnavailablePrimaryButton
Permissions page:
- Add AutomationProperties.Name to NewRuleAction ComboBox
Settings page:
- Add AutomationProperties.Name to NotificationSoundComboBox
Connection page:
- Set AutomationProperties.Name on gateway row cards (uses DisplayName)
- Set AutomationProperties.Name on overflow menu button (Options for {name})
- Add ConnectionPage_GatewayOptionsA11y localization string (all locales)
Global navigation (HubWindow):
- Add AutomationProperties.Name to NavigationView (Main navigation)
- Mark all nav ImageIcon elements with AccessibilityView=Raw (decorative)
Fixes 14 HIGH-severity WCAG 4.1.2 violations and 8 MEDIUM-severity
WCAG 1.1.1 violations.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---
.../Pages/ConnectionPage.xaml.cs | 3 ++
.../Pages/PermissionsPage.xaml | 3 +-
.../Pages/SandboxPage.xaml | 15 +++++--
.../Pages/SettingsPage.xaml | 3 +-
.../Pages/VoiceSettingsPage.xaml | 10 +++--
.../Strings/en-us/Resources.resw | 3 ++
.../Strings/fr-fr/Resources.resw | 3 ++
.../Strings/nl-nl/Resources.resw | 3 ++
.../Strings/zh-cn/Resources.resw | 3 ++
.../Strings/zh-tw/Resources.resw | 3 ++
.../Windows/HubWindow.xaml | 41 ++++++++++---------
11 files changed, 61 insertions(+), 29 deletions(-)
diff --git a/src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs b/src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs
index 30ca800d8..132e2ae9a 100644
--- a/src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs
+++ b/src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs
@@ -1739,6 +1739,8 @@ private Border BuildSavedGatewayRowControl(SavedGatewayRow row)
VerticalAlignment = VerticalAlignment.Center,
Tag = row.Id,
};
+ Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(overflowBtn,
+ string.Format(LocalizationHelper.GetString("ConnectionPage_GatewayOptionsA11y"), row.DisplayName));
overflowBtn.Content = new FontIcon
{
Glyph = Helpers.FluentIconCatalog.MoreOverflow,
@@ -1789,6 +1791,7 @@ private Border BuildSavedGatewayRowControl(SavedGatewayRow row)
grid.Children.Add(overflowBtn);
card.Child = grid;
+ Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(card, row.DisplayName);
return card;
}
diff --git a/src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml
index aa1c46309..9ab6202b4 100644
--- a/src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml
+++ b/src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml
@@ -349,7 +349,8 @@
-
+
diff --git a/src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml
index 7a5fc4e3a..85f0102f6 100644
--- a/src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml
+++ b/src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml
@@ -125,7 +125,8 @@
-
+
@@ -163,7 +164,8 @@
Padding="20,18"
MinHeight="130"
CornerRadius="8"
- Click="OnPresetLockedClick">
+ Click="OnPresetLockedClick"
+ AutomationProperties.Name="Locked Down preset: No internet, no clipboard, no standard user folders">
+ Click="OnPresetBalancedClick"
+ AutomationProperties.Name="Recommended preset: Internet on, read-only on Documents, Downloads, Desktop">
+ Click="OnPresetPermissiveClick"
+ AutomationProperties.Name="Unprotected preset: Internet on, read and write on Documents, Downloads, Desktop">
@@ -264,6 +269,7 @@
@@ -273,6 +279,7 @@
diff --git a/src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml
index 992746d5b..b22c372bc 100644
--- a/src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml
+++ b/src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml
@@ -169,7 +169,8 @@
TextWrapping="Wrap"/>
+ AutomationProperties.AutomationId="SettingsPageSound"
+ AutomationProperties.Name="Notification sound">
diff --git a/src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml b/src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml
index 61e77de3d..dbe43d29f 100644
--- a/src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml
+++ b/src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml
@@ -37,17 +37,20 @@
-