Commit Graph

424 Commits

Author SHA1 Message Date
Eitan Isaacson
1624b5c00a Bug 1675301 - Don't return web area as result when searching backwards from root group. r=morgan
It seems that VO mistakenly thinks the web area is a descendant of itself. This causes all kinds of cyclical parent child relationships that makes VO over-query us.

This patch remedies that by not returning the web area when do an immediate child search starting from the root group - in any direction.

Differential Revision: https://phabricator.services.mozilla.com/D97819
2020-11-21 04:14:44 +00:00
Eitan Isaacson
cf517da0a4 Bug 1676662 - Prepend list bullet when getting range at start of list item. r=morgan
Safari has an inconsistent way to deal with list bullets in text.
If a given range has a list or list item nested inside it - but it is not
at the beginning, the bullet will not be returned as part of the text.But if the range begins at the start
of a list item, the preceding bullet is included. For example, given the following list:

* First Item
* Second Item

If the range is [irst Item], the text for that range should return as "irst Item",
but if the range is [First it], the returned text is "* First it".

This patch emulates that inconsistency by removing the list item considerations
in the text segments iterator, and instead prepending a bullet if needed.

Differential Revision: https://phabricator.services.mozilla.com/D97717
2020-11-21 04:14:08 +00:00
Eitan Isaacson
9fc76e7928 Bug 1672700 - Make mozTextAccessible attribute getters use GeckoTextMarker. r=morgan
This allows `contenteditable` textboxes to work correctly with flattened text values.

The attribute setters, aside from AXValue, don't work in Chrome or Safari with aria textboxes,
so those are not a high priority. These include:
- AXSelectedText
- AXSelectedTextRange
- AXVisibleCharacterRange

In addition, AXVisibleCharacterRange's getter doesn't function as expected in Chrome or Safari either, so I didn't touch it.

Differential Revision: https://phabricator.services.mozilla.com/D97629
2020-11-21 04:13:45 +00:00
Bogdan Tara
6387fb5923 Backed out changeset 612035c577d2 (bug 1649714) for browser_popupbutton.js failures CLOSED TREE
DONTBUILD
2020-11-20 09:16:18 +02:00
Morgan Reschenberg
7814f780f3 Bug 1649714: Remove menuPopUp's ignore parent for XUL comboboxes and combobox lists. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D97471
2020-11-20 06:13:43 +00:00
Morgan Reschenberg
944f8f156b Bug 1649711: Map rich list box item to selectable acc class r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D96906
2020-11-16 18:27:26 +00:00
Eitan Isaacson
673de157fa Bug 1198336 - P4: Post AXLiveRegionChanged when live regions change. r=morgan
VoiceOver seems to do all the heavy lifting of figuring out what portion of the
live region should be read.

Depends on D96293

Differential Revision: https://phabricator.services.mozilla.com/D96294
2020-11-16 20:16:52 +00:00
Eitan Isaacson
5eee7bf4ed Bug 1198336 - P3: Implement AXLiveRegionSearchKey. r=morgan
I think VoiceOver uses this to pull in all live regions so it
can check for deletions when they change later on.

Depends on D96292

Differential Revision: https://phabricator.services.mozilla.com/D96293
2020-11-16 20:16:44 +00:00
Eitan Isaacson
56f38afb59 Bug 1198336 - P2: Implement live region AX attributes and AXLiveRegionCreated notification. r=morgan
We use an ivar boolean flag to cache the existance of a live region. This lets us
hide the live region AX attributes and avoid sync round trips to content.

Depends on D96291

Differential Revision: https://phabricator.services.mozilla.com/D96292
2020-11-16 20:16:41 +00:00
Eitan Isaacson
df739e1daf Bug 1198336 - P1: Introduce live region added/removed events. r=Jamie,morgan
VoiceOver pre-caches live region data and does its own deltas to
know what to parts of a subtree changed, and what to announce
based on AXARIAAtomic and AXARIARelevant.

I added a removed event as well. This will help us cache a "live region"
flag in the main process and avoid sync round trips for attributes when not needed.

Differential Revision: https://phabricator.services.mozilla.com/D96291
2020-11-16 20:16:33 +00:00
Butkovits Atila
119d8f1aa7 Backed out 4 changesets (bug 1198336) for bustage on rules.mk. CLOSED TREE
Backed out changeset 26ad5bb8e1ed (bug 1198336)
Backed out changeset 852dc98e8cf5 (bug 1198336)
Backed out changeset 823511f4191b (bug 1198336)
Backed out changeset 67f5a42ed170 (bug 1198336)
2020-11-13 11:06:12 +02:00
Eitan Isaacson
b538315d73 Bug 1198336 - P4: Post AXLiveRegionChanged when live regions change. r=morgan
VoiceOver seems to do all the heavy lifting of figuring out what portion of the
live region should be read.

Depends on D96293

Differential Revision: https://phabricator.services.mozilla.com/D96294
2020-11-13 03:49:11 +00:00
Eitan Isaacson
09d4370beb Bug 1198336 - P3: Implement AXLiveRegionSearchKey. r=morgan
I think VoiceOver uses this to pull in all live regions so it
can check for deletions when they change later on.

Depends on D96292

Differential Revision: https://phabricator.services.mozilla.com/D96293
2020-11-13 03:49:04 +00:00
Eitan Isaacson
7edd107586 Bug 1198336 - P2: Implement live region AX attributes and AXLiveRegionCreated notification. r=morgan
We use an ivar boolean flag to cache the existance of a live region. This lets us
hide the live region AX attributes and avoid sync round trips to content.

Depends on D96291

Differential Revision: https://phabricator.services.mozilla.com/D96292
2020-11-13 03:48:53 +00:00
Eitan Isaacson
ae837aea6e Bug 1198336 - P1: Introduce live region added/removed events. r=Jamie,morgan
VoiceOver pre-caches live region data and does its own deltas to
know what to parts of a subtree changed, and what to announce
based on AXARIAAtomic and AXARIARelevant.

I added a removed event as well. This will help us cache a "live region"
flag in the main process and avoid sync round trips for attributes when not needed.

Differential Revision: https://phabricator.services.mozilla.com/D96291
2020-11-13 04:04:45 +00:00
Morgan Reschenberg
dbc30ace84 Bug 1676878: Modify moxLabel to not strip first character for outlines r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D96895
2020-11-12 23:40:02 +00:00
Morgan Reschenberg
e45400e5b3 Bug 1644810: Implement accessible subclasses for AXOutline and AXOutlineItem r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D96074
2020-11-12 06:16:58 +00:00
Csoregi Natalia
6ddec72329 Backed out 4 changesets (bug 1198336) for causing leaks. CLOSED TREE
Backed out changeset faa35ea77d35 (bug 1198336)
Backed out changeset 821f94bae182 (bug 1198336)
Backed out changeset ee78c1e8cc3b (bug 1198336)
Backed out changeset 2c56e36b869d (bug 1198336)
2020-11-12 01:46:52 +02:00
Eitan Isaacson
29037361ba Bug 1198336 - P4: Post AXLiveRegionChanged when live regions change. r=morgan
VoiceOver seems to do all the heavy lifting of figuring out what portion of the
live region should be read.

Differential Revision: https://phabricator.services.mozilla.com/D96294
2020-11-11 21:12:46 +00:00
Eitan Isaacson
5950c43ca4 Bug 1198336 - P3: Implement AXLiveRegionSearchKey. r=morgan
I think VoiceOver uses this to pull in all live regions so it
can check for deletions when they change later on.

Differential Revision: https://phabricator.services.mozilla.com/D96293
2020-11-11 21:12:33 +00:00
Eitan Isaacson
61086eeb1a Bug 1198336 - P2: Implement live region AX attributes and AXLiveRegionCreated notification. r=morgan
We use an ivar boolean flag to cache the existance of a live region. This lets us
hide the live region AX attributes and avoid sync round trips to content.

Differential Revision: https://phabricator.services.mozilla.com/D96292
2020-11-11 21:12:26 +00:00
Eitan Isaacson
4757842fcf Bug 1198336 - P1: Introduce live region added/removed events. r=Jamie,morgan
VoiceOver pre-caches live region data and does its own deltas to
know what to parts of a subtree changed, and what to announce
based on AXARIAAtomic and AXARIARelevant.

I added a removed event as well. This will help us cache a "live region"
flag in the main process and avoid sync round trips for attributes when not needed.

Differential Revision: https://phabricator.services.mozilla.com/D96291
2020-11-11 21:12:18 +00:00
Butkovits Atila
7c83560854 Backed out 4 changesets (bug 1198336) for bustages on rules.mk. CLOSED TREE
Backed out changeset 8399406e5f2e (bug 1198336)
Backed out changeset 7a2dbe67b6a6 (bug 1198336)
Backed out changeset fd45661dd659 (bug 1198336)
Backed out changeset 68cf7e4b16f2 (bug 1198336)
2020-11-11 02:40:30 +02:00
Eitan Isaacson
eb929d7c1e Bug 1676509 - Remove AXTitle from list item groups. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D96632
2020-11-10 23:14:59 +00:00
Eitan Isaacson
cf73c1aba7 Bug 1676517 - Improve MacAccessibility logging. r=morgan
We should log attribute setting or action performing. We also probably should log AXRole, AXSubrole, AXSize and AXPosition in debug mode, just verbose.

Differential Revision: https://phabricator.services.mozilla.com/D96635
2020-11-10 23:13:52 +00:00
Eitan Isaacson
75c203c933 Bug 1198336 - P4: Post AXLiveRegionChanged when live regions change. r=morgan
VoiceOver seems to do all the heavy lifting of figuring out what portion of the
live region should be read.

Differential Revision: https://phabricator.services.mozilla.com/D96294
2020-11-10 23:07:45 +00:00
Eitan Isaacson
f40a9c9d15 Bug 1198336 - P3: Implement AXLiveRegionSearchKey. r=morgan
I think VoiceOver uses this to pull in all live regions so it
can check for deletions when they change later on.

Differential Revision: https://phabricator.services.mozilla.com/D96293
2020-11-10 23:07:38 +00:00
Eitan Isaacson
5a81554d4c Bug 1198336 - P2: Implement live region AX attributes and AXLiveRegionCreated notification. r=morgan
We use an ivar boolean flag to cache the existance of a live region. This lets us
hide the live region AX attributes and avoid sync round trips to content.

Differential Revision: https://phabricator.services.mozilla.com/D96292
2020-11-10 23:07:30 +00:00
Eitan Isaacson
85740d386d Bug 1198336 - P1: Introduce live region added/removed events. r=Jamie,morgan
VoiceOver pre-caches live region data and does its own deltas to
know what to parts of a subtree changed, and what to announce
based on AXARIAAtomic and AXARIARelevant.

I added a removed event as well. This will help us cache a "live region"
flag in the main process and avoid sync round trips for attributes when not needed.

Differential Revision: https://phabricator.services.mozilla.com/D96291
2020-11-10 23:07:20 +00:00
Eitan Isaacson
cbc4bcfaba Bug 1675292 - Add 'application' root group when body gets role of application. r=morgan
Both chrome and safari preserve the AXWebArea with no subroles, and apply the application subrole to the root group. Not doing so apparently breaks web applications badly.

Differential Revision: https://phabricator.services.mozilla.com/D96475
2020-11-10 17:49:01 +00:00
smolnar
17d3157e82 Backed out 1 changesets (bug 1675292) for causing failures in browser_roles_elements. CLOSED TREE DONTBUILD
Backed out changeset f4cdad3fae02 (bug 1675292)
2020-11-10 09:12:15 +02:00
Eitan Isaacson
6ac3c7496b Bug 1675292 - Add 'application' root group when body gets role of application. r=morgan
Both chrome and safari preserve the AXWebArea with no subroles, and apply the application subrole to the root group. Not doing so apparently breaks web applications badly.

Differential Revision: https://phabricator.services.mozilla.com/D96475
2020-11-09 23:53:00 +00:00
Eitan Isaacson
e8112d4ccd Bug 1672694 - P2: Don't fire AXSelectedTextChanged if target is not selectable. r=morgan
This causes VoiceOver to mess with `AXFocused` and as a result redirect the VO cursor.

Differential Revision: https://phabricator.services.mozilla.com/D95784
2020-11-09 17:55:20 +00:00
Eitan Isaacson
03f2c847ea Bug 1674273 - Consider a hyperlink with no hypertext parent as a root. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D95817
2020-11-09 17:06:44 +00:00
Razvan Maries
fd7d890c94 Backed out 2 changesets (bug 1672694) for Lint failures on browser_text_selection.js and perma failures on browser_accessibility_node.js. CLOSED TREE
Backed out changeset 0f340ea56805 (bug 1672694)
Backed out changeset b222e4ff438f (bug 1672694)
2020-11-04 03:15:17 +02:00
Eitan Isaacson
f80fe575c5 Bug 1672694 - P2: Don't fire AXSelectedTextChanged if target is not selectable. r=morgan
This causes VoiceOver to mess with `AXFocused` and as a result redirect the VO cursor.

Differential Revision: https://phabricator.services.mozilla.com/D95784
2020-11-04 00:26:27 +00:00
Eitan Isaacson
33d5e972fd Bug 1674196 - Don't return children columns in layout tables. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D95228
2020-10-30 04:42:18 +00:00
Eitan Isaacson
ef1779b14c Bug 1672776 - Return nil TextMarker(Range) if GeckoTextMarker(Range) is invalid. r=morgan
It seems like the GeckoTextMarker::Range can sometimes return invalid ranges.
We need to check if they are valid or not before marshalling them.

Differential Revision: https://phabricator.services.mozilla.com/D95230
2020-10-30 04:41:20 +00:00
Eitan Isaacson
617e00d069 Bug 1672803 - Add AXMozDebugDescription and override NSObject description when logging. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D94473
2020-10-28 20:22:02 +00:00
Ricky Stewart
02a7b4ebdf Bug 1654103: Standardize on Black for Python code in mozilla-central.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara
da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart
c0cea3b0fa Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Eitan Isaacson
0e6061d30d Bug 1672243 - Introduce AXIndexForChildUIElement and implement AXTopLevelUIElement. r=MarcoZ
AXTopLevelUIElement is not really testable because it doesn't give a useful result in
headless mode. Since it is a clone of AXWindow, this shouldn't be much of an issue.

Differential Revision: https://phabricator.services.mozilla.com/D94154
2020-10-22 17:12:39 +00:00
Dorel Luca
1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart
50762dacab Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Morgan Reschenberg
c5ff480218 Bug 1668101: Support same/different type naviagation with VO r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D91833
2020-10-15 16:42:14 +00:00
Eitan Isaacson
2e476d423a Bug 1671049 - Invalidate cached ARIA role and role in mozAccessible when role changes. r=morgan
Besides the ARIA role invalidation, this fixes an issue where the mozAccessible's role is also incorrect when the aria role changes on a body tag.

Depends on D93439

Differential Revision: https://phabricator.services.mozilla.com/D93440
2020-10-14 00:04:49 +00:00
Eitan Isaacson
c548ecd683 Bug 1671049 - Cache proxy ARIA role in mozAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D93439
2020-10-14 00:04:54 +00:00
Eitan Isaacson
7a572196df Bug 1669821 - Implement search predicate API on virtual root. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D92820
2020-10-07 20:34:21 +00:00
Eitan Isaacson
f050b91638 Bug 1669599 - Support AXEditableAncestor and make it text event target. r=morgan
Depends on D92689

Differential Revision: https://phabricator.services.mozilla.com/D92690
2020-10-07 00:13:34 +00:00