From cb04e7fb47d480572e0b6507342a392a96ed969d Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Thu, 27 Feb 2025 09:59:12 -0800 Subject: [PATCH] =?UTF-8?q?a11y=20check:=20screen=20reader,=20keyboard=20n?= =?UTF-8?q?avigation,=20FastPass=20=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TerminalSettingsEditor/Extensions.cpp | 15 +++ .../TerminalSettingsEditor/Extensions.h | 2 + .../TerminalSettingsEditor/Extensions.idl | 2 + .../TerminalSettingsEditor/Extensions.xaml | 127 +++++++++++------- .../SettingContainerStyle.xaml | 17 ++- 5 files changed, 109 insertions(+), 54 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/Extensions.cpp b/src/cascadia/TerminalSettingsEditor/Extensions.cpp index 48beef8ffea..99c7d5e80f2 100644 --- a/src/cascadia/TerminalSettingsEditor/Extensions.cpp +++ b/src/cascadia/TerminalSettingsEditor/Extensions.cpp @@ -25,6 +25,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation InitializeComponent(); _extensionPackageIdentifierTemplateSelector = Resources().Lookup(box_value(L"ExtensionPackageIdentifierTemplateSelector")).as(); + + Automation::AutomationProperties::SetName(ActiveExtensionsList(), RS_(L"Extensions_ActiveExtensionsHeader/Text")); + Automation::AutomationProperties::SetName(ModifiedProfilesList(), RS_(L"Extensions_ModifiedProfilesHeader/Text")); + Automation::AutomationProperties::SetName(AddedProfilesList(), RS_(L"Extensions_AddedProfilesHeader/Text")); + Automation::AutomationProperties::SetName(AddedColorSchemesList(), RS_(L"Extensions_AddedColorSchemesHeader/Text")); } void Extensions::OnNavigatedTo(const NavigationEventArgs& e) @@ -292,6 +297,16 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation return hstring{ fmt::format(FMT_COMPILE(L"{}: {}"), AccessibleName(), RS_(L"Extension_StateDisabled/Text")) }; } + hstring FragmentProfileViewModel::AccessibleName() const noexcept + { + return hstring{ fmt::format(FMT_COMPILE(L"{}, {}"), Profile().Name(), SourceName()) }; + } + + hstring FragmentColorSchemeViewModel::AccessibleName() const noexcept + { + return hstring{ fmt::format(FMT_COMPILE(L"{}, {}"), ColorSchemeVM().Name(), SourceName()) }; + } + DataTemplate ExtensionPackageTemplateSelector::SelectTemplateCore(const IInspectable& item, const DependencyObject& /*container*/) { return SelectTemplateCore(item); diff --git a/src/cascadia/TerminalSettingsEditor/Extensions.h b/src/cascadia/TerminalSettingsEditor/Extensions.h index 412fb96b416..799618c2b08 100644 --- a/src/cascadia/TerminalSettingsEditor/Extensions.h +++ b/src/cascadia/TerminalSettingsEditor/Extensions.h @@ -131,6 +131,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation Model::Profile Profile() const { return _deducedProfile; }; hstring SourceName() const { return _fragment.Source(); } hstring Json() const { return _entry.Json(); } + hstring AccessibleName() const noexcept; private: Model::FragmentProfileEntry _entry; @@ -149,6 +150,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation Editor::ColorSchemeViewModel ColorSchemeVM() const { return _deducedSchemeVM; }; hstring SourceName() const { return _fragment.Source(); } hstring Json() const { return _entry.Json(); } + hstring AccessibleName() const noexcept; private: Model::FragmentColorSchemeEntry _entry; diff --git a/src/cascadia/TerminalSettingsEditor/Extensions.idl b/src/cascadia/TerminalSettingsEditor/Extensions.idl index 7e7a977480c..ffea5d0f073 100644 --- a/src/cascadia/TerminalSettingsEditor/Extensions.idl +++ b/src/cascadia/TerminalSettingsEditor/Extensions.idl @@ -58,6 +58,7 @@ namespace Microsoft.Terminal.Settings.Editor Microsoft.Terminal.Settings.Model.Profile Profile { get; }; String SourceName { get; }; String Json { get; }; + String AccessibleName { get; }; } [default_interface] runtimeclass FragmentColorSchemeViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged @@ -65,6 +66,7 @@ namespace Microsoft.Terminal.Settings.Editor ColorSchemeViewModel ColorSchemeVM { get; }; String SourceName { get; }; String Json { get; }; + String AccessibleName { get; }; } [default_interface] runtimeclass ExtensionPackageTemplateSelector : Windows.UI.Xaml.Controls.DataTemplateSelector diff --git a/src/cascadia/TerminalSettingsEditor/Extensions.xaml b/src/cascadia/TerminalSettingsEditor/Extensions.xaml index b4a18d29cde..b7a1296f567 100644 --- a/src/cascadia/TerminalSettingsEditor/Extensions.xaml +++ b/src/cascadia/TerminalSettingsEditor/Extensions.xaml @@ -33,6 +33,7 @@ + + -