obsproject / obsproject/obs-studio

Source audio mute doesn't work with VoiceOver screen reader on macOS

Open
#6,200 10 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/accessibility area/dependency issue/confirmed
Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Description

Operating System Info

Other

Other OS

macOS 12.3

OBS Studio Version

27.2.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/U1Tpoa9RarzCDlAq

OBS Studio Crash Log URL

No response

Expected Behavior

When using VoiceOver, activating the mute checkbox on a source with CTRL+OPT+Space should mute an audio source.

Current Behavior

Checkbox changes state, visual icon goes from grey speaker with waves to red speaker with X, but source is not muted. Meter remains colored.

Steps to Reproduce
  1. Open OBS
  2. Start VoiceOver - CMD+F5
  3. Move VoiceOver to "mute [source name] audio unchecked checkbox" - CTRL+OPT+Right arrow multiple times
  4. Activate checkbox - CTRL+OPT+Space
Anything else we should know?

The current workaround is to simulate a mouse click, by pressing CTRIL+OPT+CMD+5 to move the mouse cursor to the checkbox and then CTRL+OPT+SHIFT+Space to simulate the click action. This is a workaround, not a typical or recommended usage pattern.
This is a result of the mute action being bound to mousePressEvent, instead of the standard stateChanged provided by QCheckBox. This bug is present in all QCheckBox based controls.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the QCheckBox-based controls whose mute action is bound to mousePressEvent, then compare that behavior with the standard stateChanged signal described in the issue. Done means activating the mute checkbox with VoiceOver using CTRL+OPT+Space mutes the source and the audio meter reflects the change.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
accessibility, desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.