phetsims / a11y-research

a repository to track PhETs research into accessibility, or "a11y" for short
MIT License
3 stars 0 forks source link

Safari not Voicing in macOS 12 #183

Open terracoda opened 1 year ago

terracoda commented 1 year ago

I am now experiencing no Voicing when using Safari. MacOS 12.6.2 Safari Version 15.6.1 (17613.3.9.1.16)

This happened with a participant last week as well. I could find that issue to re-open it.

terracoda commented 1 year ago

I get sonifications and sounds, just no Voicing.

jessegreenberg commented 1 year ago

I was just able to get Voicing to stop working in macOS 11.7.2. I had VoiceOver and Voicing on at the same time. Voicing and VoiceOver were speaking at the same time and working OK. Then I switched the Voicing voice to "Victoria" and turned off VoiceOver. Then I changed some checkboxes in the sim. Voicing just stopped working. Then, it stayed broken even when refreshing the webpage. I restarted Safari and Voicing came back.

jessegreenberg commented 1 year ago

I just repeated the steps and Voicing worked. Maybe this was something else. If it is consistent on 12.6.2 it would be best to investigate there, @terracoda can we meet sometime to debug?

terracoda commented 1 year ago

MacOS 12.3 also has this issue https://stackoverflow.com/questions/72225314/speech-synthesis-is-not-working-in-safari-macos-12-3

Strangely, when we first loaded the sim today and enabled Voicing, it Voiced for about 1 second and then never voiced again.

We played with some system settings and some Safari settings. Nothing seemed to work. The System settings spoke real text, but Speech Synthesis remained broken.

The Speech Synthesis console commands also did not work on MacOS 12.6.2

jessegreenberg commented 1 year ago

@terracoda and I tried enabling and disabling VoiceOver and it did not fix the problem.

We inspected window.SpeechSynthesis and found that speaking is stuck to true when this happens. This probably explains the error, but does not show how we might fix it. image

We also tried shutting down other background browsers in case they were hogging SpeechSynthesis.

We also tried to run another sim with Voicing on the same platform. Voicing was still broken.

We tried a new sim (ratio-and-proportion). Voicing did work for the first Utterance ("Voicing on."). But never worked after that. Then we tried changing the URL and found that when you change the URL, Voicing worked.

Should we disable Voicing in macOS 12.6? Or should we put this in teacher tips? Should we submit a bug report to Apple?

terracoda commented 1 year ago

And for clarity my Safari version is: Version 15.6.1 (17613.3.9.1.16)

jessegreenberg commented 1 year ago

@jessegreenberg was testing on macOS 11.7.2 with Safari 16.2

terracoda commented 1 year ago

I will report this Apple's Accessible Dev list? We had a good response to the skipped aria-valutext issue. Do we have bug report number yet?

jessegreenberg commented 1 year ago

Since it is specific to macOS 12 and fixed in 13 I wasn't sure it was worth writing up a report. It's probably the right thing to do though.

terracoda commented 1 year ago

I can ask if we should file a report for an older version. People still use the old versions. Let's see if I get a response. I'll copy you :-)

jessegreenberg commented 1 year ago

OK, thanks!

terracoda commented 1 year ago

Email sent. We'll see what happens.

jessegreenberg commented 1 year ago

Awesome, thanks @terracoda. Would you mind if I transferred this issue to the a11y-research repo since we now know it is not specific to quadrilateral?

terracoda commented 1 year ago

Sure, and I heard back. They likely won’t fix issues in the 12.x series, so likely no point in making a formal bug report.

jessegreenberg commented 1 year ago

OK, thanks for reaching out to them @terracoda, thats unfortunate. We could try to disable Voicing and usages of SpeechSynthesis on that platform so Voicing doesn't seem broken to users. Would that make sense or should we do something else? Or nothing?

terracoda commented 1 year ago

What you suggest seems reasonable @jessegreenberg, and I also wanted to share Jame's latest comment...he said:

Generally speaking, the primary things that ship to older releases are security fixes. Other bugs sometimes make the cut, but usually only if there is wide impact reported immediately after the regression is released, while the release is still current.

However, in the interest of improving reliability across all systems, one way you could address this is to file an issue (or submit a patch) to Web Platform Tests. These are shared automation tests that all browser vendors use. If there is a particular Web API that you or a system you maintain relies on, shared automation tests are one of the best ways to ensure it does not regress silently for any browser engine in future releases.

https://github.com/web-platform-tests/wpt/issues

Is it worth filing a bug report there, as well as blocking Voicing on MacOS 12.x? I am certain is was working before I updated and we have verified Voicing is working on MacOS 13.

jessegreenberg commented 1 year ago

OK, thanks. I am going to look into that.

That seems like the right thing to do, but I would want to understand that project a bit more first. I don't think it would be a bug report, it would be more like a feature request to add tests or even make our own pull request for that open source project. Maybe there are already issues open about SpeechSynthesis.

terracoda commented 1 year ago

I agree, and I wonder if it is something we can look into as part the open-source side of things.