diff --git a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.cpp b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.cpp index d7e1df4a83..ed95930333 100644 --- a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.cpp +++ b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.cpp @@ -127,6 +127,10 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation { _NotifyChanges(L"TabColorPreview"); } + else if (viewModelProperty == L"Hidden") + { + _NotifyChanges(L"AccessibleStateDescription"); + } }); _defaultAppearanceViewModel.PropertyChanged([this](auto&&, const PropertyChangedEventArgs& args) { @@ -348,6 +352,27 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation return _profile.Orphaned(); } + hstring ProfileViewModel::AccessibleStateDescription() const + { + const auto hidden = Hidden(); + const auto orphaned = Orphaned(); + if (hidden && orphaned) + { + return til::hstring_format(FMT_COMPILE(L"{}, {}"), + RS_(L"Profile_HiddenBadge/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip"), + RS_(L"Profile_OrphanedBadge/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip")); + } + if (hidden) + { + return RS_(L"Profile_HiddenBadge/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip"); + } + if (orphaned) + { + return RS_(L"Profile_OrphanedBadge/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip"); + } + return {}; + } + hstring ProfileViewModel::TabTitlePreview() const { if (const auto tabTitle{ TabTitle() }; !tabTitle.empty()) diff --git a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.h b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.h index fa403952e5..151471682f 100644 --- a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.h +++ b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.h @@ -101,6 +101,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation bool RepositionCursorWithMouseAvailable() const noexcept; bool Orphaned() const; + hstring AccessibleStateDescription() const; hstring TabTitlePreview() const; hstring AnswerbackMessagePreview() const; Windows::UI::Color TabColorPreview() const; diff --git a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.idl b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.idl index c2d99246d0..28d50db286 100644 --- a/src/cascadia/TerminalSettingsEditor/ProfileViewModel.idl +++ b/src/cascadia/TerminalSettingsEditor/ProfileViewModel.idl @@ -106,6 +106,7 @@ namespace Microsoft.Terminal.Settings.Editor void DeleteUnfocusedAppearance(); Boolean Orphaned { get; }; + String AccessibleStateDescription { get; }; OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Name); PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, Guid); OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Source); diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.cpp b/src/cascadia/TerminalSettingsEditor/Profiles.cpp index c4ee8f6475..0be58b2b3f 100644 --- a/src/cascadia/TerminalSettingsEditor/Profiles.cpp +++ b/src/cascadia/TerminalSettingsEditor/Profiles.cpp @@ -20,7 +20,9 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation InitializeComponent(); Automation::AutomationProperties::SetName(DefaultsNavigator(), RS_(L"Profiles_DefaultsNavigator_Title/Text")); + Automation::AutomationProperties::SetHelpText(DefaultsNavigator(), RS_(L"Profiles_DefaultsNavigator_Description/Text")); Automation::AutomationProperties::SetName(ColorSchemesNavigator(), RS_(L"Profiles_ColorSchemesNavigator_Title/Text")); + Automation::AutomationProperties::SetHelpText(ColorSchemesNavigator(), RS_(L"Profiles_ColorSchemesNavigator_Description/Text")); Automation::AutomationProperties::SetName(AddProfileButton(), RS_(L"Profiles_AddProfileButton/Text")); } diff --git a/src/cascadia/TerminalSettingsEditor/Profiles.xaml b/src/cascadia/TerminalSettingsEditor/Profiles.xaml index 73fe3f97bf..3654f41a83 100644 --- a/src/cascadia/TerminalSettingsEditor/Profiles.xaml +++ b/src/cascadia/TerminalSettingsEditor/Profiles.xaml @@ -22,6 +22,7 @@