From 765bfcb516dc9f81262e33cea0ab6390b47d74cf Mon Sep 17 00:00:00 2001 From: Jonas Sourlier Date: Fri, 3 Feb 2023 15:42:22 +0100 Subject: [PATCH] network button accessibility --- .../Controls/Taskbar/NetworkControl.xaml.cs | 18 ++++++++++++------ .../Controls/Taskbar/NetworkControl.xaml.cs | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/NetworkControl.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/NetworkControl.xaml.cs index 3f632594..a38ce91c 100644 --- a/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/NetworkControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Desktop/Controls/Taskbar/NetworkControl.xaml.cs @@ -87,8 +87,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar if (network.Status == ConnectionStatus.Connected) { WirelessIcon.Child = GetWirelessIcon(network.SignalStrength); - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWirelessConnected).Replace("%%NAME%%", network.Name); - Button.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, Button.ToolTip as string); + UpdateText(text.Get(TextKey.SystemControl_NetworkWirelessConnected).Replace("%%NAME%%", network.Name)); } WirelessNetworksStackPanel.Children.Add(button); @@ -98,7 +97,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar { case ConnectionType.Wired: Button.IsEnabled = false; - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWiredConnected); + UpdateText(text.Get(TextKey.SystemControl_NetworkWiredConnected)); WiredIcon.Visibility = Visibility.Visible; WirelessIcon.Visibility = Visibility.Collapsed; break; @@ -109,7 +108,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar break; default: Button.IsEnabled = false; - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkNotAvailable); + UpdateText(text.Get(TextKey.SystemControl_NetworkNotAvailable)); WiredIcon.Visibility = Visibility.Visible; WirelessIcon.Visibility = Visibility.Collapsed; break; @@ -118,19 +117,20 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar switch (adapter.Status) { case ConnectionStatus.Connected: + UpdateText(text.Get(TextKey.SystemControl_NetworkWiredConnected)); NetworkStatusIcon.Rotation = 0; NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Globe, Brushes.Green); NetworkStatusIcon.Spin = false; break; case ConnectionStatus.Connecting: - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWirelessConnecting); + UpdateText(text.Get(TextKey.SystemControl_NetworkWirelessConnecting)); NetworkStatusIcon.Rotation = 0; NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Cog, Brushes.DimGray); NetworkStatusIcon.Spin = true; NetworkStatusIcon.SpinDuration = 2; break; default: - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkDisconnected); + UpdateText(text.Get(TextKey.SystemControl_NetworkDisconnected)); NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Ban, Brushes.DarkOrange); NetworkStatusIcon.Spin = false; WirelessIcon.Child = GetWirelessIcon(0); @@ -138,6 +138,12 @@ namespace SafeExamBrowser.UserInterface.Desktop.Controls.Taskbar } } + private void UpdateText(string text) + { + Button.ToolTip = text; + Button.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text); + } + private UIElement GetWirelessIcon(int signalStrength) { var icon = signalStrength > 66 ? "100" : (signalStrength > 33 ? "66" : (signalStrength > 0 ? "33" : "0")); diff --git a/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/NetworkControl.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/NetworkControl.xaml.cs index ae2f1aff..b6bf3067 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/NetworkControl.xaml.cs +++ b/SafeExamBrowser.UserInterface.Mobile/Controls/Taskbar/NetworkControl.xaml.cs @@ -87,8 +87,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar if (network.Status == ConnectionStatus.Connected) { WirelessIcon.Child = GetWirelessIcon(network.SignalStrength); - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWirelessConnected).Replace("%%NAME%%", network.Name); - Button.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, Button.ToolTip as string); + UpdateText(text.Get(TextKey.SystemControl_NetworkWirelessConnected).Replace("%%NAME%%", network.Name)); } WirelessNetworksStackPanel.Children.Add(button); @@ -98,7 +97,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar { case ConnectionType.Wired: Button.IsEnabled = false; - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWiredConnected); + UpdateText(text.Get(TextKey.SystemControl_NetworkWiredConnected)); WiredIcon.Visibility = Visibility.Visible; WirelessIcon.Visibility = Visibility.Collapsed; break; @@ -109,7 +108,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar break; default: Button.IsEnabled = false; - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkNotAvailable); + UpdateText(text.Get(TextKey.SystemControl_NetworkNotAvailable)); WiredIcon.Visibility = Visibility.Visible; WirelessIcon.Visibility = Visibility.Collapsed; break; @@ -118,19 +117,20 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar switch (adapter.Status) { case ConnectionStatus.Connected: + UpdateText(text.Get(TextKey.SystemControl_NetworkWiredConnected)); NetworkStatusIcon.Rotation = 0; NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Globe, Brushes.Green); NetworkStatusIcon.Spin = false; break; case ConnectionStatus.Connecting: - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkWirelessConnecting); + UpdateText(text.Get(TextKey.SystemControl_NetworkWirelessConnecting)); NetworkStatusIcon.Rotation = 0; NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Cog, Brushes.DimGray); NetworkStatusIcon.Spin = true; NetworkStatusIcon.SpinDuration = 2; break; default: - Button.ToolTip = text.Get(TextKey.SystemControl_NetworkDisconnected); + UpdateText(text.Get(TextKey.SystemControl_NetworkDisconnected)); NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Ban, Brushes.DarkOrange); NetworkStatusIcon.Spin = false; WirelessIcon.Child = GetWirelessIcon(0); @@ -138,6 +138,12 @@ namespace SafeExamBrowser.UserInterface.Mobile.Controls.Taskbar } } + private void UpdateText(string text) + { + Button.ToolTip = text; + Button.SetValue(System.Windows.Automation.AutomationProperties.NameProperty, text); + } + private UIElement GetWirelessIcon(int signalStrength) { var icon = signalStrength > 66 ? "100" : (signalStrength > 33 ? "66" : (signalStrength > 0 ? "33" : "0"));