Open origine999 opened 1 year ago
A good reference implementation for expected UIA text range behaviour is MS Word (winword.exe
).
Any progress on this? This problem has plagued screen reader users for more than a decade.
cc: @siagupta0202, @anjali-wpf, @Arpitmathur, @dipeshmsft, @Himgoyalmicro, @harshit7962 could someone please look into this? It impacts alot users in multiple scenarios, especially when using braille displays and the same line is shown on the display although the caret moved to a different line. The same happens with speech from the screen reader. It would be really nice to see some improvements to accessibility of WPF in this regard.
Is this bug related specifically to tooling in Visual Studio? No
Problem description: When reviewing line by line a multi-line TextBox with a screen-reader (Narrator or NVDA), the screen-reader will always read a line of text twice as long as there is a blank line above said line of text. The user will either think that the line of text is present twice or that the text navigation is broken.
Actual behavior: When using down arrow to go line by line in a TextBox, Narrator / NVDA will read some lines of text twice, even though the line is there only once.
Expected behavior: Just like any other text edit, the screen-reader only reads the current line of text once when cursor moves down or up by one line.
Minimal repro:
Keep pressing down and up arrow to notice how Narrator / NVDA will read the line of text below a blank line instead of reading "blank".
Additional information I might be wrong in this section, I just thought since I did more investigation I would put it here in case it's useful.
This seems like a UIA provider bug.
When debugging WPF, I noticed that in TextRangeAdapter.cs --> line 522:
private void ExpandToEnclosingUnit(TextUnit unit, bool expandStart, bool expandEnd)
Other notes: