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

Support for Microsoft Edge from Windows build 15002 and up #6789

Merged
merged 5 commits into from Feb 8, 2017

Conversation

michaelDCurran
Copy link
Member

Handle the change to the Edge document container UIAElement, and explicitly allow events for Windows.UI.Core windows as foreground checks will no longer work for UWP.
Fixes #6713

… windows, as Edge, and soon to be all UWP apps, will no longer have their windows as a descendant of the foreground window.
…is not marked as being in a framework of MicrosoftEdge, rather than only seeing if the document is inside an EdgeRootContainer.

This change is necessary for Windows builds 15002 and up where the root container is now gone.
@michaelDCurran
Copy link
Member Author

it is possible that the container change will be fixed by Microsoft before RS2. However the foreground descendant change is deliberate going forward.

@Nikita34196
Copy link

Nikita34196 commented Jan 28, 2017

Hello. on some sites such as YouTube NVDA does not see
some of the buttons when using the arrow keys.try doing the following. 1. open microsoft edge
2. go to the website of yutube.com
3. use the navigation buttons by pressing B shift + B

nvda next-13843,f979ca07
windows 10 15019

…nts for UWP apps by also ensuring the window is equal to or a descendant of the active window in the current input thread.
@michaelDCurran
Copy link
Member Author

@jcsteh: it will be difficult to check for microsoftedgecp in shouldAcceptEvent as we need to some how get an appmodule from a windowhandle. However, for now instead I have tightened up the check for Windows.UI.Core in general, by also checking that the window is equal to or a descendant of the active window in the current input thread. This works nicely for Edge.

# #6713: Edge (and soon all UWP apps) will no longer have windows as descendants of the foreground window.
# However, it does look like they are always equal to or descendants of the "active" window of the input thread.
gi=winUser.getGUIThreadInfo(0)
if winUser.isDescendantWindow(gi.hwndActive,windowHandle) and wClass.startswith('Windows.UI.Core'):
return True
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need GUIThreadInfo outside this yet, so I think I'd prefer this inside the condition:

if wClass.startswith('Windows.UI.Core'):
	return isDescendant blahblah

@jcsteh
Copy link
Contributor

jcsteh commented Feb 1, 2017

We're going to incubate this just for a few days and then merge to master early. We really want this in 2017.1 and it's thus important that it gets wider beta testing.

@PratikP1
Copy link

PratikP1 commented Feb 1, 2017 via email

… with fields due to a collapsed range due to the range from an enclosing element ending on or before this range. Quite common in Edge builds once the 'gap' is removed.
@michaelDCurran
Copy link
Member Author

@jcsteh: Along with the fix you requested in the last review, I also fixed the one and only issue that occurs when this code is run with the Edge 'gap' removed: namely an endless recursion in Edge's _getTextwithFieldsFromUIARange. Commit 1b20ccd is a tiny change that just checks for a collapsed range and if so returns, and probably should have always been there anyway. You should review it, however I took the choice of merging it to Next along with the other change as time is quickly running out.

@michaelDCurran michaelDCurran merged commit 9a6353c into master Feb 8, 2017
@nvaccessAuto nvaccessAuto added this to the 2017.1 milestone Feb 8, 2017
@Nikita34196
Copy link

Hello. When you switch keyboard layouts in microsoft edge nvda continues to refer to the symbols on the keyboard recruited which was originally. helps you switch between Windows.
windows 10 15025

@Nikita34196
Copy link

Here's what the error I see when viewing the log.
nvda.txt

@josephsl
Copy link
Collaborator

josephsl commented Feb 8, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants