diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
index 4c4b91eba9..436857e946 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
@@ -274,8 +274,14 @@ private fun TermsAndPrivacyText(
onPrivacyPolicyClick: () -> Unit,
modifier: Modifier = Modifier,
) {
- val strTerms = stringResource(id = BitwardenString.terms_of_service)
- val strPrivacy = stringResource(id = BitwardenString.privacy_policy)
+ val strTerms = stringResource(
+ id = BitwardenString.external_link_format,
+ formatArgs = arrayOf(stringResource(id = BitwardenString.terms_of_service)),
+ )
+ val strPrivacy = stringResource(
+ id = BitwardenString.external_link_format,
+ formatArgs = arrayOf(stringResource(id = BitwardenString.privacy_policy)),
+ )
Row(
horizontalArrangement = Arrangement.Start,
verticalAlignment = Alignment.CenterVertically,
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/components/dropdown/EnvironmentSelector.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/components/dropdown/EnvironmentSelector.kt
index ceb7631d7c..ae5f11609a 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/components/dropdown/EnvironmentSelector.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/components/dropdown/EnvironmentSelector.kt
@@ -97,7 +97,12 @@ fun EnvironmentSelector(
if (isHelpEnabled) {
BitwardenStandardIconButton(
vectorIconRes = BitwardenDrawable.ic_question_circle_small,
- contentDescription = stringResource(BitwardenString.help_with_server_geolocations),
+ contentDescription = stringResource(
+ id = BitwardenString.external_link_format,
+ formatArgs = arrayOf(
+ stringResource(id = BitwardenString.help_with_server_geolocations),
+ ),
+ ),
onClick = onHelpClick,
contentColor = BitwardenTheme.colorScheme.icon.secondary,
// Align with design but keep accessible touch target of IconButton.
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreenTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreenTest.kt
index 6c6e50a51a..9b384178c5 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreenTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreenTest.kt
@@ -185,7 +185,7 @@ class StartRegistrationScreenTest : BitwardenComposeTest() {
@Test
fun `clicking the server tool tip should send ServerGeologyHelpClickAction`() {
composeTestRule
- .onNodeWithContentDescription("Help with server geolocations.")
+ .onNodeWithContentDescription("Help with server geolocations, External link")
.performScrollTo()
.performClick()
@@ -262,7 +262,7 @@ class StartRegistrationScreenTest : BitwardenComposeTest() {
fun `when terms and conditions custom action invoked should send TermsClick`() {
composeTestRule
.onNodeWithText("By continuing, you agree to the Terms of Service and Privacy Policy")
- .performCustomAccessibilityAction("Terms of Service")
+ .performCustomAccessibilityAction("Terms of Service, External link")
verify { viewModel.trySendAction(StartRegistrationAction.TermsClick) }
}
@@ -271,7 +271,7 @@ class StartRegistrationScreenTest : BitwardenComposeTest() {
fun `when privacy policy custom action invoked should send TermsClick`() {
composeTestRule
.onNodeWithText("By continuing, you agree to the Terms of Service and Privacy Policy")
- .performCustomAccessibilityAction("Privacy Policy")
+ .performCustomAccessibilityAction("Privacy Policy, External link")
verify { viewModel.trySendAction(StartRegistrationAction.PrivacyPolicyClick) }
}
diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreen.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreen.kt
index 9996b4ab68..e1e6407a16 100644
--- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreen.kt
+++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/settings/SettingsScreen.kt
@@ -38,6 +38,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.CustomAccessibilityAction
import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.customActions
+import androidx.compose.ui.semantics.hideFromAccessibility
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
@@ -707,6 +708,7 @@ private fun CopyRow(
) {
Text(
modifier = Modifier
+ .semantics { hideFromAccessibility() }
.padding(end = 16.dp)
.weight(1f),
text = text(),
@@ -715,7 +717,7 @@ private fun CopyRow(
)
Icon(
painter = rememberVectorPainter(id = BitwardenDrawable.ic_copy),
- contentDescription = null,
+ contentDescription = stringResource(id = BitwardenString.copy),
tint = BitwardenTheme.colorScheme.icon.primary,
)
}
diff --git a/ui/src/main/res/values/strings.xml b/ui/src/main/res/values/strings.xml
index a26963d400..600c962c16 100644
--- a/ui/src/main/res/values/strings.xml
+++ b/ui/src/main/res/values/strings.xml
@@ -766,7 +766,7 @@ Do you want to switch to this account?
Write this password down and keep it somewhere safe.
Learn about other ways to prevent account lockout
Learn about ways to prevent account lockout
- Help with server geolocations.
+ Help with server geolocations
Email address (required)
Select the link in the email to verify your email address and continue creating your account.
Change email address