diff --git a/src/App/Pages/Accounts/BaseChangePasswordViewModel.cs b/src/App/Pages/Accounts/BaseChangePasswordViewModel.cs index 96443341f..81d16568e 100644 --- a/src/App/Pages/Accounts/BaseChangePasswordViewModel.cs +++ b/src/App/Pages/Accounts/BaseChangePasswordViewModel.cs @@ -46,7 +46,11 @@ namespace Bit.App.Pages { get => _showPassword; set => SetProperty(ref _showPassword, value, - additionalPropertyNames: new[] { nameof(ShowPasswordIcon) }); + additionalPropertyNames: new[] + { + nameof(ShowPasswordIcon), + nameof(PasswordVisibilityAccessibilityText) + }); } public bool IsPolicyInEffect @@ -68,6 +72,7 @@ namespace Bit.App.Pages } public string ShowPasswordIcon => ShowPassword ? "" : ""; + public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow; public string MasterPassword { get; set; } public string ConfirmMasterPassword { get; set; } public string Hint { get; set; } diff --git a/src/App/Pages/Accounts/LockPage.xaml b/src/App/Pages/Accounts/LockPage.xaml index 570c1b643..5c269ea1e 100644 --- a/src/App/Pages/Accounts/LockPage.xaml +++ b/src/App/Pages/Accounts/LockPage.xaml @@ -80,7 +80,8 @@ Grid.Column="1" Grid.RowSpan="2" AutomationProperties.IsInAccessibleTree="True" - AutomationProperties.Name="{u:I18n ToggleVisibility}" /> + AutomationProperties.Name="{u:I18n ToggleVisibility}" + AutomationProperties.HelpText="{Binding PasswordVisibilityAccessibilityText}"/> + AutomationProperties.Name="{u:I18n ToggleVisibility}" + AutomationProperties.HelpText="{Binding PasswordVisibilityAccessibilityText}" /> SetProperty(ref _showPassword, value, additionalPropertyNames: new string[] { - nameof(ShowPasswordIcon) + nameof(ShowPasswordIcon), + nameof(PasswordVisibilityAccessibilityText), }); } @@ -128,6 +129,7 @@ namespace Bit.App.Pages public Command SubmitCommand { get; } public Command TogglePasswordCommand { get; } public string ShowPasswordIcon => ShowPassword ? BitwardenIcons.EyeSlash : BitwardenIcons.Eye; + public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow; public string MasterPassword { get; set; } public string Pin { get; set; } public Action UnlockedAction { get; set; } diff --git a/src/App/Pages/Accounts/LoginPage.xaml b/src/App/Pages/Accounts/LoginPage.xaml index 7969ff777..3975a0ccb 100644 --- a/src/App/Pages/Accounts/LoginPage.xaml +++ b/src/App/Pages/Accounts/LoginPage.xaml @@ -101,7 +101,8 @@ Grid.Column="1" Grid.RowSpan="2" AutomationProperties.IsInAccessibleTree="True" - AutomationProperties.Name="{u:I18n ToggleVisibility}" /> + AutomationProperties.Name="{u:I18n ToggleVisibility}" + AutomationProperties.HelpText="{Binding PasswordVisibilityAccessibilityText}"/> diff --git a/src/App/Pages/Accounts/LoginPageViewModel.cs b/src/App/Pages/Accounts/LoginPageViewModel.cs index a895e39a6..60cc5a247 100644 --- a/src/App/Pages/Accounts/LoginPageViewModel.cs +++ b/src/App/Pages/Accounts/LoginPageViewModel.cs @@ -58,7 +58,8 @@ namespace Bit.App.Pages set => SetProperty(ref _showPassword, value, additionalPropertyNames: new string[] { - nameof(ShowPasswordIcon) + nameof(ShowPasswordIcon), + nameof(PasswordVisibilityAccessibilityText) }); } @@ -85,6 +86,7 @@ namespace Bit.App.Pages public Command LogInCommand { get; } public Command TogglePasswordCommand { get; } public string ShowPasswordIcon => ShowPassword ? BitwardenIcons.EyeSlash : BitwardenIcons.Eye; + public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow; public Action StartTwoFactorAction { get; set; } public Action LogInSuccessAction { get; set; } public Action UpdateTempPasswordAction { get; set; } diff --git a/src/App/Pages/Accounts/RegisterPage.xaml b/src/App/Pages/Accounts/RegisterPage.xaml index cce3c258d..1fa519145 100644 --- a/src/App/Pages/Accounts/RegisterPage.xaml +++ b/src/App/Pages/Accounts/RegisterPage.xaml @@ -68,7 +68,8 @@ Grid.Column="1" Grid.RowSpan="2" AutomationProperties.IsInAccessibleTree="True" - AutomationProperties.Name="{u:I18n ToggleVisibility}" /> + AutomationProperties.Name="{u:I18n ToggleVisibility}" + AutomationProperties.HelpText="{Binding PasswordVisibilityAccessibilityText}"/>