nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.09k stars 631 forks source link

Backspace key does not work in chats of microsoft Teams in newest version #16593

Closed heiko-folkerts-msg-david closed 2 months ago

heiko-folkerts-msg-david commented 4 months ago

Steps to reproduce:

  1. Start Microsoft Teams desktop app in the newest version
  2. Open a chat with a person or start a new thread in a channel.
  3. Type some text and make sure the cursor is at the very end of the text.
  4. Now try to delete the text using the backspace key.

    Actual behavior:

    Backspace has no effect and the NVDA log shows the following error listed in the NVDA logs section below.

Expected behavior:

The backspace key should simply delete the previous text.

NVDA logs, crash dumps and other attachments:

IO - inputCore.InputManager.executeGesture (07:54:59.383) - winInputHook (20320): Input: kb(desktop):backspace ERROR - scriptHandler.executeScript (07:54:59.397) - MainThread (17604): error executing script: <bound method EditableText.script_caret_backspaceCharacter of <NVDAObjects.Dynamic_ChromiumUIAEditableTextWithAutoSelectDetectionUIA object at 0x087478B0>> with gesture 'Rücktaste' Traceback (most recent call last): File "scriptHandler.pyc", line 295, in executeScript File "editableText.pyc", line 282, in script_caret_backspaceCharacter File "editableText.pyc", line 264, in _backspaceScriptHelper File "NVDAObjects\UIA\web.pyc", line 190, in move File "NVDAObjects\UIA\web.pyc", line 181, in _collapsedMove File "NVDAObjects\UIA\web.pyc", line 148, in _moveToEdgeOfReplacedContent File "baseObject.pyc", line 41, in get File "NVDAObjects\UIA\web.pyc", line 119, in _get_UIAElementAtStartWithReplacedContent _ctypes.COMError: (-2147467259, 'Unbekannter Fehler', (None, None, None, 0, None))

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

2024.1

Windows version:

Windows 11

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

Microsoft Teams (version not really known)

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?

not known - executing it will need assistance from servicedesk and there is currently no other problem indicating the need of this action.

gauravahir28 commented 4 months ago

I am using new MS teams version 24102.2223.2870.9480. I couldn't replicate this issue at my end! @heiko-folkerts-msg-david could you please provide the version of MS team you are using? you can find it in "Settings>about"

heiko-folkerts-msg-david commented 4 months ago

The version is the same on my side. Disabling all addons has no effect.

Mit freundlichen Grüßen

Dipl.-Inf (FH) Heiko Folkerts Lead IT Consultant


msg DAVID GmbH · Mittelweg 7 · 38106 Braunschweig

Tel.: +49 531 24379-14 Mobil +49 152 22 64 13 16 Fax.: +49 531 24379-79

E-Mail: @.*** WWW: https://www.msg-david.dehttps://www.msg-david.de/

Eintragung: Amtsgericht Braunschweig, HRB 3167 Geschäftsführer: Arne Koch, Dr. Andreas Scholz


Von: Gaurav Ahir @.> Gesendet: Donnerstag, 23. Mai 2024 12:13 An: nvaccess/nvda @.> Cc: Heiko Folkerts @.>; Author @.> Betreff: Re: [nvaccess/nvda] Backspace key does not work in chats of microsoft Teams in newest version (Issue #16593)

Caution: This email originated from outside of the organization. Despite an upstream security check of attachments and links by Microsoft Defender for Office, a residual risk always remains. Only open attachments and links from known and trusted senders.

I am using new MS teams version 24102.2223.2870.9480. I couldn't replicate this issue at my end!

— Reply to this email directly, view it on GitHubhttps://github.com/nvaccess/nvda/issues/16593#issuecomment-2126733780, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHZOP6CFS7EGH2LPZM2O5MLZDW6KFAVCNFSM6AAAAABIE7BEUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRWG4ZTGNZYGA. You are receiving this because you authored the thread.Message ID: @.***>

Adriani90 commented 4 months ago

Hmm, are you using UIA for Chromium browsers in NVDA advanced settings? Not sure this is related but it might be the case that MS Teams uses this as well.

I cannot reproduce either.

Please try and run the COM registration fixing tool. This might fix it.

heiko-folkerts-msg-david commented 4 months ago

The setting on UIA for chromium browsers was set to default. Setting it to yes had no effect, but when I switch it to no then I can use the backspace key as expected. So I will stick to no since the problem is fixed. Or will this change have big impact on other apps?

Mit freundlichen Grüßen

Dipl.-Inf (FH) Heiko Folkerts Lead IT Consultant


msg DAVID GmbH · Mittelweg 7 · 38106 Braunschweig

Tel.: +49 531 24379-14 Mobil +49 152 22 64 13 16 Fax.: +49 531 24379-79

E-Mail: @.*** WWW: https://www.msg-david.dehttps://www.msg-david.de/

Eintragung: Amtsgericht Braunschweig, HRB 3167 Geschäftsführer: Arne Koch, Dr. Andreas Scholz


Von: Adriani90 @.> Gesendet: Donnerstag, 23. Mai 2024 15:58 An: nvaccess/nvda @.> Cc: Heiko Folkerts @.>; Mention @.> Betreff: Re: [nvaccess/nvda] Backspace key does not work in chats of microsoft Teams in newest version (Issue #16593)

Caution: This email originated from outside of the organization. Despite an upstream security check of attachments and links by Microsoft Defender for Office, a residual risk always remains. Only open attachments and links from known and trusted senders.

Hmm, are you using UIA for Chromium browsers in NVDA advanced settings? Not sure this is related but it might be the case that MS Teams uses this as well.

I cannot reproduce either.

Please try and run the COM registration fixing tool. This might fix it.

— Reply to this email directly, view it on GitHubhttps://github.com/nvaccess/nvda/issues/16593#issuecomment-2127188447, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHZOP6GZACJZG3BDWWR44D3ZDXYVPAVCNFSM6AAAAABIE7BEUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRXGE4DQNBUG4. You are receiving this because you were mentioned.Message ID: @.***>

Adriani90 commented 4 months ago

Or will this change have big impact on other apps?

I think it is good to have the default behavior in browsers, maybe you can create a profile for MS Teams in NVDA and adjust the UIA setting only for that profile.

seanbudd commented 4 months ago

Related to #15274

josephsl commented 2 months ago

Hi,

July 2024 update: is this ms-teams.exe? If yes, this is yet another WebView2 app (an app module might be able to resolve this unless people believe this should be resolved from Chromium support modules).

Thanks.

josephsl commented 2 months ago

Hi,

By the way, if an app module is to be written, an alias must be used (as I don't think Python likes importing a module with a hyphen (-) in the middle of its name).

Thanks.

heiko-folkerts-msg-david commented 2 months ago

Hi Joseph, well, the NVDA info tells the following: Developer info for navigator object: name: 'Chat | Marco Berroth | Microsoft Teams' role: DOCUMENT processID: 21480 roleText: None states: READONLY, FOCUSABLE, FOCUSED isFocusable: True hasFocus: True Python object: <NVDAObjects.IAccessible.chromium.Document object at 0x054D2510> Python class mro: (<class 'NVDAObjects.IAccessible.chromium.Document'>, <class 'NVDAObjects.IAccessible.ia2Web.Document'>, <class 'NVDAObjects.IAccessible.ia2Web.Ia2Web'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'garbageHandler.TrackedObject'>, <class 'object'>) description: None location: RectLTWH(left=243, top=101, width=1433, height=808) value: None TextInfo: <class 'NVDAObjects.IAccessible.IA2TextTextInfo'> appModule: AppModule(appModuleHandler, appName='msedgewebview2', processID=21480) appModule.productName: 'MSTeams' appModule.productVersion: '24152.415.2975.367' appModule.helperLocalBindingHandle: c_long(114941736) windowHandle: 67476 windowClassName: 'Chrome_RenderWidgetHostHWND' windowControlID: 30429312 windowStyle: 1445986304 extendedWindowStyle: 32 windowThreadID: 18608 windowText: 'Chrome Legacy Window' displayText: '' IAccessibleObject: <POINTER(IAccessible2) ptr=0x6d1989c at 54bd120> IAccessibleChildID: 0 IAccessible event parameters: windowHandle=67476, objectID=-4, childID=-852 IAccessible accName: 'Chat | Marco Berroth | Microsoft Teams' IAccessible accRole: ROLE_SYSTEM_DOCUMENT IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_READONLY, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048644) IAccessible accDescription: None IAccessible accValue: 'https://teams.microsoft.com/v2/' IAccessible2 windowHandle: 67476 IAccessible2 uniqueID: -852 IAccessible2 role: ROLE_SYSTEM_DOCUMENT IAccessible2 states: IA2_STATE_OPAQUE (1024) IAccessible2 attributes: 'tag:#document;explicit-name:true;text-align:left;' IAccessible2 relations:

So it seams that msteams is written here without any hyphens. HTH

Mit freundlichen Grüßen

Dipl.-Inf (FH) Heiko Folkerts Lead IT Consultant


msg DAVID GmbH · Mittelweg 7 · 38106 Braunschweig

Tel.: +49 531 24379-14 Mobil +49 152 22 64 13 16 Fax.: +49 531 24379-79

E-Mail: @.*** WWW: https://www.msg-david.dehttps://www.msg-david.de/

Eintragung: Amtsgericht Braunschweig, HRB 3167 Geschäftsführer: Dr. Andreas Scholz


Von: Joseph Lee @.> Gesendet: Dienstag, 16. Juli 2024 04:11 An: nvaccess/nvda @.> Cc: Heiko Folkerts @.>; Mention @.> Betreff: Re: [nvaccess/nvda] Backspace key does not work in chats of microsoft Teams in newest version (Issue #16593)

Caution: This email originated from outside of the organization. Despite an upstream security check of attachments and links by Microsoft Defender for Office, a residual risk always remains. Only open attachments and links from known and trusted senders.

Hi,

July 2024 update: is this ms-teams.exe? If yes, this is yet another WebView2 app (an app module might be able to resolve this unless people believe this should be resolved from Chromium support modules).

Thanks.

— Reply to this email directly, view it on GitHubhttps://github.com/nvaccess/nvda/issues/16593#issuecomment-2229867712, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHZOP6HE7MHTDSJ5BII2TEDZMR6L3AVCNFSM6AAAAABIE7BEUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRZHA3DONZRGI. You are receiving this because you were mentioned.Message ID: @.***>

josephsl commented 2 months ago

Hi,

Actually, it confirms something else: that this is indeed a WebView2 interface. Can you try:

  1. While focused on Teams app, press Control+NVDA+Z to open python console.
  2. Type the following as exactly as shown (pressing Enter after each line):

import appModuleHandler appModuleHandler.getWmiProcessInfo(focus.processID).commandline

Listen to the output. The part to note is "--webview-exe-name=" text informing you thee executable name of the program that is hosting the WebView2 interface, and that's what I'm looking for. This is simplified greatly in NVDA 2024.3 beta 3 as the app module for WebView2 will be named according to the parent process name.

Thanks.

josephsl commented 2 months ago

Hi,

As for the app module, the solution would involve forcing NVDA to "see" that the Chromium engine embedded in Teams is a bad UIA window, forcing NVDA to use IAccessible2 instead of UIA. However, if the solution involves looking at IA2 itself, then the app module solution would not be useful. Note that the app module solution will workon NVDA 204.3 beta and later.

Confession: I also had Microsoft Teams in mind when I worked on WebView2 apps support.

Thanks.

heiko-folkerts-msg-david commented 2 months ago

Hi Joseph, this is the output from the python command:

appModuleHandler.getWmiProcessInfo(focus.processID).commandline '"C:\Program Files (x86)\Microsoft\EdgeWebView\Application\126.0.2592.102\msedgewebview2.exefile://Microsoft/EdgeWebView/Application/126.0.2592.102/msedgewebview2.exe" --embedded-browser-webview=1 --webview-exe-name=ms-teams.exe --webview-exe-version=24152.415.2975.367 --user-data-dir="C:\Users\folkerth\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\EBWebView" --noerrdialogs --embedded-browser-webview-dpi-awareness=2 --autoplay-policy=no-user-gesture-required --disable-background-timer-throttling --disable-features=msEnhancedTrackingPreventionEnabled,BreakoutBoxPreferCaptureTimestampInVideoFrames,V8Maglev,msFloatyMode,msFloatyShouldHonorIndiaHoldout,msWebOOUI --enable-features=MojoIpcz,msSingleSignOnOSForPrimaryAccountIsShared,AutofillReplaceCachedWebElementsByRendererIds,PartitionedCookies,SharedArrayBuffer,ThirdPartyStoragePartitioning,msAbydos,msAbydosGestureSupport,msAbydosHandwritingAttr,msWebView2CodeCache,msWebView2EnableDraggableRegions,msWebView2TextureStream --isolate-origins=https://[*.]microsoft.com,https://[*.]sharepoint.com,https://[*.]sharepointonline.com,https://mesh-hearts-teams.azurewebsites.net,https://[*.]meshxp.net,https://res-sdf.cdn.office.net,https://res.cdn.office.net,https://copilot.teams.cloud.microsoft,https://local.copilot.teams.office.com --lang=de-DE,de --mojo-named-platform-channel-pipe=20716.3164.6076143448942336916 /pfhostedapp:7589210a8ef6de2f2fc0415b31b3271b4f537986'

HTH

Mit freundlichen Grüßen

Dipl.-Inf (FH) Heiko Folkerts Lead IT Consultant


msg DAVID GmbH · Mittelweg 7 · 38106 Braunschweig

Tel.: +49 531 24379-14 Mobil +49 152 22 64 13 16 Fax.: +49 531 24379-79

E-Mail: @.*** WWW: https://www.msg-david.dehttps://www.msg-david.de/

Eintragung: Amtsgericht Braunschweig, HRB 3167 Geschäftsführer: Dr. Andreas Scholz


Von: Joseph Lee @.> Gesendet: Dienstag, 16. Juli 2024 06:51 An: nvaccess/nvda @.> Cc: Heiko Folkerts @.>; Mention @.> Betreff: Re: [nvaccess/nvda] Backspace key does not work in chats of microsoft Teams in newest version (Issue #16593)

Caution: This email originated from outside of the organization. Despite an upstream security check of attachments and links by Microsoft Defender for Office, a residual risk always remains. Only open attachments and links from known and trusted senders.

Hi,

Actually, it confirms something else: that this is indeed a WebView2 interface. Can you try:

  1. While focused on Teams app, press Control+NVDA+Z to open python console.
  2. Type the following as exactly as shown (pressing Enter after each line):

import appModuleHandler appModuleHandler.getWmiProcessInfo(focus.processID).commandline

Listen to the output. The part to note is "--webview-exe-name=" text informing you thee executable name of the program that is hosting the WebView2 interface, and that's what I'm looking for. This is simplified greatly in NVDA 2024.3 beta 3 as the app module for WebView2 will be named according to the parent process name.

Thanks.

— Reply to this email directly, view it on GitHubhttps://github.com/nvaccess/nvda/issues/16593#issuecomment-2230015836, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHZOP6BNRBS6QSNTI7GWPBTZMSRDZAVCNFSM6AAAAABIE7BEUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZQGAYTKOBTGY. You are receiving this because you were mentioned.Message ID: @.***>

josephsl commented 2 months ago

Hi, yep, the host app executable is indeed ms-teams.exe. As for the app module, I’m working from the assumption that people would not change UIA setting for Edge in NVDA’s advanced settings panel. Thanks.

josephsl commented 2 months ago

Hi,

I can't reproduce this in Teams (personal) version 24165 (Edge WebView2 version 126) with NVDA 2024.3 beta and alpha.32918; NVDA does announce characters when I press Backspace to delete chat text.

Thanks.

hwf1324 commented 2 months ago

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

not known - executing it will need assistance from servicedesk and there is currently no other problem indicating the need of this action.

Please test this operation.

I just reproduced this Issue and then ran the COM Registration Repair Tool and restarted the computer and then the problem disappeared.

Adriani90 commented 2 months ago

I cannot reproduce either, so it really seems solved by the COM registration fixing tool. Closing as works for me. If the issue appears again, after running the COM registration fixing tool and restarting the computer, please comment and we can reopen.