standards-support icon indicating copy to clipboard operation
standards-support copied to clipboard

Using virtual cursor to read input field, JAWS reads content of previous field

Open markmagennis opened this issue 2 years ago • 7 comments

Summary

Two adjacent text input fields labelled One and Two, both containing text. Use Down Arrow in virtual cursor mode to read through labels and fields.

Expected result

Expected it to read (one line for each arrow key press):

  1. One
  2. Edit, first field content
  3. Two
  4. Edit, second field content

Actual result

  1. One
  2. beep
  3. first field content
  4. Two
  5. first field content, Edit
  6. second field content

Main issue is that is reads the first field content when you arrow into the second field. Another issue is that it doesn't announce "Edit" for the first field.

Example

https://spe4qj.csb.app/textfields2.html

JAWS version and build number

2022.2202.38 ILM

Operating System and version

Win 10

Browser and version:

Chrome 99.0

markmagennis avatar Mar 30 '22 14:03 markmagennis

You haven’t closed your first label. It’s an issue with your code, not with jaws.

JasonAment avatar Mar 30 '22 14:03 JasonAment

Whoops! Thanks for pointing that out. Have now fixed code in linked example. Result is exactly the same though so the issue seems to be with JAWS.

markmagennis avatar Mar 30 '22 17:03 markmagennis

@markmagennis the markup is still incorrect as you have the first label wrapping around both inputs and the second label

<label for="testfield1">One
      <input type="text" id="testfield1" name="date1" value="first field content">
      <br>
      <label for="testfield2">Two
      <input type="text" id="testfield2" name="date2" value="second field content">
      </label>
    
    <script crossorigin="" type="text/javascript" src="https://codesandbox.io/static/js/watermark-button.be960f43b.js"></script>
  </label>

stevefaulkner avatar Mar 30 '22 21:03 stevefaulkner

@stevefaulkner I think you must be looking at the original example. I edited the original comment to link to an updated example.

markmagennis avatar Mar 31 '22 06:03 markmagennis

The problem occurs with Firefox, Edge and Chrome. It occurs with JAWS 2022 and JAWS 2021. The problem occurs regardless of whether the input field is in the label or linked by <label for> or both (as in the original example). The output is as follows:

  • For the first input field, no output of the role (input field).
  • For all fields, the value of the previous field is output first and then the value of the current field. In Firefox the current value is even output 2x, i.e. per field 3 values

JAWS-test avatar Mar 31 '22 07:03 JAWS-test

The problem occurs only when the automatic switch to forms mode is enabled (JAWS default setting).

When automatic switch to forms mode is disabled, the output by JAWS is correct.

JAWS automatic mode switching has often been error-prone and has caused various problems (e.g. https://github.com/FreedomScientific/VFO-standards-support/issues/199).

JAWS-test avatar Mar 31 '22 08:03 JAWS-test

This issue has already been reported: https://github.com/FreedomScientific/VFO-standards-support/issues/465.

It's a pity that nothing has happened after such a long time. It's been so long that when I read the current issue, I couldn't even remember the old one.

JAWS-test avatar Mar 31 '22 08:03 JAWS-test