Terminal: UIA in conhost: issues with visible ranges

Created on 23 Apr 2020  路  9Comments  路  Source: microsoft/terminal

Environment

Windows build number: [run `[Environment]::OSVersion` for powershell, or `ver` for cmd] next (19613.1000).
Windows Terminal version (if applicable): Inbox console

Any other software? NVDA

Steps to reproduce

  1. Download this list of domains.
  2. Start Windows Console and NVDA (with UIA in Windows Console enabled in advanced preferences).
  3. Run a python interpreter: python.
  4. Run:

    fin=open("domains.txt")
    fin.readlines()

Expected behaviour


Like in pre-21H1 conhost and Windows Terminal 0.11, NVDA reads current output immediately.

Actual behaviour


At this point, NVDA's auto-read lags far behind the actual output in the buffer. Quitting Python with quit() continues reading very old output.

Context

When a text change event is received, NVDA takes a diff of the old and new text and reads only the changed portion of the text. Maybe there's a bug in our diffing algorithm (implemented here, in LiveText._calculateNewText)?

Area-Accessibility Issue-Bug Needs-Tag-Fix Product-Conhost

All 9 comments

Cc @carlos-zamora.

Do you still intend to look at this for 21H1? It would mean a lot for NVDA. Thanks!

This bug is not reproducible in Windows Terminal but it is in Conhost.

@codeofdusk Yup! At least for now, we're hoping to get this in for 21H1. Just a bit caught up with stabilizing the last bit of Windows Terminal at the moment, so some of these ConHost bugs are lower priority.

@carlos-zamora Any updates on this one?

@carlos-zamora Carlos Zamora FTE Any updates on this one?

Haven't had a chance to look at this one. We're prioritizing some other work right now. I'll be sure to get to this when we start working on ConHost issues though.

Do you still plan to get to this for 30 July (21H1)? For context, it's probably the single biggest issue blocking NVDA from using UIA in conhost.

Turns out this particular case is due to NVDA's diffing algorithm. Sorry!

For future reference, this issue has nothing to do with visible ranges after all! See nvaccess/nvda#11639 for a description of the bug. Thanks @carlos-zamora for explaining the new behaviour of conhost and helping me track this down!

Was this page helpful?
0 / 5 - 0 ratings