phetsims / scenery

Scenery is an HTML5 scene graph.
MIT License
54 stars 12 forks source link

PhET full screen mode looks like a dialog to VoiceOver - Is it a dialog? #1609

Open terracoda opened 1 year ago

terracoda commented 1 year ago

I was just listening to Molarity while trying to record some demos, and I noticed that when I use Full Screen from the PhET Menu, VoiceOver constantly tells me "Molarity started playing audio in the background tab."

VoiceOver says this every time there is a change which is really annoying.

VoiceOver does not do this if I use Safari's native full screen mode. I noticed that VoiceOver seems to think the sim is in a dialog when in PhET's full screen mode. If the sim is put into a dialog, then it would be natural for VoiceOver to think the sim has something going on in the background.

Note that this also does not happen when I use Chrome & VoiceOver with PhET's full screen mode, so it does seem like it is Safari specific.

It might be a low-use case that a VoiceOver user would use the Full Screen button, but I wouldn't want to rule it out.

My main questions are:

jessegreenberg commented 1 year ago

I haven't done a deep dive, but just putting in some thoughts. We use a standard request for fullscreen like https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API. I remember we ran into problems very similar to this with aria-live. If the aria-live elements are not contained by the full screen element, they do not work well. Perhaps sound generators are similar if they have DOM representation. This might go away if they are moved under the full screen DOM element. I am not knowledgeable about how that works though, @jbphet would be the one to check with.

Back to @terracoda to review or comment on next steps.