Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MozillaCompoundTextInfo.updateSelection() doesn't work across paragraphs #16474

Open
mltony opened this issue May 1, 2024 · 5 comments
Open
Labels
app/thunderbird bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@mltony
Copy link
Contributor

mltony commented May 1, 2024

Steps to reproduce:

  1. Open Thunderbird and press control+n to create a new email.
    1. Navigate to message body and type:
    Hello world
    test good bye
    
    Make sure that there are two paragraphs of text. Make sure to type these strings and not paste - for some reason this doesn't reproduce when pasted.
  2. Put cursor at letter w of the word world.
  3. Open python console and type:
    >>> t = focus.makeTextInfo('caret')
    >>> t.move('character', 10, 'end')
    10
    >>> t.text
    'world\ntest'
    >>> t._start==t._end
    False
    >>> t.updateSelection()
    

Actual behavior:

Only the word "test" is selected.

Expected behavior:

Words "world\ntest" should be selected.

NVDA logs, crash dumps and other attachments:

N/A

System configuration

NVDA installed/portable/running from source:

Running from source

NVDA version:

master

Windows version:

Windows 11

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

Thunderbird 102.10.0

Other information about your system:

Other questions

Does the issue still occur after restarting your computer?

Yes

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

No

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

Yes

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

N/A

@mltony
Copy link
Contributor Author

mltony commented May 6, 2024

This appears to be a flaw of IAccessible2 interface. There is no method to select something across paragraphs, and when trying to select something in each paragraph individually, the selection disappears from the other paragraph.

@seanbudd
Copy link
Member

seanbudd commented May 7, 2024

@jcsteh - do you have any input on this?

@seanbudd seanbudd added app/thunderbird bug blocked/needs-external-fix p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation. labels May 7, 2024
@jcsteh
Copy link
Contributor

jcsteh commented May 7, 2024

This could be solved by having MozillaCompoundTextInfo use the new IAccessibleTextSelectionContainer interface where supported. This is the same interface used by the native app selection feature in browse mode. Note that this is apparently broken in Chromium, so this will need to be treated as unsupported there as we do in browse mode for now.

@jcsteh
Copy link
Contributor

jcsteh commented May 7, 2024

That interface is only supported as of Gecko 118, so it's only going to work once Thunderbird updates thereto; i.e. Thunderbird 118 or later.

@jcsteh
Copy link
Contributor

jcsteh commented May 7, 2024

@mltony, it's not entirely unrelated, but it'd be better not to clutter this NVDA core bug report with non-core questions. The question is probably better directed to nvda-devel or a GitHub discussion. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/thunderbird bug p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

No branches or pull requests

3 participants