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

Zoom Does Not work As Expected with NVDA #7754

Closed
govsta1981 opened this Issue Nov 13, 2017 · 26 comments

Comments

Projects
None yet
9 participants
@govsta1981

govsta1981 commented Nov 13, 2017

Steps to reproduce:

  1. Go to this link and install the zoom client: https://zoom.us/download
  2. Install the program.
  3. When you launch the program, tab to either "start a meeting with video", or "start a meeting without video". Press enter on either of these buttons.
  4. Press alt+a to mute or un-mute your audio. Press alt+v to turn your video on or off.
  5. Press alt+h to open the chat panel.You are immediately put into the edit field to type text. Type a few words. use your arrow keys to move around the text, mostly the left and right arrow.

Expected behavior:

For step 4 above, you should hear the fact that audio is either muted or un-muted, or that video is started or stopped. For step 5 above, you should be able to navigate the text with arrow keys after typing it. It should also be noted that Zoom gives notifications of everything that goes on in the room. For example, when recording is stopped or started, what someone types in the chat panel, when screen sharing is started or stopped, and so on.

Actual behavior:

When I do the above steps, I get no notification of anything having occurred. I receive nothing telling me that an action has been taken. I cannot see text that I type into any edit field within Zoom by using arrow keys. I can, however, hear the text when I tab away from and then come back to the edit field.

System configuration:
Dual-core 2.16 ghz Intel Celeron, 4 gb ram, 500 gb hard drive. Video card is on-board Intel video.
NVDA version:
NVDA next-14601,e62a168e

NVDA Installed or portable:
Installed

Other information:

Example: Running in a VM

Windows version:

Windows 6.3 build 9600

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

The absolutely latest version of Zoom

Other questions:

Does the issue still occur after restarting your PC?
Yes
Have you tried any other versions of NVDA?

No
Please list them and the result
Roommate uses version 2017.3, and he has same issues that I described above.

@ehollig

This comment has been minimized.

Show comment
Hide comment
@ehollig

ehollig Nov 17, 2017

Collaborator

I can confirm this using NVDA master-14625,b6c4d81f. The chat field has dev info of:
name: u'Input chat text Type message here\u2026'
role: ROLE_EDITABLETEXT
states: STATE_FOCUSED
isFocusable: False
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x0551A950>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (1045, 662, 287, 58)
value: None
appModule: <'appModuleHandler' (appName u'zoom', process ID 26136) at address 519ef90>
appModule.productName: u'Zoom Meetings'
appModule.productVersion: u'4,0,36525,0619'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 2622586
windowClassName: u'ZPConfChatWndClass'
windowControlID: 0
windowStyle: 1442840576
windowThreadID: 39736
windowText: u'Zoom Group Chat'
displayText: u'Type message here\u2026'
IAccessibleObject: <POINTER(IAccessible) ptr=0x82b5e10 at 55e8f80>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=2622586, objectID=156045680, childID=0
IAccessible accName: u'Input chat text Type message here\u2026'
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (4)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))

Collaborator

ehollig commented Nov 17, 2017

I can confirm this using NVDA master-14625,b6c4d81f. The chat field has dev info of:
name: u'Input chat text Type message here\u2026'
role: ROLE_EDITABLETEXT
states: STATE_FOCUSED
isFocusable: False
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x0551A950>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: (1045, 662, 287, 58)
value: None
appModule: <'appModuleHandler' (appName u'zoom', process ID 26136) at address 519ef90>
appModule.productName: u'Zoom Meetings'
appModule.productVersion: u'4,0,36525,0619'
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 2622586
windowClassName: u'ZPConfChatWndClass'
windowControlID: 0
windowStyle: 1442840576
windowThreadID: 39736
windowText: u'Zoom Group Chat'
displayText: u'Type message here\u2026'
IAccessibleObject: <POINTER(IAccessible) ptr=0x82b5e10 at 55e8f80>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=2622586, objectID=156045680, childID=0
IAccessible accName: u'Input chat text Type message here\u2026'
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_VALID (4)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))

@feerrenrut

This comment has been minimized.

Show comment
Hide comment
@feerrenrut

feerrenrut Dec 12, 2017

Contributor

Looks like this is something that could be improved, we will gladly accept a pull request to fix this.

Contributor

feerrenrut commented Dec 12, 2017

Looks like this is something that could be improved, we will gladly accept a pull request to fix this.

@feerrenrut feerrenrut added the feature label Dec 12, 2017

@govsta1981

This comment has been minimized.

Show comment
Hide comment
@govsta1981

govsta1981 Jan 28, 2018

I got myself a new computer, and it has Windows 10. Narrator reads notifications in Zoom. Not sure about edit fields.

govsta1981 commented Jan 28, 2018

I got myself a new computer, and it has Windows 10. Narrator reads notifications in Zoom. Not sure about edit fields.

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Feb 23, 2018

@govsta1981 @feerrenrut @ehollig I am the Engineer from ZOOM, sometimes we need proactively announce some text in the meeting, something like "your audio is muted" "xxx started screen share", here are the method we used to realize this feature: NotifyWinEvent(EVENT_SYSTEM_ALERT, m_hWnd, (LPARAM)pAccControl, CHILDID_SELF); pAccControl is an control that implemented IAccessible interface and his role type is ROLE_SYSTEM_ALERT. it works on both JAWS and Narrator, but can't work on NVDA, we will really appreciate if you guys can also support it.

richardweiym commented Feb 23, 2018

@govsta1981 @feerrenrut @ehollig I am the Engineer from ZOOM, sometimes we need proactively announce some text in the meeting, something like "your audio is muted" "xxx started screen share", here are the method we used to realize this feature: NotifyWinEvent(EVENT_SYSTEM_ALERT, m_hWnd, (LPARAM)pAccControl, CHILDID_SELF); pAccControl is an control that implemented IAccessible interface and his role type is ROLE_SYSTEM_ALERT. it works on both JAWS and Narrator, but can't work on NVDA, we will really appreciate if you guys can also support it.

@josephsl

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Feb 23, 2018

Collaborator
Collaborator

josephsl commented Feb 23, 2018

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Feb 23, 2018

@josephsl , it is not UIA-based, it is just legacy IAccessible solution...

richardweiym commented Feb 23, 2018

@josephsl , it is not UIA-based, it is just legacy IAccessible solution...

@josephsl

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Feb 23, 2018

Collaborator
Collaborator

josephsl commented Feb 23, 2018

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Feb 23, 2018

Contributor
Contributor

michaelDCurran commented Feb 23, 2018

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Feb 23, 2018

@josephsl Thanks for you advice, it is standalone Windows Desktop Application. As we tested, "name change event" can't lead Screen Reader to announce the new text, so we uses this solution..

@michaelDCurran Thanks

richardweiym commented Feb 23, 2018

@josephsl Thanks for you advice, it is standalone Windows Desktop Application. As we tested, "name change event" can't lead Screen Reader to announce the new text, so we uses this solution..

@michaelDCurran Thanks

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Mar 2, 2018

Collaborator

@richardweiym Another thing I noticed is that some checkboxes don't announce their state change. Are you guys notifying WinEvent?

Collaborator

derekriemer commented Mar 2, 2018

@richardweiym Another thing I noticed is that some checkboxes don't announce their state change. Are you guys notifying WinEvent?

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Mar 3, 2018

@derekriemer thanks for your remind, we will fix it

richardweiym commented Mar 3, 2018

@derekriemer thanks for your remind, we will fix it

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 8, 2018

Collaborator

I am about to investigate EVENT_SYSTEM_ALERT.
I'll let you know if I can get NVDA to notify these.

Collaborator

derekriemer commented Jul 8, 2018

I am about to investigate EVENT_SYSTEM_ALERT.
I'll let you know if I can get NVDA to notify these.

@derekriemer derekriemer self-assigned this Jul 8, 2018

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 8, 2018

Collaborator

Okay, I know how to make this work. After a few more possible flood mitigations are worked out, I'll open a pull request, and NVDA will work better with zoom's alerts.

Collaborator

derekriemer commented Jul 8, 2018

Okay, I know how to make this work. After a few more possible flood mitigations are worked out, I'll open a pull request, and NVDA will work better with zoom's alerts.

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Jul 9, 2018

@derekriemer thank you so much, looking forward to your fix release.

richardweiym commented Jul 9, 2018

@derekriemer thank you so much, looking forward to your fix release.

derekriemer added a commit to derekriemer/nvda that referenced this issue Jul 9, 2018

Enable NVDA's alert event for all class names, including EVENT_SYSTEM…
…_ALERT, fixing accessibility for the zoom chat notification system among other things in zoom. fixes nvaccess#7754

derekriemer added a commit to derekriemer/nvda that referenced this issue Jul 9, 2018

derekriemer added a commit to derekriemer/nvda that referenced this issue Jul 11, 2018

derekriemer added a commit to derekriemer/nvda that referenced this issue Jul 11, 2018

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 11, 2018

Collaborator

@govsta1981 @richardweiym @ehollig can you guys please test this try build to see if it solves the problem? To test this, please run NVDA, accept the license agreement, then hit continue running. This will not modify NVDA on your system in any way, shape or form if you hit continue running.

Collaborator

derekriemer commented Jul 11, 2018

@govsta1981 @richardweiym @ehollig can you guys please test this try build to see if it solves the problem? To test this, please run NVDA, accept the license agreement, then hit continue running. This will not modify NVDA on your system in any way, shape or form if you hit continue running.

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Jul 12, 2018

@derekriemer , Seem it still can't work, could you have a try of Zoom Client for Meetings (https://www.zoom.us/download#client_4meeting), it is free. when I press tab to navigate and I fire other event in meeting, nothing announced.

richardweiym commented Jul 12, 2018

@derekriemer , Seem it still can't work, could you have a try of Zoom Client for Meetings (https://www.zoom.us/download#client_4meeting), it is free. when I press tab to navigate and I fire other event in meeting, nothing announced.

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 12, 2018

Collaborator

I do the following:
Run the try build.
Launch a meeting from the taskbar icon in zoom.
Then, tab to mute, and press it, or open chat pannel and type "frog" and press enter. Alerts seem to be firing.

Collaborator

derekriemer commented Jul 12, 2018

I do the following:
Run the try build.
Launch a meeting from the taskbar icon in zoom.
Then, tab to mute, and press it, or open chat pannel and type "frog" and press enter. Alerts seem to be firing.

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 12, 2018

Collaborator

Sorry, I typed that right before dinner. I was curious if your steps differ from mine? are you by chance using a development version where something may have changed, in which case, we'll need to incorperate the changes?
Cheers,
Derek

Collaborator

derekriemer commented Jul 12, 2018

Sorry, I typed that right before dinner. I was curious if your steps differ from mine? are you by chance using a development version where something may have changed, in which case, we'll need to incorperate the changes?
Cheers,
Derek

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Jul 12, 2018

@derekriemer it works, thanks for your help.

richardweiym commented Jul 12, 2018

@derekriemer it works, thanks for your help.

@ehollig

This comment has been minimized.

Show comment
Hide comment
@ehollig

ehollig Jul 12, 2018

Collaborator

@derekriemer, this try build works and reports event changes like announcement of mute/un-mute audio, turn video on/off, and announcement of new chat messages. However, when pressing alt+h to type a message, using the arrow keys to review the message that you have typed still does not work as expected.

Collaborator

ehollig commented Jul 12, 2018

@derekriemer, this try build works and reports event changes like announcement of mute/un-mute audio, turn video on/off, and announcement of new chat messages. However, when pressing alt+h to type a message, using the arrow keys to review the message that you have typed still does not work as expected.

@derekriemer

This comment has been minimized.

Show comment
Hide comment
@derekriemer

derekriemer Jul 13, 2018

Collaborator

I cannot fix that, and the PR isn't supposed to fix that. If @richardweiym needs any help fixing the typing, or has a fix and can verify a fix is needed for NVDA, I'm more than happy to help.
@richardweiym thanks for the technical details of what NVDA was doing wrong, it made it much easier to fix. The main problem with chat notifications was because the chat window is a background window (The alert fires in a window which isn't a child of the current system foreground window), and so NVDA filters out the event as coming from a background task, so the user isn't alerted unnecessarily. Given the importance of zoom messages, I decided to allow them for zoom, even if zoom is not in the foreground.

Collaborator

derekriemer commented Jul 13, 2018

I cannot fix that, and the PR isn't supposed to fix that. If @richardweiym needs any help fixing the typing, or has a fix and can verify a fix is needed for NVDA, I'm more than happy to help.
@richardweiym thanks for the technical details of what NVDA was doing wrong, it made it much easier to fix. The main problem with chat notifications was because the chat window is a background window (The alert fires in a window which isn't a child of the current system foreground window), and so NVDA filters out the event as coming from a background task, so the user isn't alerted unnecessarily. Given the importance of zoom messages, I decided to allow them for zoom, even if zoom is not in the foreground.

@richardweiym

This comment has been minimized.

Show comment
Hide comment
@richardweiym

richardweiym Jul 13, 2018

@derekriemer I really appreciate for your support of Zoom!

richardweiym commented Jul 13, 2018

@derekriemer I really appreciate for your support of Zoom!

@yangjian123

This comment has been minimized.

Show comment
Hide comment
@yangjian123

yangjian123 Aug 28, 2018

@derekriemer thanks for supply solution for zoom's accessibility, could you please tell me when nvda's new version will be deployed, I can't wait to have a try for this feature.

yangjian123 commented Aug 28, 2018

@derekriemer thanks for supply solution for zoom's accessibility, could you please tell me when nvda's new version will be deployed, I can't wait to have a try for this feature.

@govsta1981

This comment has been minimized.

Show comment
Hide comment
@govsta1981

govsta1981 Aug 28, 2018

govsta1981 commented Aug 28, 2018

@yangjian123

This comment has been minimized.

Show comment
Hide comment
@yangjian123

yangjian123 Sep 6, 2018

@govsta1981 when i click this link, it only shows to me that 'Build not found or access denied'. where can i found the correct package. thanks

yangjian123 commented Sep 6, 2018

@govsta1981 when i click this link, it only shows to me that 'Build not found or access denied'. where can i found the correct package. thanks

@ehollig

This comment has been minimized.

Show comment
Hide comment
@ehollig

ehollig Oct 3, 2018

Collaborator

Zoom has updated. There is now quite a bit of a delay between when the keystroke to mute/unute is pressed, and when it announces the status of the mute button.
IO - speech.speak (11:30:43.605):
Speaking [u'video now stopped alert']
IO - inputCore.InputManager.executeGesture (11:30:47.979):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:48.519):
Speaking [u'audio now unmuted alert']
IO - inputCore.InputManager.executeGesture (11:30:49.328):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:53.516):
Speaking [u'You are using the computer audio alert']
IO - inputCore.InputManager.executeGesture (11:30:56.678):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:58.515):
Speaking [u'audio now muted alert']
IO - inputCore.InputManager.executeGesture (11:31:02.042):
Input: kb(laptop):alt+a
IO - speech.speak (11:31:03.516):
Speaking [u'audio now unmuted alert']
IO - inputCore.InputManager.executeGesture (11:31:06.641):
Input: kb(laptop):alt+a
IO - speech.speak (11:31:08.516):
Speaking [u'audio now muted alert']

Collaborator

ehollig commented Oct 3, 2018

Zoom has updated. There is now quite a bit of a delay between when the keystroke to mute/unute is pressed, and when it announces the status of the mute button.
IO - speech.speak (11:30:43.605):
Speaking [u'video now stopped alert']
IO - inputCore.InputManager.executeGesture (11:30:47.979):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:48.519):
Speaking [u'audio now unmuted alert']
IO - inputCore.InputManager.executeGesture (11:30:49.328):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:53.516):
Speaking [u'You are using the computer audio alert']
IO - inputCore.InputManager.executeGesture (11:30:56.678):
Input: kb(laptop):alt+a
IO - speech.speak (11:30:58.515):
Speaking [u'audio now muted alert']
IO - inputCore.InputManager.executeGesture (11:31:02.042):
Input: kb(laptop):alt+a
IO - speech.speak (11:31:03.516):
Speaking [u'audio now unmuted alert']
IO - inputCore.InputManager.executeGesture (11:31:06.641):
Input: kb(laptop):alt+a
IO - speech.speak (11:31:08.516):
Speaking [u'audio now muted alert']

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment