Граф коммитов

8732 Коммитов

Автор SHA1 Сообщение Дата
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
Marco Zehe 29d1f9d2c4 Bug 1676344 Part 2: Add a Mac test for correct table properties for a table with intermediary hyperTexts, r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D96575
2020-11-10 23:16:46 +00:00
Marco Zehe 1c9ba3438f Bug 1676344 - Treat TEXT_CONTAINER accessibles between tables and table rows, as well as table rows and cells, as presentational, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D96532
2020-11-10 22:52:34 +00:00
Eitan Isaacson b7272befe7 Bug 1674215 - Map role=tooltip to AXGroup instead of AXHelpTag. r=morgan
Safari maps role=tooltip to AXGroup/AXUserInterfaceTooltip.
I suspect AXHelpTag is meant for native tooltips.

This fixes an issue when VO encounters a tooltip in read-all it jumps out of the web content.

Differential Revision: https://phabricator.services.mozilla.com/D96626
2020-11-10 23:15:02 +00: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
Kris Maglione 7ae9faa46f Bug 1651774: Update mozilla/use-services rule for native Services implementation. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D93858
2020-11-06 18:58:33 +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
Jon Bauman 3eb317f0e2 Bug 1675987 - No derogatory language: Remove references to "crazy" in accessibility module. r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D96484
2020-11-10 00:30: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
Marco Zehe 82a0456a29 Bug 1673857 - Expose SVGs as images rather than unknown accessibles, r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D96069
2020-11-06 17:31:09 +00:00
Andrey Bienkowski 9985e57c16 Bug 1675094 Replace executeSoon() with waitForTick() in accessible/tests/browser r=Jamie,yzen
Differential Revision: https://phabricator.services.mozilla.com/D95779
2020-11-05 18:27:40 +00:00
Aaron Klotz 01caccf15a Bug 1674904: Part 4 - Update AccessibleHandler to delayload dependencies that are only used during registration; r=Jamie
We should delayload DLLs that for APIs that are only used during registration
so that they aren't referenced during normal operation.

Differential Revision: https://phabricator.services.mozilla.com/D95609
2020-11-04 21:50:06 +00:00
Dorel Luca e3198dde0a Backed out 4 changesets (bug 1674904) for Build bustage in worker/checkouts/gecko/config/rules.mk. CLOSED TREE
Backed out changeset 50576e0fbd98 (bug 1674904)
Backed out changeset b3b7d68c33f6 (bug 1674904)
Backed out changeset 660cdea23685 (bug 1674904)
Backed out changeset 7322c3af8006 (bug 1674904)
2020-11-04 23:20:51 +02:00
Aaron Klotz da717f3b82 Bug 1674904: Part 4 - Update AccessibleHandler to delayload dependencies that are only used during registration; r=Jamie
We should delayload DLLs that for APIs that are only used during registration
so that they aren't referenced during normal operation.

Differential Revision: https://phabricator.services.mozilla.com/D95609
2020-11-04 20:41:33 +00:00
Eitan Isaacson f42d5e8b3d Bug 1672694 - P1: Query layout for selectable text state. r=morgan,Jamie,yzen
The SELECTABLE_TEXT state is currently under-utilized and probably wrong, since it simply relies on testing if a hypertext has any text. A more correct reflection of the state should be taken from layout's IsSelectable method.

Note, even if an element is styled `user-select: none`, the text will still be keyboard selectable if it is editable (eg. input or contenteditable), so we should consider that SELECTABLE_TEXT.

Differential Revision: https://phabricator.services.mozilla.com/D95783
2020-11-04 19:56:55 +00:00
Marco Zehe 19a10e117a Bug 1675172 - Prevent an infinite loop when finding the line end boundary for an offset of 0, r=Jamie
Use a safer looping method, walking forward from aOffset to tmpOffset to prevent wrapping around at 0.

Differential Revision: https://phabricator.services.mozilla.com/D95826
2020-11-04 07:09:59 +00:00
Razvan Maries 10425eddfc Backed out 7 changesets (bug 1658084, bug 1671983) for perma failures on browser_async_remove_tab.js and browser_e10s_chrome_process.js. CLOSED TREE
Backed out changeset 2e6309c1cdbd (bug 1658084)
Backed out changeset 99aafd9304ef (bug 1671983)
Backed out changeset 80280b85280a (bug 1671983)
Backed out changeset 008db2659002 (bug 1671983)
Backed out changeset 32bd45c7fe3a (bug 1671983)
Backed out changeset 56e227e6580c (bug 1671983)
Backed out changeset a404f809f79d (bug 1671983)
2020-11-04 04:23:47 +02: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
Nika Layzell 5f9c85da95 Bug 1671983 - Part 4: Stop awaiting BrowserTestUtils.loadURI, r=annyG,remote-protocol-reviewers,extension-reviewers,preferences-reviewers,whimboo,zombie
This method only is async in order to allow callers to wait for a process switch
triggered by the call to `loadURI` to be finished before resolving. With
DocumentChannel, we should never trigger a process switch eagerly like this
again, so we don't need any of the async behaviour here anymore.

This part is largely mechanical changes to tests, removing the `await` calls on
`loadURI`, and a follow-up part will remove the actual async logic from
`BrowserTestUtils.loadURI`.

Differential Revision: https://phabricator.services.mozilla.com/D94641
2020-11-04 00:55:36 +00: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 8a078f1f55 Bug 1672694 - P1: Query layout for selectable text state. r=morgan,Jamie
The SELECTABLE_TEXT state is currently under-utilized and probably wrong, since it simply relies on testing if a hypertext has any text. A more correct reflection of the state should be taken from layout's IsSelectable method.

Note, even if an element is styled `user-select: none`, the text will still be keyboard selectable if it is editable (eg. input or contenteditable), so we should consider that SELECTABLE_TEXT.

Differential Revision: https://phabricator.services.mozilla.com/D95783
2020-11-04 00:28:57 +00:00
Aaron Klotz f71723139d Bug 1674909: Mark LazyInstantiator::GetRootAccessible as nodiscard; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D95593
2020-11-03 02:05:32 +00:00
Eitan Isaacson d89268f7cd Bug 1619092 - Don't expose tbody/tfoot/thead as intermediate groups. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D94889
2020-11-02 21:41:12 +00:00
Bogdan Tara 0ee83920b6 Backed out changeset 6abea0908b00 (bug 1619092) for test_table_3 failures CLOSED TREE 2020-11-02 20:11:22 +02:00
Eitan Isaacson b7d75e0412 Bug 1619092 - Don't expose tbody/tfoot/thead as intermediate groups. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D94889
2020-10-30 00:24:33 +00:00
Eitan Isaacson 25ed6d4702 Bug 1674194 - If cell or row has aria role, make it a layout table. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D95193
2020-10-29 23:32:37 +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
James Teh 72da707476 Bug 1673919: Make ParagraphBoundaryRule skip over OuterDocAccessibles. r=MarcoZ
The browser test is really a crash test, but it's really difficult to test a11y APIs properly using the crashtest framework.

Differential Revision: https://phabricator.services.mozilla.com/D95107
2020-10-29 06:04:33 +00:00
Eitan Isaacson 66f17f5351 Bug 1020603 - Check table children for alternative frame types when mapping element. r=Jamie
If an HTML table's children (tr/thead/tfoot) are anything but row or row
group frames, our layout-based HTMLTableAccessible implementation won't work.

Differential Revision: https://phabricator.services.mozilla.com/D94888
2020-10-28 15:58:55 +00:00
Eitan Isaacson cf25b74412 Bug 1673036 - If focused accessible is styled away, emit focus event on document. r=Jamie
Previously, the focus was emitted on the accessible's visible
container, even if it was not focusable.

Differential Revision: https://phabricator.services.mozilla.com/D94746
2020-10-26 18:40:24 +00:00
Marco Zehe f9e0ccb2a1 Bug 1525631 - Return correct line start and end offsets for inline-block elements with nested line breaks, r=Jamie
If an inline-block element contains nested elements that may contain line breaks, or whitespace that comes from how the HTML file is formatted, both start and end offsets returned from layout may be incorrect. Adjust for the following cases:

* The start offset goes too far back from the passed-in offset, overshooting a line boundary.
* The end offset returned is smaller than the passed-in offset, even though we want the start of the next line. Even on the last line, this should never happen.

Differential Revision: https://phabricator.services.mozilla.com/D94744
2020-10-27 06:10:33 +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