Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VO repeats descriptions in Wrappers #286

Closed
Nancy-Salpepi opened this issue Apr 1, 2022 · 12 comments
Closed

VO repeats descriptions in Wrappers #286

Nancy-Salpepi opened this issue Apr 1, 2022 · 12 comments

Comments

@Nancy-Salpepi
Copy link

Test device
MacBook Air (m1 chip)

Operating System
12.3

Browser
Safari

Problem description
For phetsims/qa#791, VoiceOver repeats descriptions in the downstream sim. This only happens for changes made in the sim (moving the book, moving a toggle button on/off).

Steps to reproduce

  1. In the state wrapper, set the Set State Rate = 0
  2. Make a change in the upstream sim and press 'Set State Now'
  3. Turn on VO and tab into the play area of the downstream sim
  4. Move book back and forth -- descriptions will repeat

Visuals

VOstate.mov
@Nancy-Salpepi
Copy link
Author

Also seen in the following wrappers: Data: textarea, Data: recording, Screenshot, Multi, and Active wrappers (unable to test studio at this time)

@Nancy-Salpepi Nancy-Salpepi changed the title VO repeats descriptions in State Wrapper VO repeats descriptions in Wrappers Apr 1, 2022
@DevonQui
Copy link

DevonQui commented Apr 4, 2022

I tested these cases out on an M1 Macbook as well and saw the same behavior where VoiceOver repeated descriptions when changes were made to the sim.

@terracoda
Copy link
Contributor

Just and FYI, when we used to do Sound design using a wrapper, this type of repetition was very common. I do not know what causes it.

@zepumph
Copy link
Member

zepumph commented Jul 15, 2022

I couldn't reproduce this with windows/chrome/nvda. I'll need to solicit a mac user.

@jessegreenberg
Copy link
Contributor

jessegreenberg commented Jul 15, 2022

I was able to reproduce this problem with MacOS 11.6.2 Safari. I tried a basic HTML + js example but could not get this to happen.

index:

<!doctype html>
<html class="no-js" lang="">
<body>

  <!-- Add your site or application content here -->
  <p>Hello world! This is HTML5 Boilerplate.</p>

  <iframe src="content.html"></iframe>
</body>

</html>

content:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div>
  <h1>Example iFrame content</h1>
  <p aria-live="polite" id="alerter"></p>
</div>
</body>

<script>
  const alerter = document.getElementById( 'alerter' );

  let counter = 1;

  window.setInterval( () => {
      alerter.textContent = `This is a new alert: ${counter}`;
      counter++;
  }, 5000 );

</script>
</html>

I tried

  • aria-live="polite" and aria-live="assertive" to see if one caused it.
  • Using the platform workarounds we have in AriaLiveAlerter in our example, so my content.html looks like
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div>
  <h1>Example iFrame content</h1>
  <p aria-live="polite" id="alerter"></p>
</div>
</body>

<script>
  const alerter = document.getElementById( 'alerter' );

  let counter = 1;

  window.setInterval( () => {

    setTimeout( () => {
      alerter.textContent = '';

      alerter.hidden = false;

      alerter.textContent = `This is a new alert: ${counter}`;
      counter++;

      window.setTimeout( () => {
        alerter.hidden = true;
      }, 200 );
    } );
  }, 5000 );

</script>
</html>

I am not sure why this is happening in Safari in iFrames but I am not convinced yet that it is not our fault. But I am not sure if we should spend more time on this.

Outside of PhET-iO, I know that embedding PhET sims in iFrames is a popular use case so I am sad that this is broken.

Also, the experience with the sim on my Mac was very poor. VoiceOver almost always just said "Safari busy..." as it struggled with performance. If we continue here we may want to test by remote access into a different PhET machine.

@zepumph
Copy link
Member

zepumph commented Jul 26, 2022

@jessegreenberg and I discussed this a bit more. We don't see any potential workarounds, and we don't think it is worth spending more time reproducing the issue at this time. This does not block Friction.

@zepumph
Copy link
Member

zepumph commented Aug 5, 2022

@terracoda, @emily-phet, and I think we should create a bug report for this. If any of our third-party embedder of PhET sims reach out with this issue, we can recommend directly using the sim from our website (a bad workaround, but potentially possible).

UPDATE: @jessegreenberg helped me realize that I read #286 (comment) incorrectly. It isn't reproducible in that snippet. We will spend a modest amount of time seeing if it is possible (give our moderate success and large amount of fun doing the same thing last week in phetsims/a11y-research#175). I'll report back.

@jessegreenberg
Copy link
Contributor

We came back to this today and tried not to
@jessegreenberg on a Mac 11.6.2 - Could not reproduce this (tested on https://phet-dev.colorado.edu/html/john-travoltage/1.6.4/phet/john-travoltage_all_iframe_phet.html)
@chrisklus on a Mac 10.13.6 Safari 13.1 - Tested (https://phet-dev.colorado.edu/html/john-travoltage/1.6.4/phet/john-travoltage_all_iframe_phet.html)
@Nancy-Salpepi on a Mac 12.5.1, Safar 15.6.1 - It happened immediately in both RAP and JT

Then, @jessegreenberg tried again DID see the problem happen in john-travoltage example. We created some more examples to test on @Nancy-Salpepi machine to see if it will happen outside of PhET. If so we can either identify and fix the problem or submit a bug report to Apple. See examples here: https://phet-dev.colorado.edu/html/jg-tests/iframe-tests/

@jessegreenberg
Copy link
Contributor

We got it to happen on my machine in the most basic case by doing the following:

@jessegreenberg
Copy link
Contributor

This is about as simple as it gets for aria-live we are ready to submit this example to Apple as a bug report. Since it is outside of our hands we will also make sure it is in the list of known platform issues.

@zepumph
Copy link
Member

zepumph commented Aug 29, 2022

Thanks so much to @jessegreenberg @Nancy-Salpepi and @chrisklus for helping to investigate this bug. We couldn't have done it without you all. I'm going to close this issue as a won'tfix knowing that an apple bug report will be given for phetsims/a11y-research#177.

Closing

@zepumph zepumph closed this as completed Aug 29, 2022
@Nancy-Salpepi
Copy link
Author

Nancy-Salpepi commented Jan 2, 2023

I know this was closed as "won't fix," but wanted to note that I also see repetition in the Standard Phet-iO wrapper
in the most recent dev test (phetsims/qa#868).

EDIT: I also see this bug was added to the list of known a11y bugs. Thanks 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants