Statement on top of other statements

I’m struggling to understand the bug reported here. I don’t understand the steps to reproduce the bug, and I don’t understand the difference between what you expect to happen and what actually happened.

You said “pick a game on the website.” Let’s consider our newest game, “A Squire’s Tale.” https://www.choiceofgames.com/squires-tale/

I just tried it on Windows 10 with JAWS 2020 in Google Chrome and Firefox. I used the down arrow repeatedly to read the text, and then used Alt-N or Alt-Shift-N to select the “Next” button. After I clicked it, JAWS stopped reading. I pressed down arrow to navigate through the new page. It read the new text aloud, and then I selected another choice.

All of this worked as I’d expected it to. At no point did JAWS read text from previous choices.

1 Like

hi,

its incredibly cool that you are looking into this, and that you know enough about screen readers to do so.

I and the OP of this post are using a free screen reader called nvda, which can be downloaded from https://www.nvaccess.org/download/

I’m using microsoft edge, though I’ve seen this behavior in all browsers.

  • press “play now for free”
  • read through the intro text of chapter 1.
  • press alt n to advance, and read the next part of the chapter with down arrow. Assume we choose the first option which is selected by default, “My lady’s summons is more important—I try to maneuver past him and escape.” Press alt n.
  • read the next section that begins You stride toward him as if squaring up for a fight,
  • read the next set of choices. Option 1 will now read: “At once, my lady!” My lady’s summons is more important—I try to maneuver past him and escape.

We know because that was the series of choices for the previous set, that’s not actually present.

option 2:2, the second choice in the second choice block reads, “Where to, my lady? Should I be prepared for conflict on the road?” Attack is the best form of defense—I intend to make him regret those words.

At least in jaws with the latest version of microsoft edge and chrome, this still happens. Not sure why we are seeing different results, but I just tried it in jaws and chrome as well.

I understand your bug report now; I was able to reproduce the bug in JAWS and NVDA, and I believe I’ve fixed it in “A Squire’s Tale.”

Please return to “A Squire’s Tale” and refresh the page. If you confirm that it works, I’ll begin rolling the fix out to other games.

(In the meanwhile, you can work around this issue in all of our games by changing your game Settings. Use the Settings button at the top of the screen, and select “Don’t animate between pages.”)

5 Likes

Hey, yes, it is fixed in both cases in my experience.

That’s so cool! Thanks so much!

Totally fine if not, but I’m amiturely curious about this kind of stuff, so if you could take the time to explain in lamens terms what was causing it that would be incredibly awesome.

1 Like

ChoiceScript choices use HTML radio buttons. To work correctly in a screen reader, each radio button needs a label, a bit of text that appears next to the radio button to explain what it does. Each radio button is supposed to have a unique ID, and each label is supposed to use the correct ID. That way, screen readers know which label goes with which radio button.

By default, ChoiceScript games animate when you click the Next button. The current page slides away to the left, and a new page slides in from the right. Briefly, both pages are visible at once.

I made sure that each radio button had a unique ID by giving the first radio button ID 1, and the second one had ID 2, and the third one had ID 3, and so on. But when the previous page and the current page are visible at once, there were two radio buttons with ID 1, and two labels using ID 1.

As a result, the screen reader read both labels for ID 1 aloud.

I fixed this by giving each option a long random ID made out of letters. Now, the first radio button might have ID “QKHSMUXQFD” and the second radio button might have ID “JCIRTQPRWZF”. As a result, even when two pages are showing at the same time, no two radio buttons would ever have the same ID.

I missed this issue because I normally don’t test on JAWS or NVDA; I test on iOS VoiceOver, which didn’t have this issue.

7 Likes

Pretty cool seeing the inner workings of things. I assume this will be part of the next CS update roll? And while at it, even though the chance is very slim, will the randomized ID be identical? Probably a long work to make the randomizer uses seed I assume?

1 Like

Thank you :slight_smile:
Of course the solution to this particular bug is the one option that otherwise I would probably most likely never use in the settings. LOL. Well meh, life.
However, how do I deal with the fact, that when I go into settings and then attempt to return to the game, it seems to have forgotten about the start up file I just loaded, and makes me reload the game, which I assume reset the settings?

This would depend on which version of game you’re playing. Are you playing on mobile (standalone app)? iOS in Omnibus? Web browser?

If you’re writing on Dashingdon, then yes, every page reload would reset the settings.

1 Like

As it stands, I am testing the game up to the point that I have created it, using my laptop computer, Windows operating system, fire fox search engine.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.