nvaccess/nvda

Text Marking Does Not Work Properly When Editing Text in Thunderbird

Opened this issue · 8 comments

Steps to reproduce:

  1. Reply to an e-mail message as plain text e. g. in Thunderbird by quoting the original message.
  2. Mark the current position of the review cursor as the start of text to be selected or copied (NVDA+F9).
  3. Go to the end of the quoted section that you wish to delete from your reply (should be the first line beginning with ">" and a space) that you wish to keep intact, stop the marking of text (NVDA+F10) and press Delete.

Actual behavior:

Even the beginning of the line containing ">" and a space will be deleted as part of the marked area of text.

Expected behavior:

The line where marking of text is stopped at the beginning of the line should remain completely intact like in text editors that support marking of text as blocks or areas (can be reproduced in any text editor).

NVDA logs, crash dumps and other attachments:

Not available

System configuration

Windows 11 updated from Windows 10 ignoring hardware requirements for Win 11

NVDA installed/portable/running from source:

NVDA installed

NVDA version:

NVDA alpha-32200,564e4011

Windows version:

Microsoft Windows 11 Pro

Name and version of other software in use when reproducing the issue:

Thunderbird 115.11.0 or any text editor

Other information about your system:

Standard but old hardware (probably not essential in this case).

Other questions

Is the marking of the current position of the review cursor supposed to use that way when e.g. deleting, pasting or copying marked text sections instead of selecting the area line by line using Shift + Down arrow?

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes. Their behaviors are the same as described.

If NVDA add-ons are disabled, is your problem still occurring?

Yes (add-ons do not have any impact in this issue)

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

I tried reproducing that. So if your cursor is at the beginning of the line when you press nvda+f10, it will delete the first character ">" but not the second one (whitespace). Could you double check that whitespace should be preserved and not deleted? I think currently this is just a quirk of NVDA range selection commands. You can try to reproduce this in any other app, e.g. notepad, you' shouldl see the same behavior.
@seanbudd, wondering if product decision needs to be made here? On one hand many users are problably used to current behavior, but on the other hand, it would indeed make more sense to not include the very last character when doing range selection - as it is more consistent with other windows apps and would solve this issue - as in this case it indeed doesn't make any sense to include one character from the last line into selection.

Yes. Whitespace is not included but the first character on the line that is ment to remain intact when selecting text by marking is deleted. Would be more convenient if nothing from that line would be deleted/copied/cut when pressing NVDA+F10 at the beginning of line. If so, the behavior of text marking would be similar with text editors like Notepad++, where the selection ends exactly where the cursor is placed at the end of selection. Apologies for probably repeating myself.

What if one wants to copy for example name of button to clipboard. It can be done with nvda+f9, nvda+f10 and review cursor. For example if button is "cancel" last character where review position can be moved (at least in object review) is "l". If last character is not copied then user gets "cance".

Can you @Jykke67 and @mltony test the followin with thunderbird write window:

  • start to reply message with plain text
  • write something (ensure original message is below text you wrote
  • go to start of message by pressing control+home
  • press nvda+f9
  • move down so many lines that you have some lines of quoted message above your current position
  • press nvda+f10.
    What is selection according to nvda? In my testing nvda ignores line I wrote above quoted message.

What you get to clipboard if you press nvda+f10 twice? In my testing whole selection including line I wrote is included?

What you get if you press nvda+shift+s (laptop layout) to speak current selection? In my testing resulted that line I wrote above quoted message was lacking.

Good point, changing behavior would require review cursor to go to the very last position, which would require a major redesign for only marginal benefit.

I could test this as requested, but the result would probably be the same as for @burmancomp.

As I have tried to explain when opening this issue, I do consider this as a bug in marking and selecting text by NVDA+F9 and NVDA+F10.

I did also try to explain the expected behavior by comparing to text editors like Notepad++, where everything between the beginning and the end of marking is selected but nothing else.

Yes, I got the same result as @burmancomp after doing the following:

• start to reply message with plain text
• write something (ensure original message is below text you wrote
• go to start of message by pressing control+home
• press nvda+f9
• move down so many lines that you have some lines of quoted message above your current position
• press nvda+f10.

I do think that no further testing is essential, because the behavior was exactly the same as @burmancomp described.

As @Jykke67 has written, selection should not contain "current character" (next to cursor on display) in edit controls and documents. This is common practice, and it should be applied in nvda own text marking as well because selection in edit controls and documents works everywhere this way. Or is there any exceptions?

But in other conditions for example when copying button text, situation may be different. Likely there are no common practice for thiskinds of situations.

My opinion is that these two types should be handled separately: when selecting text in edit controls and documents, nothing after cursor should be selected. In situations where copying to clipboard is only possibility because selection is not supported, current behavior could be applied.

But back to thunderbird then. I tried also with html format, and results seems to be somewhat similar.

To summarize: in addition to what is last selected character in edit controls/documents, problem/issue is that only part (or even nothing) is selected in thunderbird write window. It seems to be problematic when original message is quoted to write window.

There are also other thunderbird write window related bugs, at least: #16474, #16315, #16314 and #16020 which all has been reported during 2024. An other thunderbird issues.

I do agree with everything that @burmancomp has written here.