From 912061d100c1d7c3032c83319ba30e81fc2275b1 Mon Sep 17 00:00:00 2001
From: gokcekantarci <115616017+gokcekantarci@users.noreply.github.com>
Date: Fri, 12 May 2023 11:15:04 +0300
Subject: [PATCH] [FZEditor]Mark headings for accessibility (#25897)
* [FancyZones Editor - Edit layout] New HeadingTextBlock style is added and applied to FZ headers.
* [FancyZones Editor - Edit layout] Loaded event added.
* [Fancy zones editor - Edit layout] Two texts in FZEditor changed to header.
* [FancyZones Editor - Edit layout] Heading level property added for new headingtextblock.
---
.../editor/FancyZonesEditor/App.xaml | 2 +
.../FancyZonesEditor/HeadingTextBlock.cs | 31 ++++++++++++++
.../editor/FancyZonesEditor/MainWindow.xaml | 42 ++++++++++++-------
.../FancyZonesEditor/MainWindow.xaml.cs | 2 +-
4 files changed, 62 insertions(+), 15 deletions(-)
create mode 100644 src/modules/fancyzones/editor/FancyZonesEditor/HeadingTextBlock.cs
diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/App.xaml b/src/modules/fancyzones/editor/FancyZonesEditor/App.xaml
index a421248fc8..8c9e6461e9 100644
--- a/src/modules/fancyzones/editor/FancyZonesEditor/App.xaml
+++ b/src/modules/fancyzones/editor/FancyZonesEditor/App.xaml
@@ -14,6 +14,8 @@
+
+
diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/HeadingTextBlock.cs b/src/modules/fancyzones/editor/FancyZonesEditor/HeadingTextBlock.cs
new file mode 100644
index 0000000000..0ee04d8cba
--- /dev/null
+++ b/src/modules/fancyzones/editor/FancyZonesEditor/HeadingTextBlock.cs
@@ -0,0 +1,31 @@
+// Copyright (c) Microsoft Corporation
+// The Microsoft Corporation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Windows;
+using System.Windows.Automation.Peers;
+using System.Windows.Controls;
+
+namespace FancyZonesEditor
+{
+ public class HeadingTextBlock : TextBlock
+ {
+ protected override AutomationPeer OnCreateAutomationPeer()
+ {
+ return new HeadingTextBlockAutomationPeer(this);
+ }
+
+ internal sealed class HeadingTextBlockAutomationPeer : TextBlockAutomationPeer
+ {
+ public HeadingTextBlockAutomationPeer(HeadingTextBlock owner)
+ : base(owner)
+ {
+ }
+
+ protected override AutomationControlType GetAutomationControlTypeCore()
+ {
+ return AutomationControlType.Header;
+ }
+ }
+ }
+}
diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml
index f1ee46ec86..5fef7a0cc0 100644
--- a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml
+++ b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml
@@ -188,11 +188,12 @@
-
-
+
+
-
-
+
@@ -739,11 +747,17 @@
PrimaryButtonText="{x:Static props:Resources.Create}"
PrimaryButtonClick="NewLayoutDialog_PrimaryButtonClick"
IsPrimaryButtonEnabled="{Binding ElementName=LayoutNameText, Path=Text.Length}"
- Title="{x:Static props:Resources.Choose_layout_type}"
Opened="Dialog_Opened"
Closed="Dialog_Closed">
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs
index b3476ed4d9..63fc5990d9 100644
--- a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs
+++ b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs
@@ -621,7 +621,7 @@ namespace FancyZonesEditor
SettingsDeepLink.OpenSettings(SettingsDeepLink.SettingsWindow.FancyZones);
}
- private void EditLayoutDialogTitle_Loaded(object sender, EventArgs e)
+ private void EditLayoutDialogTitle_Loaded(object sender, RoutedEventArgs e)
{
EditLayoutDialogTitle.TextTrimming = TextTrimming.CharacterEllipsis;
EditLayoutDialogTitle.TextWrapping = TextWrapping.NoWrap;