FreedomScientific / standards-support

Contains documentation for Vispero software support of Web standards
https://freedomscientific.github.io/standards-support/
GNU General Public License v3.0
109 stars 11 forks source link

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

Open markmagennis opened 2 years ago

markmagennis commented 2 years ago

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

JasonAment commented 2 years ago

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

markmagennis commented 2 years ago

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.

stevefaulkner commented 2 years ago

@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>
markmagennis commented 2 years ago

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

JAWS-test commented 2 years ago

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:

JAWS-test commented 2 years ago

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 commented 2 years ago

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.