Android/iOS: Accessibility - show/hide password toggle buttons don't programmatically expose their state #1455

Closed
opened 2025-11-26 22:49:37 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @patrickhlauke on GitHub (May 19, 2022).

Originally assigned to: @andrebispo5 on GitHub.

Steps To Reproduce

  1. Turn on TalkBack
  2. Go to a screen with an "eye" show/hide password toggle button
  3. Set focus to it - it announces as "Toggle visibility, Button" (A)
  4. Double-tap to activate the button (B)
  5. Leave the button, then return to it (C)

Expected Result

(A) When first focusing on the button, it should give a hint about its current state (that it's currently disabled / visibility is off).
(B) Toggling the button should dynamically announce its state changed
(C) Returning to the button, it should now announce that it's on (visibility is on / the button is enabled/pressed/active)

Actual Result

The button conveys no state information. Toggling the button does not lead to any TalkBack hint/announcement that anything actually happened

Screenshots or Videos

Photos (as can't take on-device screenshots, since Bitwarden suppresses this) of Bitwarden on Android, with TalkBack's speech output visible at the bottom:
Focus on the toggle button when it's off, with TalkBack text "Toggle visibility, Button"
Focus on the toggle button when it's on, with TalkBack text "Toggle visibility, Button"

Additional Context

The desktop client and extension had similar issues, until I addressed them - see https://github.com/bitwarden/clients/issues/2228 and https://github.com/bitwarden/desktop/issues/1442

For android native, there's likely a native "toggle" type button/attribute that can be set on buttons. its value should be dynamically changed to reflect its current state.

Failing that, a dynamic change of accessible name ("Toggle visibility, on" or "Toggle visibility, pressed" / "Toggle visibility, off" or "Toggle visibility, not pressed") would do the trick. Just something that conveys what's going on to assistive technology users.

Operating System

Android

Operating System Version

11

Device

Motorola moto g(8)

Build Version

2.18.0 (4572)

Beta

  • Using a pre-release version of the application.
Originally created by @patrickhlauke on GitHub (May 19, 2022). Originally assigned to: @andrebispo5 on GitHub. ### Steps To Reproduce 1. Turn on TalkBack 2. Go to a screen with an "eye" show/hide password toggle button 3. Set focus to it - it announces as "Toggle visibility, Button" (A) 4. Double-tap to activate the button (B) 5. Leave the button, then return to it (C) ### Expected Result (A) When first focusing on the button, it should give a hint about its current state (that it's currently disabled / visibility is off). (B) Toggling the button should dynamically announce its state changed (C) Returning to the button, it should now announce that it's on (visibility is on / the button is enabled/pressed/active) ### Actual Result The button conveys no state information. Toggling the button does not lead to any TalkBack hint/announcement that anything actually happened ### Screenshots or Videos Photos (as can't take on-device screenshots, since Bitwarden suppresses this) of Bitwarden on Android, with TalkBack's speech output visible at the bottom: ![Focus on the toggle button when it's off, with TalkBack text "Toggle visibility, Button"](https://user-images.githubusercontent.com/895831/169385072-01790915-b889-4e52-abfb-9302ed7f2845.jpg) ![Focus on the toggle button when it's on, with TalkBack text "Toggle visibility, Button"](https://user-images.githubusercontent.com/895831/169385162-29b74c35-a957-4b7b-b6b8-6890c668c589.jpg) ### Additional Context The desktop client and extension had similar issues, until I addressed them - see https://github.com/bitwarden/clients/issues/2228 and https://github.com/bitwarden/desktop/issues/1442 For android native, there's likely a native "toggle" type button/attribute that can be set on buttons. its value should be dynamically changed to reflect its current state. Failing that, a dynamic change of accessible name ("Toggle visibility, on" or "Toggle visibility, pressed" / "Toggle visibility, off" or "Toggle visibility, not pressed") would do the trick. Just something that conveys what's going on to assistive technology users. ### Operating System Android ### Operating System Version 11 ### Device Motorola moto g(8) ### Build Version 2.18.0 (4572) ### Beta - [ ] Using a pre-release version of the application.
GiteaMirror added the bug label 2025-11-26 22:49:37 -06:00
Author
Owner

@patrickhlauke commented on GitHub (May 20, 2022):

Same is true on iOS

Focus on the toggle button when it's off, with VoiceOver text "Toggle visibility, Button"

Focus on the toggle button when it's on, with VoiceOver text "Toggle visibility, Button"

@patrickhlauke commented on GitHub (May 20, 2022): Same is true on iOS ![Focus on the toggle button when it's off, with VoiceOver text "Toggle visibility, Button"](https://user-images.githubusercontent.com/895831/169522073-52adfbf6-cb32-44c0-ae1d-e06eace4827f.png) ![Focus on the toggle button when it's on, with VoiceOver text "Toggle visibility, Button"](https://user-images.githubusercontent.com/895831/169522109-e7c4478e-16b7-4d0e-9e57-6b657162ca8b.png)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#1455