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

Windows 10 1903/emoji panel: no opening announcement #9204

Closed
josephsl opened this issue Jan 27, 2019 · 3 comments · Fixed by #10375
Closed

Windows 10 1903/emoji panel: no opening announcement #9204

josephsl opened this issue Jan 27, 2019 · 3 comments · Fixed by #10375
Milestone

Comments

@josephsl
Copy link
Collaborator

Hi,

Partially blocks #9112: In Windows 10 Version 1903, when emoji panel opens, typical opening announcement is not made.

Steps to reproduce:

  1. Install Windows 10 Insider Preview build 18305 and later.
  2. Try opening emoji panel (Windows+period) or cloud clipboard (Windows+V).

Actual behavior:

NVDA becomes verbose when opening emoji panel instead of announcing the first selected emoji, and when cloud clipboard opens, no response from NVDA.

Expected behavior:

NVDA announces first selected emoji and announces clipboard status when cloud clipboard is opened.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

Alpha.16619

Windows version:

Windows 10 Version 1903 Preview (build 18323)

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

None

Other information about your system:

Part of Windows Insider Program

Other questions

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

Yes - 2018.4.1

Technical information:

Until Version 1809, UIA window open event was fired by modern keyboard executable, but since 18305, File Explorer (explorer.exe) is responsible for firing window open event (a new UIA window with the class name of "ApplicationFrameWindow" is now the host of modern keyboard, and that window fires window open event).

Note that in case of emoji panel, it might actually be desirable to let NVDA become a bit verbose, since Version 1903 emoji panel will let users browse emojis, kaomoji, and symbols. Let us revisit this small change when it is shown that emoji panel will open to whatever grand category (emoji, kaomoji, symbols) one was browsing to last (currently it always defaults to emoji category).

Thanks.

josephsl added a commit to josephsl/nvda that referenced this issue Jan 27, 2019
…r emoji panel/cloud clipboard in Windows 10 April 2019 Update. Re nvaccess#9204.

In Windows 10 Version 1903 (April 2019 Update), it is File Explorer/Application Frame Window UIA object that fires window open event on behalf of emoji panel and cloud clipboard. Thus:
* Identify ApplicationFrameWindow in builds above 17763 as good UIA window.
* If window open event is fired by the good uIA window, check if the first child is part of modern keyboard (emoji panel/cloud clipboard) and ask modern keyboard app module (from previous Windows 10 feature updates) to deal with it as though a UIA window open event was fired on its own top-level window.
josephsl added a commit to josephsl/nvda that referenced this issue Jan 28, 2019
…. Re nvaccess#9204.

Reviewed by Leonard de Ruijter (Babbage): rework the window open event handler as follows:
* UIA object instance and class name will be checked first.
* eventHandler.executeEvent will be fired on input panel object (the conditional to check the existence of input panel window has also been simplified).
josephsl added a commit to josephsl/nvda that referenced this issue Jan 28, 2019
josephsl added a commit to josephsl/nvda that referenced this issue Jun 21, 2019
…n.isWin10 function. Re nvaccess#9204.

As part of UIA console work, winVersion.isWin10 function has been added, which will return if the current build is greater than (or equal to) a given Windows 10 version (YYMM). Thus use this function for clarity and edit comment accordingly.
josephsl added a commit to josephsl/nvda that referenced this issue Jul 29, 2019
…r emoji panel/cloud clipboard in Windows 10 April 2019 Update. Re nvaccess#9204.

In Windows 10 Version 1903 (April 2019 Update), it is File Explorer/Application Frame Window UIA object that fires window open event on behalf of emoji panel and cloud clipboard. Thus:
* Identify ApplicationFrameWindow in builds above 17763 as good UIA window.
* If window open event is fired by the good uIA window, check if the first child is part of modern keyboard (emoji panel/cloud clipboard) and ask modern keyboard app module (from previous Windows 10 feature updates) to deal with it as though a UIA window open event was fired on its own top-level window.
josephsl added a commit to josephsl/nvda that referenced this issue Jul 29, 2019
…. Re nvaccess#9204.

Reviewed by Leonard de Ruijter (Babbage): rework the window open event handler as follows:
* UIA object instance and class name will be checked first.
* eventHandler.executeEvent will be fired on input panel object (the conditional to check the existence of input panel window has also been simplified).
josephsl added a commit to josephsl/nvda that referenced this issue Jul 29, 2019
josephsl added a commit to josephsl/nvda that referenced this issue Jul 29, 2019
…n.isWin10 function. Re nvaccess#9204.

As part of UIA console work, winVersion.isWin10 function has been added, which will return if the current build is greater than (or equal to) a given Windows 10 version (YYMM). Thus use this function for clarity and edit comment accordingly.
josephsl added a commit to josephsl/nvda that referenced this issue Aug 7, 2019
…r emoji panel/cloud clipboard in Windows 10 April 2019 Update. Re nvaccess#9204.

In Windows 10 Version 1903 (April 2019 Update), it is File Explorer/Application Frame Window UIA object that fires window open event on behalf of emoji panel and cloud clipboard. Thus:
* Identify ApplicationFrameWindow in builds above 17763 as good UIA window.
* If window open event is fired by the good uIA window, check if the first child is part of modern keyboard (emoji panel/cloud clipboard) and ask modern keyboard app module (from previous Windows 10 feature updates) to deal with it as though a UIA window open event was fired on its own top-level window.
josephsl added a commit to josephsl/nvda that referenced this issue Aug 7, 2019
…. Re nvaccess#9204.

Reviewed by Leonard de Ruijter (Babbage): rework the window open event handler as follows:
* UIA object instance and class name will be checked first.
* eventHandler.executeEvent will be fired on input panel object (the conditional to check the existence of input panel window has also been simplified).
josephsl added a commit to josephsl/nvda that referenced this issue Aug 7, 2019
josephsl added a commit to josephsl/nvda that referenced this issue Aug 7, 2019
…n.isWin10 function. Re nvaccess#9204.

As part of UIA console work, winVersion.isWin10 function has been added, which will return if the current build is greater than (or equal to) a given Windows 10 version (YYMM). Thus use this function for clarity and edit comment accordingly.
josephsl added a commit to josephsl/nvda that referenced this issue Aug 7, 2019
In window open event, because obj.firstChild gets used often, have a dedicated (and a more descriptive) variable to refer to the input panel screen. Along with this change, split long ternary statements into conditionals.
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
…r emoji panel/cloud clipboard in Windows 10 April 2019 Update. Re nvaccess#9204.

In Windows 10 Version 1903 (April 2019 Update), it is File Explorer/Application Frame Window UIA object that fires window open event on behalf of emoji panel and cloud clipboard. Thus:
* Identify ApplicationFrameWindow in builds above 17763 as good UIA window.
* If window open event is fired by the good uIA window, check if the first child is part of modern keyboard (emoji panel/cloud clipboard) and ask modern keyboard app module (from previous Windows 10 feature updates) to deal with it as though a UIA window open event was fired on its own top-level window.
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
…. Re nvaccess#9204.

Reviewed by Leonard de Ruijter (Babbage): rework the window open event handler as follows:
* UIA object instance and class name will be checked first.
* eventHandler.executeEvent will be fired on input panel object (the conditional to check the existence of input panel window has also been simplified).
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
…n.isWin10 function. Re nvaccess#9204.

As part of UIA console work, winVersion.isWin10 function has been added, which will return if the current build is greater than (or equal to) a given Windows 10 version (YYMM). Thus use this function for clarity and edit comment accordingly.
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
In window open event, because obj.firstChild gets used often, have a dedicated (and a more descriptive) variable to refer to the input panel screen. Along with this change, split long ternary statements into conditionals.
josephsl added a commit to josephsl/nvda that referenced this issue Sep 8, 2019
@josephsl
Copy link
Collaborator Author

josephsl commented Oct 9, 2019

Blocked by #10359

@Adriani90
Copy link
Collaborator

@josephsl the coresponding pull request for the issue which you referenced above has been merged and the issue has been closed.

@josephsl
Copy link
Collaborator Author

josephsl commented Oct 11, 2019 via email

josephsl added a commit to josephsl/nvda that referenced this issue Oct 12, 2019
…and later. Re nvaccess#9204.

In build 18305 and later, it is File Explorer that raises window open event for modern keyboard. Because of this, when emoji panel and related panels open, first selected item will not be announced. Thus:
* Recognize the top-level modern input window as proper UIA item. Although a 'Close' button is next to it, not all input features will be accompanied with this - emoji panel does but dictation does not.
* If window open event is fired from File Explorer, make sure that the child window is indeed a modern input window.
michaelDCurran pushed a commit that referenced this issue Oct 21, 2019
…ect so first selected emoji and cloud clipboard item can be announced in May 2019 Update and later (#10375)

* appModules/textinputhost: typo fix for top-level comment

* appModules/explorer: recognize modern input panel in May 2019 Update and later. Re #9204.

In build 18305 and later, it is File Explorer that raises window open event for modern keyboard. Because of this, when emoji panel and related panels open, first selected item will not be announced. Thus:
* Recognize the top-level modern input window as proper UIA item. Although a 'Close' button is next to it, not all input features will be accompanied with this - emoji panel does but dictation does not.
* If window open event is fired from File Explorer, make sure that the child window is indeed a modern input window.

* Remove duplicate 'import winVersion' statement
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Oct 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment