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

Initial support for Windows 10 anniversary versions of both Microsoft Edge and Windows 10 Mail. #6271

Merged
merged 63 commits into from Nov 2, 2016

Conversation

Projects
None yet
6 participants
@michaelDCurran
Contributor

michaelDCurran commented Aug 16, 2016

Fixes #6292.
Fixes #5987.
Fixes #6168.

michaelDCurran added some commits May 23, 2016

Rewrite UIATextAttributeQuickNavIterator to allow previous heading qu…
…icknav to work correctly in Edge browse mode.
Re-implement rich text support for Edge, compatible with RS1.
* GetChildren / GetEnclosingElement zoom to the deepest control at the start. Therefore we must take this into acocunt.
EdgeTextInfo.getTextWithFields: chop redundant fields and text off th…
…e end that are incorrectly placed there by Edge (E.g. expanding to line before a list, table etc includes the list or table).
Edge now correctly sets focus on its root container and or document, …
…thus we no longer need to blindly allow all UIA focus events on the root container.

This also allows remembering of the caret position when alt tabbing away and back again.
UIATextInfo: implement support for more formatting (color, alignment,…
… linked, bold, italic, underline, strike through, super/subScript).
UIATextInfo._getControlFieldForObject: ensure controlFields stay uniq…
…ue per object by adding UIA's runtime ID to the controlField.

E.g. Arrowing down from one list to another at the same level use to class the controlField for each list as being the same list.
Edge: Remove any whitespace directly after the end of an element as i…
…t is not needed and stops us from correctly chopping the extra elements accideintally included by Edge at the end of lines.
Edge: _getTextWithFields_balanced and _getTextWithFields_unbalanced d…
…on't need to collect information about their root element at all. In deed, _getTextWithFields_unbalanced shuold *not* recurse after its root element. Stops an infinit loop when dealing with aria-hidden text.
Edge: Ensure a control's name is announced, (but not twice) with movi…
…ng with quicknav.

UIATextInfo._getControlFieldForObject: Restore old behaviour for name.
Edge: _getTextWithFields_balanced: specifically handle detection of a…
…n embedded child (checkbox etc) at the beginning. This stops skipping out of the document when a control is inside a label, and standardizes this check with similar checks in other parts of the code.
Edge: integrate the main code from _getTextWithFields_balanced in to …
…_getTextWithFields_unbalanced which allows for a substantial removal of duplicate code.
Edge heading quicknav: re-implement using move by paragraph and getAt…
…tributeValue rather than findAttribute.

Using findAttribute was never totally accurate in all situations, and its speed was based on the size of the document rather than how far the next heading was. In most cases moving by heading is now faster. In a few cases it may have become slower, though it is now more in line with Narrator.
speech.getFormatFieldSpeech: If the user has chosen to report heading…
…s, and the unit is either line or paragraph or the reason is focus, always announce headings in intial formatting even if the heading level has not changed.

Edge exposes its headings via formatting and many users are confused as to why headings are not announced again when repeting the same line like in other browsers.
Edge: work around MS Edge bug where expanding to character on an a co…
…ntrol such as as a checkbox does not include the control in its children or enclosing element. Also ensure these controls are focused with using quicknav / arrowing.
@jcsteh

jcsteh approved these changes Sep 23, 2016

michaelDCurran added some commits Sep 26, 2016

EdgeTextInfo.expand: remove code that tries to exclude content from t…
…he next line when expanding to line/paragraph. Other code already handled 90% of usecases. This code fixed one and introduced one. For now minimal is better.
@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Sep 27, 2016

Contributor

These last commits look fine to me.

Contributor

jcsteh commented Sep 27, 2016

These last commits look fine to me.

@beqabeqa473

This comment has been minimized.

Show comment
Hide comment
@beqabeqa473

beqabeqa473 Sep 27, 2016

hi all.

when reading text in edge with arrow keys, small chunks are displayed on each line compared to ff.

is it something that should be improved?

beqabeqa473 commented Sep 27, 2016

hi all.

when reading text in edge with arrow keys, small chunks are displayed on each line compared to ff.

is it something that should be improved?

UIATextInfo._getTextWithFieldsForUIARange: handle where IUIAutomation…
…TextRange::getEnclosingElement is not implemented (File Explorer search, Win 7 start menu search)

Fixes #6411

michaelDCurran added a commit that referenced this pull request Sep 29, 2016

@josephsl

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Oct 14, 2016

Collaborator

Hi,

Perhaps a consistency problem: In Edge, you can use browse mode to move between lists but not list items.

STR:

  1. Open What's New in Edge.
  2. Try navigating between list items (I).

Expected: You can navigate between list items.
Actual: NVDA says, "not supported in this document".

Setup:

  • NVDA version: next.13643 )EdgeRS1 applied)
  • Windows version: Version 1607 (build 14393)

Thanks.

Collaborator

josephsl commented Oct 14, 2016

Hi,

Perhaps a consistency problem: In Edge, you can use browse mode to move between lists but not list items.

STR:

  1. Open What's New in Edge.
  2. Try navigating between list items (I).

Expected: You can navigate between list items.
Actual: NVDA says, "not supported in this document".

Setup:

  • NVDA version: next.13643 )EdgeRS1 applied)
  • Windows version: Version 1607 (build 14393)

Thanks.

Handle broken WPF UIA text pattern (E.g. 1Password):
* UIATextInfo: When fetching formatted text, firstly try fetching formatting for the entire chunk, and only falling back to splitting by unit if a mixed attribute is found. Also, allow subclasses to override the UIA format units to be tried when splitting.
* Catch COMError when trying to fetch the selection with IUIAutomationTextRange::getSelection and raise RuntimeError as expected by the rest of NVDA.

Fixes #6454
@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Oct 18, 2016

Contributor

Updated to fix #6454. @jcsteh could you please review.

Contributor

michaelDCurran commented Oct 18, 2016

Updated to fix #6454. @jcsteh could you please review.

@jcsteh

jcsteh approved these changes Oct 18, 2016

Show outdated Hide outdated source/NVDAObjects/UIA/__init__.py
Show outdated Hide outdated source/NVDAObjects/UIA/__init__.py

michaelDCurran added a commit that referenced this pull request Oct 19, 2016

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