bitwarden / bitwarden/ios

OTP item context menus (tap and hold) not accessible with VoiceOver screen reader

Open
#1,457 4 comments 0 reactions 0 assignees View on GitHub
app:authenticator bug
Dominant language
Swift
Stars
684
Forks
154
Avg merge
3d 22h
Merged PRs (30d)
24

Description

### Steps To Reproduce

(Requires knowledge of using iOS’ VoiceOver feature)

1. Enable VoiceOver in iOS Settings > Accessibility
2. Open BitWarden Authenticator
3. Open the context menu of an OTP item (with VoiceOver, double-tap and hold or triple tap)
4. Attempt to navigate the context menu to choose the Copy, Edit or Delete options

### Expected Result

VoiceOver should read each menu item (Copy / Edit / Delete) as they are focused, and double tapping should activate the focused item.

### Actual Result

VoiceOver does not select either item, instead only focussing the “dismiss context menu” option.

### Screenshots or Videos

https://github.com/user-attachments/assets/a689c8c2-3608-4590-a920-8973305d0b15

### Additional Context

_No response_

### Build Version

2025.2.0 (82)

### What server are you connecting to?

US

### Self-host Server Version

_No response_

### Environment Details

- iPhone 14 Pro Max
- iOS 18.4 Beta 4 (though I believe the issue occurred on iOS 18.3 as well)

### Issue Tracking Info

- [x] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the OTP item context-menu flow with VoiceOver on an iPhone, using the steps and video in the issue. Then locate the OTP item context-menu entry point and inspect why Copy, Edit, and Delete are not focusable or activatable; done means VoiceOver reads each option and double-tapping activates the focused action.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
accessibility, mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.