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

Live region change: handle a special case in Edge where live text is the child of the object that fires this event. re #7286 #7329

Closed
wants to merge 38 commits into from

Conversation

josephsl
Copy link
Collaborator

Hi,
A PR for a PR ( secondary PR, in this case). Takes care of the following:

In Microsoft Edge, when live region change event is fired, the live text turns out to be the child of the object that fires this event. Because the current Core pR announces object name, this means in Edge, NVDA will say, "alert". A special case is hereby provided in the Edge CP module to allow NVDA to announce the actual live text (first child's name).

Thanks.

NVDA translation automation and others added 30 commits June 16, 2017 00:05
From translation svn revision: 33269

Authors:
Jani Kinnunen <jani.kinnunen@wippies.fi>
Isak Sand <isak.sand@gmail.com>

Stats:
3	3	source/locale/fi/LC_MESSAGES/nvda.po
 1 file changed, 3 insertions(+), 3 deletions(-)
From translation svn revision: 33269

Authors:
Hrvoje Katic <hrvojekatic@gmail.com>
Zvonimir Stanecic <zvonimirek222@yandex.com>
Mario Percinic <mario.percinic@gmail.com>

Stats:
3	0	user_docs/hr/userGuide.t2t
 1 file changed, 3 insertions(+)
From translation svn revision: 33269

Authors:
Takuya Nishimoto <nishimotz@gmail.com>
Minako Nonogaki <minakonono3519@gmail.com>

Stats:
1167	21	source/locale/ja/LC_MESSAGES/nvda.po
 1 file changed, 1167 insertions(+), 21 deletions(-)
From translation svn revision: 33269

Authors:
Joseph Lee <joseph.lee22590@gmail.com>
Chang-Hwan Jang <462356@gmail.com>
Dong Hee Park <hi@aheu.org>

Stats:
1348	22	source/locale/ko/LC_MESSAGES/nvda.po
34	0	user_docs/ko/changes.t2t
8	4	user_docs/ko/userGuide.t2t
 3 files changed, 1390 insertions(+), 26 deletions(-)
From translation svn revision: 33269

Authors:
Cleverson Casarin Uliana <clever97@gmail.com>
Marlin Rodrigues <marlincgrodrigues@yahoo.com.br>

Stats:
1169	22	source/locale/pt_BR/LC_MESSAGES/nvda.po
 1 file changed, 1169 insertions(+), 22 deletions(-)
From translation svn revision: 33269

Authors:
Dan Pungă <dan.punga@gmail.com>, Florian Ionașcu <florianionascu@hotmail.com>, Alexandru Matei <alexandrumateistelian@gmail.com>, Nicuşor Untilă <nicusoruntila@yahoo.com>

Stats:
42	41	source/locale/ro/LC_MESSAGES/nvda.po
3	2	user_docs/ro/changes.t2t
 2 files changed, 45 insertions(+), 43 deletions(-)
From translation svn revision: 33269

Authors:
Dinakar T.D. <td.dinkar@gmail.com>

Stats:
6	2	user_docs/ta/userGuide.t2t
 1 file changed, 6 insertions(+), 2 deletions(-)
From translation svn revision: 33269
…ss#6864)

Fixes nvaccess#6812 

Allow configuration to be stored in the local instead of the roaming appdata folder. For this, the `configInLocalAppData` parameter under `x86 HKEY_LOCAL_MACHINE\SOFTWARE\nvda` must be set to a value other than `0`
Fixes nvaccess#7004

Aria-placeholder now supported in Chrome, Firefox, Edge and IE. Placeholder is reported unless the field has some content.
For PRs:
- nvaccess#6864 - NVDA user configuration files can now be stored in the user's local application data folder. This is enabled via a setting in the registry. See 'System wide parameters' in the user guide for more details. (Issue nvaccess#6812)
- nvaccess#7055 - In web browsers, NVDA now reports placeholder values for fields (specifically, aria-placeholder is now supported). (Issue nvaccess#7004)
From translation svn revision: 33481

Authors:
Bernd Dorer <bdorer@mailbox.org>
David Parduhn <xkill85@gmx.net>
Rene Linke <rene.linke@hamburg.de>

Stats:
16	11	user_docs/de/changes.t2t
13	2	user_docs/de/userGuide.t2t
 2 files changed, 29 insertions(+), 13 deletions(-)
From translation svn revision: 33481

Authors:
Juan C. buno <oprisniki@gmail.com>
Noelia Martinez <nrm1977@gmail.com>

Stats:
6	2	source/locale/es/LC_MESSAGES/nvda.po
1	1	source/locale/es/symbols.dic
5	0	user_docs/es/changes.t2t
12	1	user_docs/es/userGuide.t2t
 4 files changed, 24 insertions(+), 4 deletions(-)
From translation svn revision: 33481

Authors:
Ali Aslani <aslani.ali@gmail.com>
Mohammadreza Rashad <mohammadreza5712@gmail.com>

Stats:
1182	33	source/locale/fa/LC_MESSAGES/nvda.po
17	11	user_docs/fa/changes.t2t
46	34	user_docs/fa/userGuide.t2t
 3 files changed, 1245 insertions(+), 78 deletions(-)
From translation svn revision: 33481

Authors:
Jani Kinnunen <jani.kinnunen@wippies.fi>
Isak Sand <isak.sand@gmail.com>

Stats:
6	2	source/locale/fi/LC_MESSAGES/nvda.po
5	0	user_docs/fi/changes.t2t
12	1	user_docs/fi/userGuide.t2t
 3 files changed, 23 insertions(+), 3 deletions(-)
From translation svn revision: 33481

Authors:
Michel such <michel.such@free.fr>
Patrick ZAJDA <patrick@zajda.fr>
Remy Ruiz <remyruiz@gmail.com>
Bachir Benanou <ben_bach@yahoo.fr>, Abdelkrim Bensaid <abdelkrim.bensaid@free.fr>

Stats:
6	2	source/locale/fr/LC_MESSAGES/nvda.po
7	2	user_docs/fr/changes.t2t
12	1	user_docs/fr/userGuide.t2t
 3 files changed, 25 insertions(+), 5 deletions(-)
From translation svn revision: 33481

Authors:
Juan C. buno <oprisniki@gmail.com>

Stats:
6	2	source/locale/gl/LC_MESSAGES/nvda.po
1	1	source/locale/gl/symbols.dic
5	0	user_docs/gl/changes.t2t
12	1	user_docs/gl/userGuide.t2t
 4 files changed, 24 insertions(+), 4 deletions(-)
From translation svn revision: 33481

Authors:
Hrvoje Katic <hrvojekatic@gmail.com>
Zvonimir Stanecic <zvonimirek222@yandex.com>
Mario Percinic <mario.percinic@gmail.com>

Stats:
1170	20	source/locale/hr/LC_MESSAGES/nvda.po
38	0	user_docs/hr/changes.t2t
29	5	user_docs/hr/userGuide.t2t
 3 files changed, 1237 insertions(+), 25 deletions(-)
From translation svn revision: 33481

Authors:
Simone Dal Maso <simone.dalmaso@gmail.com>
Alberto Buffolino <a.buffolino@gmail.com>

Stats:
1206	31	source/locale/it/LC_MESSAGES/nvda.po
 1 file changed, 1206 insertions(+), 31 deletions(-)
From translation svn revision: 33481

Authors:
Bram Duvigneau <bram@bramd.nl>
Bart Simons <bart@bartsimons.be>
A Campen <a.campen@wxs.nl>
Leonard de Ruijter <leonard_dev@babbage.com>

Stats:
1226	24	source/locale/nl/LC_MESSAGES/nvda.po
 1 file changed, 1226 insertions(+), 24 deletions(-)
From translation svn revision: 33481

Authors:
Dan Pungă <dan.punga@gmail.com>
Florian Ionașcu <florianionascu@hotmail.com>
Alexandru Matei <alexandrumateistelian@gmail.com>
Nicuşor Untilă <nicusoruntila@yahoo.com>

Stats:
78	71	source/locale/ro/LC_MESSAGES/nvda.po
5	1	user_docs/ro/changes.t2t
12	1	user_docs/ro/userGuide.t2t
 3 files changed, 95 insertions(+), 73 deletions(-)
From translation svn revision: 33481

Authors:
Ruslan Kolodyazhni <eye0@rambler.ru>
Ruslan Shukhanov <ru2020slan@yandex.ru>
Beqa Gozalishvili <beqaprogger@gmail.com>
Aleksandr Lin'kov <kvark128@yandex.ru>
alexander Yashin <a.jaszyn@ya.ru>

Stats:
1178	22	source/locale/ru/LC_MESSAGES/nvda.po
41	0	user_docs/ru/changes.t2t
 2 files changed, 1219 insertions(+), 22 deletions(-)
From translation svn revision: 33481

Authors:
Nikola Jovic <wwenikola123@gmail.com>
Janko Valencik <janko.valencik@alfanum.co.rs>
Zvonimir <zvonimirek222@yandex.com>
Danijela Popovic <vlajna95@gmail.com>

Stats:
5	1	source/locale/sr/LC_MESSAGES/nvda.po
2	0	user_docs/sr/changes.t2t
12	1	user_docs/sr/userGuide.t2t
 3 files changed, 19 insertions(+), 2 deletions(-)
From translation svn revision: 33481

Authors:
Dinakar T.D. <td.dinkar@gmail.com>

Stats:
1195	20	source/locale/ta/LC_MESSAGES/nvda.po
 1 file changed, 1195 insertions(+), 20 deletions(-)
From translation svn revision: 33481

Authors:
wangjanli@gmail.com
maro.zhang@gmail.com
Aaron Wu <waaron2000@gmail.com>
Victor Cai <surfer0627@gmail.com>

Stats:
25	25	source/locale/zh_TW/characterDescriptions.dic
 1 file changed, 25 insertions(+), 25 deletions(-)
From translation svn revision: 33481
…ft+w (nvaccess#7258)

* Added spelling errors to the list of quick navigation commands
* Support for spelling error quick navigation in MS Word
* Allow navigatingspelling/errors in the MS Word elements list
* W is now used for for general errors/warnings in browse mode
* Updated the user guide to include the errors quick navigation option
* Include spelling in the labels for the Word elements list
* Updated copyright headers
* Changed WordDocumentSpellingErrorQuickNavItem.label to retrieve the text of the spelling error in a similar way to how this is done for comments and revisions

Fixes nvaccess#6942
…that does expose value pattern yet does not raise the said event. re nvaccess#6337 (nvaccess#7132)

Some combo boxes do expose value pattern but do not raise value change event. To get around this, selection on its children (items) will be tracked (same trick as combo boxes with no value pattern).

* NVDAObjects/UIA: catch AttributeError seen in some lists. re nvaccess#6337.

Caught by Jamie Teh (NV Access): when searching for items in store, the media type list is sometimes shown, and this may not have the required pattern at all. If this happens, Attribute Error is raised. When handling this, catch this error first, otherwise AttributeError will continue to be raised.
michaelDCurran and others added 8 commits June 23, 2017 15:37
…alogs, and stop unuseful info from being announced as the dialog description. (nvaccess#7219)
…s 10. re nvaccess#6241 (nvaccess#6274)

* UIA handler: add proper copyright header (based on Git log archive)

* UIA objects: introduce a global suggestion list item class for Windows 10. re nvaccess#6241

Windows 10 uses suggestions list for vairious things, including Start menu suggestions, Store recommendations, Settings app and others. Thus introduce NVDAObjects.UIA.SuggestionListItem, which derives its power from searchui.py version (searchui.py version is gone).

* SearchUI: remove unneeded imports

* UIA: add support for Controller For property. re nvaccess#6241

Controller For property is used by an element to let another element depend on values given by the source element, useful if suggestions should be listed for a search field among other possibilities.
For now, Controller For property has been added to property to event names map in UIA Handler. A UIA object that handles this event (a search box) is next.

* Revert "UIA: add support for Controller For property. re nvaccess#6241"

This reverts commit a3b1ce5.

* UIA: add support for Controller For property. re nvaccess#6241

Controller For property is used by an element to let another element depend on values given by the source element, useful if suggestions should be listed for a search field among other possibilities.
For now, Controller For property has been added to property to event names map in UIA Handler. A UIA object that handles this event (a search box) is next.

* NVDAObjects.UIA: introduce Search Field that'll handle controller for and announce appearance of suggestions. re nvaccess#6241

Coming from Windows 10 App Essentials add-on: a Search Field is now available that'll detect controller for property event and announce either 'suggestions' or 'suggestions closed' if suggestions appear or disappear, respectively. This takes care of both Start Menu and other fields in Windows 10 (works best in Anniversary Update and later).

* Search Field: check if search field is focused before asking for controller for object. re nvaccess#6241

Review from Mick Curran (NV Access): Do not waste a function call for fetching focused element. Besides, make sure to check if the focused control is the search field before proceeding to announce appearance of suggestions.

* Update copyright years, add a docstring to UIA objects (__init__).

* Suggestion: a new behavior to allow NVDA to detect and announce suggestions. re nvaccess#6241.

Reviewed by Mick Curran (NV Access): announcement of search suggestion is something that NVDA should handle for other API's, such as suggestions in Firefox address bar, search suggestions in universal apps and so on.
A new behavior named 'Suggestion' has been added that allows subclasses to provide custom routines when suggestions appear and disappear. This is handled by event_suggestionOpened and event_suggestionClosed, and by default NVDA will speak and braille this event.

* UIA objects/Search field: use the new NVDAObjects.behaviors.Suggestion to announce suggestion appearance. re nvaccess#6241.

Reviewed by Mick Curran (NV Access): Based on the new Suggestion behavior mix-in, it is now possible for various objects to provide custom routines to let users know the appearance of suggestions. Thus UIA/Search Field is the first object to use this routine.

* UIA objects/suggestions list: use raw UIA base tree walker to obtain suggestion list (parent). re nvaccess#6241.

Reviewed by Mick Curran (NV Access): it is better to use raw UIA for obtaining parent element. However, one must be careful to catch COM and value errors (COM because the element might not be there, and value because NULL pointer access is logged). The raw UIA method was also recommended by Derek Riemer.

* UIA objects: updated comments, removed reference to Redstone.

* UIA objects/Search field: don't allow suggestions detection be announced in Windows 10 Start menu for consistency with earlier versions of Windows. re nvaccess#6241.

iN Windows 10 Start menu, suggestions are announced automaticlaly, so no need to provide suggestion announcements.

* NVDAObjects/behaviors: rename 'Suggestion' to 'EditableTextWithSuggestions' so the behavior can be better described. re nvaccess#6241.

If one inherits from 'Suggestion', the overall impression would be that the field is only going to display suggestions nad nothing else. Many suggestions are shown when text is entered, thus it is better to say 'EditableTextWithSuggestions' to better reflect what the behavior actually does.
Also, a sound will be played to let users know the appearance of suggestions. (default vlaue).

* Auto-suggestions: add a combo box in object presentation settings to configure how auto-suggestions should be announced. re nvaccess#6241

* User guide: document auto-suggestions notification setting. re nvaccess#6241.

In the user guide, an explanatory text has been added to describe what auto-suggestions are.

* Auto-suggestions: either play a sound or do nothing. re nvaccess#6241.

Comments from Mick Curran and Jamie Teh (NV Access): no need for a separate message option when announcing appearance of auto-suggestions, as the sound cue will let the user of this fact. However, braille users should be notified of this regardless of this flag being turned on (deaf-blind users should be notified of this).
User guide and settings dialog: changed the control type and label for auto-suggestions setting to reflect change in behavior.

* Search suggestions: allow Windows 10 Start menu and Edge to provide search suggestions. re nvaccess#6241.

Reviewed by Mick Curran (NV Access): allow Start menu search box and Edge's address omnibar to participate in providing auto-suggestions announcement.

* Config: auto-suggestion setting is now part of configspec module. re nvaccess#6241

* Update to miscDeps containing auto suggestions sounds.

* NVDAObjects.UIA: catch UnboundLocalError for parentElement if parentElement fetcher fails. re nvaccess#6241.

In some cases, when Start menu opens, it isn't announced by NVDA. As a result, parent element fetcher fails when trying to instantiate suggestions list item, with a traceback that ends with UnboundLocalError. Catch this by moving the SuggestionsListItem selector to inside of the try block.

* EditableTextWithSuggestions: remove braille message shown when suggestions close for consistency with other situations (such as browse mode toggle). re nvaccess#6241.

* NVDAObjects.UIA.SuggestionListItem: braille suggestion results as flash messages. re nvaccess#6241.

Suggestion from Davy Kager: provide a way to let braille users read search suggestion items. This is done by emulating some parts of speech.SpeakObjectProperties except the name and position info map will be fetched (position info map fetching is contingent on whether report position info setting is enabled from Object Presentation dialog). Ideally, NVDA objects should have a way to fetch braille flash messages for controls.
Also reworded docstring for SuggestionListItem so it cna include other UIA-based suggestion list items such as Windows 8.x search results.

* NVDAObjects.UIA.SuggestionsListItem: flash suggestion results in braille. re nvaccess#6241, nvaccess#6414.

Instead of constructing the likely flash message, use a function used as part of Core issue 6414, which is much simpler than constructing the flash message from scratch.

* UIA/SuggestionListItem/searchui: also classify Start search results context menu as a suggestions list item. re nvaccess#6241.

Oddly, the same behavior that's applied to suggestion items must work in Start suggestion's context menu, otherwise menu items will not be announced.
Beeps for indeterminate progress bar dialogs such as the update checker only when progress bar output is configured to include beeps. Issue nvaccess#6759
…ents message where the live text is its first child.

In Edge (at least in Windows 10 Creators Update), there is a specific alert object used to announce alerts, with the automation ID of a11y-announcements-message. Unfortunately, the live text is not obj.name, but obj.firstChild.name, so catch this case for Edge.
@derekriemer
Copy link
Collaborator

derekriemer commented Jun 28, 2017 via email

@michaelDCurran
Copy link
Member

Adding proper live region support to Edge will require major changes to UI Automation core itself. For instance, if a list (say chat log) is marked up as a live region and a new list item is appended, the live region is fired on the list, not the list item. But in this case the correct child to speak would be the lastChild, not firstChild. In deed, if a child was inserted in the middle this would be impossible to find with out caching and comparing the tree. And even if we did do that, the first live region change would still be wrong, unless we cached the tree before the first ever live region. In short, conversation between ATs and Microsoft is needed, which is slowly happening.

@josephsl
Copy link
Collaborator Author

josephsl commented Jun 28, 2017 via email

@josephsl
Copy link
Collaborator Author

josephsl commented Jul 6, 2018

Hi,

If #8466 turns out to be a corner case of this, then I say this PR should be closed in favor of that one, as it also addresses alert text spread over multiple children (via tree interceptor). For now, I'm taking this offline until someone says otherwise.

Thanks.

@josephsl josephsl closed this Jul 6, 2018
@Adriani90
Copy link
Collaborator

@feerrenrut this one as well worthy to label as edge spartan for future reference.

@feerrenrut feerrenrut added the z app/edge/spartan (archived) MS browser, replaced in 2019 by Anaheim. NVDA access via UIA. label May 1, 2020
@josephsl josephsl deleted the i7286edge branch July 19, 2020 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
z app/edge/spartan (archived) MS browser, replaced in 2019 by Anaheim. NVDA access via UIA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants