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}"/>
+ AutomationProperties.Name="{u:I18n ToggleVisibility}"
+ AutomationProperties.HelpText="{Binding PasswordVisibilityAccessibilityText}" />