Signal-Desktop
Signal-Desktop copied to clipboard
[Accessibility] Signal's UI language no longer properly communicated to screen readers
Using a supported version?
- [X] I have searched searched open and closed issues for duplicates.
- [X] I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.
Overall summary
Since Signal Desktop version 7.5.0, on my German language MacOS, VoiceOver switches to an English voice whenever I start Signal and read messages. The UI is in German, most of my contacts are German, and until previous versions, this was never an issue. However, now it appears that the whole UI is being communicated to MacOS and VoiceOver to be in English. This is definitely true for the HTML content of the Signal UI, but also for the menu bar.
Therefore, there seems to be something being mis-communicated in the packaged app itself, and maybe also the HTML. It should reflect the actual UI language, and not be hard-wired to English, or en-us, as seems to be the case now.
Steps to reproduce
- On a Non-English MacOS, start VoiceOver.
- Make sure Finder etc., talks in your language.
- Start Signal for desktop, current release version is 7.6.0.
- Listen to what VoiceOver says in what Voice when tabbing through the UI.
Expected result
The correct behavior should be that VoiceOver stays in the language of your operating system when talking, and not switch to an English voice.
Actual result
There are no error messages. But VoiceOver switches to an English voice, probably Alex or another system voice, and speaks English, even if a message thread you tab to is in German, French, Spanish or whatever. Also, the menu bar like File/Edit etc., will be spoken with an English voice even when the labels are clearly not in English.
Screenshots
No particular screenshots, the app is just not in English.
Signal version
7.6.0
Operating system
MacOS 14.4.1
Version of Signal on your phone
7.8
Link to debug log
https://debuglogs.org/desktop/7.6.0/f9536169c1ccf4f047d2053c53771db7a99f0e90091d3f69910c764911262830.gz
Really sorry that you're experiencing this. I've been trying different things to try and reproduce it but so far I've been unable to. Are you still able to reproduce this issue in 7.7.0?
From your logs I can see that we are resolving to the correct locale:
# you have not changed the app locale in settings
INFO 2024-04-27T10:25:31.579Z got fast localeOverride setting null
# loaded correct preferred system languages
INFO 2024-04-25T13:10:56.489Z app.ready: preferred system locales: de-DE, en-DE
# matches correct locale
INFO 2024-04-25T13:10:56.490Z locale: Matched locale: de
# we log this after loading the locale so we can tell it loaded properly
INFO 2024-04-25T13:10:56.505Z locale: Text info direction for de: ltr
Yes, this problem still exists in version 7.7.0. I have a suspiciion that this might be an Electron problem. I am experiencing a similar bug in Microsoft's Skype for Desktop. Its UI is also in German, so it gets my unchanged system locale correctly as well, but VoiceOver speaks everything in English there, too. So my suspicion is that Electron, Chromium or a combination of both always communicates the app language to VoiceOver to be English. Meaning the basic engine, before any of the app stuff is even loaded, and for some reason prevents the overriding of the language via the web content. I don't know enough about chromium or Electron to debug this, but as I am seeing this in two separate Electron apps, the evidence is substantial.
With Electron Fiddle we could potentially create a smaller reproducible example for the Electron team to fix the issue. I created a basic gist to update the document locale based on the system locale loaded by electron.
- Download Electron Fiddle: https://www.electronjs.org/fiddle
- Load this gist: https://gist.github.com/89dba0f6f94c185b5625f22c3bb95461
- Click "Run" and it'll launch a small app and you can test it out if it has the same problem
This fiddle works as expected in both 27.1.3 and the default version of Electron 30 that is downloaded initially with Electron Fiddle. I also made sure to add a simple plain paragraph of German text below the button to make sure. Both are read in German as expected.