[JAWS] Mark mode reads the next character instead of the one that's selected #18613

Closed
opened 2026-01-31 06:19:20 +00:00 by claunia · 2 comments
Owner

Originally created by @carlos-zamora on GitHub (Oct 6, 2022).

Originally assigned to: @carlos-zamora on GitHub.

Windows Terminal version

1.16.2642

Windows build number

No response

Other Software

JAWS

Steps to reproduce

  1. have output (echo test)
  2. enter mark mode
  3. move to first "t" in test"
  4. move right one cell (onto "e")

Expected Behavior

the newly selected text/letter should be read ("e")

Actual Behavior

the letter beside it is read ("s")

Originally created by @carlos-zamora on GitHub (Oct 6, 2022). Originally assigned to: @carlos-zamora on GitHub. ### Windows Terminal version 1.16.2642 ### Windows build number _No response_ ### Other Software JAWS ### Steps to reproduce 1. have output (`echo test`) 2. enter mark mode 3. move to first "t" in test" 4. move right one cell (onto "e") ### Expected Behavior the newly selected text/letter should be read ("e") ### Actual Behavior the letter beside it is read ("s")
Author
Owner

@carlos-zamora commented on GitHub (Jan 20, 2023):

Issue repros with JAWS 2023.2212.23.

I took a look at this and I'm seeing A LOT of events from JAWS, so that makes it a bit difficult to track. Uploading here so that I don't have to do it again.

TVPP Session.csv

GetSelection() is operating as expected, along with the other UIA APIs, it seems. I'm betting that this is another manifestation of #13447. So I'm suspecting JAWS gets the selection changed event and does a bunch of UIA calls to figure out what to present. At the end of the day, it ends up presenting the wrong character.

Only thing I can suggest here is that JAWS either changes their implementation or we see if this gets fixed alongside #13447. And unfortunately, if JAWS changes their implementation, there's no promise that it'll still work when #13447 is fixed.

I'm keeping this open but I don't think there's much we can do here (at least in the short-term).

@carlos-zamora commented on GitHub (Jan 20, 2023): Issue repros with JAWS 2023.2212.23. I took a look at this and I'm seeing A LOT of events from JAWS, so that makes it a bit difficult to track. Uploading here so that I don't have to do it again. [TVPP Session.csv](https://github.com/microsoft/terminal/files/10468842/TVPP.Session.csv) `GetSelection()` is operating as expected, along with the other UIA APIs, it seems. I'm betting that this is another manifestation of #13447. So I'm suspecting JAWS gets the selection changed event and does a bunch of UIA calls to figure out what to present. At the end of the day, it ends up presenting the wrong character. Only thing I can suggest here is that JAWS either changes their implementation or we see if this gets fixed alongside #13447. And unfortunately, if JAWS changes their implementation, there's no promise that it'll still work when #13447 is fixed. I'm keeping this open but I don't think there's much we can do here (at least in the short-term).
Author
Owner

@carlos-zamora commented on GitHub (Aug 12, 2025):

Validated this works on WT Canary v1.24.2111.0. As mentioned above, this was probably fixed when #13447 was closed. Closing

@carlos-zamora commented on GitHub (Aug 12, 2025): Validated this works on WT Canary v1.24.2111.0. As mentioned above, this was probably fixed when #13447 was closed. Closing
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18613