Text Input and Screen Readers Hide/Show Answer

Hi there,

I’m wondering how screen readers work with the Text Input component. In a recent audit, JAWS and NVDA were reported to repeat answers and read the exercise in the wrong order. I know from other threads that there has been recent testing, so this might be an issue with how we’ve set up Text Inputs on our end.

Essentially, screen reader readouts are confusing when activating the Hide Correct Answer / Show Correct Answer buttons. When activating the Show the Correct Answer button, JAWS reads out the first correct answer twice and the button again before reading the correct answers, then JAWS reads all of the input labels over again, followed by the answers, but in a different order than they are seen in the exercise and the list of correct answers below the exercise. When activating the Hide the Correct Answer button, JAWS reads only the input labels followed by the incorrect answers, but again, not in the same order that they were input or appeared above the button. NVDA reads ‘incorrect’ four times.

We provide multiple answer options to allow for typing variation (generally one with a capital letter to start, and one without). So in the exercise pictured, the two answer options for Q1 are “Double data entry” and “double data entry”. (Side note: Upon writing this, I’m wondering if keeping the Strict Marking toggle off covers this type of thing?)

Once the exercise is submitted, do screen readers read through all answer options? I’m wondering if this is why we are experiencing repetitions? Although, it is only Q1 that is repeated. Also not sure why it’s sometimes read in the wrong order. (Also fully realise and appreciate that all screen readers operate differently and we can’t cover everything!)

Any insight into how this works would be helpful in case we need to make any improvements on our end!

Yes, that’s exactly what it does. That setting could probably use some help text - but what it does is:

  • Forces to lowercase
  • Trims leading and trailing spaces
  • Removes the characters [.,-/#!$£%^&*;:{}=-_`~()]

from both the learner’s answer and the ‘possible answers’ before comparing them

I’m not sure why you’re getting such odd results from the ‘show correct answer’ functionality, I just tested that in VoiceOver and it worked as expected i.e. reads out a list of the correct answers. Note that the ‘hide correct answer’ action doesn’t have any special screenreader functionality, it just changes the UI back to show the learner’s answers again. If they wanted to hear those read out they would have to navigate back to the items.

2 Likes