Commit Graph

135 Commits

Author SHA1 Message Date
James Teh
5b78ce676b Bug 1810596: When computing the text for a live region on Android, always include the text from the subtree. r=eeejay,geckoview-reviewers,ohall
Previously, we only included the subtree for roles which are allowed to be traversed during recursive name computation.
This meant that no text would be produced for live regions with roles such as status, where name computation traversal is not allowed.
Now, we first get the name to handle cases where the name is explicitly specified; e.g. images with alt text.
We then add the subtree text if the name wasn't already computed from it.

Differential Revision: https://phabricator.services.mozilla.com/D210628
2024-05-22 22:14:01 +00:00
James Teh
2e9ea0c1aa Bug 1886371 part 6: Add UIA control types to RoleMap. r=nlapre
The actual ControlType property implementation is the subject of a subsequent patch.

Differential Revision: https://phabricator.services.mozilla.com/D205184
2024-03-25 03:28:05 +00:00
Eitan Isaacson
f7667a25ce Bug 1861211 - Make isAccessibilityElement conditional on a per-role basis. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D191882
2024-03-04 21:19:09 +00:00
James Teh
b609a36524 Bug 1862802 part 5: Remove virtual cursor change event. r=eeejay
Depends on D192645

Differential Revision: https://phabricator.services.mozilla.com/D192646
2023-11-29 03:53:20 +00:00
James Teh
f808bb7966 Bug 1862802 part 3: Directly handle scrolling start events on Android instead of converting them to virtual cursor change events. r=eeejay
Depends on D192643

Differential Revision: https://phabricator.services.mozilla.com/D192644
2023-11-29 03:53:19 +00:00
James Teh
537d380d6e Bug 1862802 part 2: Support find in page on Android using only caret events instead of converting them to virtual cursor change events. r=eeejay
Depends on D192642

Differential Revision: https://phabricator.services.mozilla.com/D192643
2023-11-29 03:53:19 +00:00
Butkovits Atila
8d22d3874b Backed out 5 changesets (bug 1862802) for causing multiple failures. CLOSED TREE
Backed out changeset 786805a2cdcc (bug 1862802)
Backed out changeset effe12f2120a (bug 1862802)
Backed out changeset 7488e7ba80c5 (bug 1862802)
Backed out changeset 3d0747ce0174 (bug 1862802)
Backed out changeset d1558d374cef (bug 1862802)
2023-11-29 03:10:17 +02:00
James Teh
2566c803eb Bug 1862802 part 5: Remove virtual cursor change event. r=eeejay
Depends on D192645

Differential Revision: https://phabricator.services.mozilla.com/D192646
2023-11-28 22:03:21 +00:00
James Teh
07c5faa1b3 Bug 1862802 part 3: Directly handle scrolling start events on Android instead of converting them to virtual cursor change events. r=eeejay
Depends on D192643

Differential Revision: https://phabricator.services.mozilla.com/D192644
2023-11-28 22:03:20 +00:00
James Teh
57808eec8d Bug 1862802 part 2: Support find in page on Android using only caret events instead of converting them to virtual cursor change events. r=eeejay
Depends on D192642

Differential Revision: https://phabricator.services.mozilla.com/D192643
2023-11-28 22:03:19 +00:00
James Teh
32d424ea16 Bug 1822004: On Android, use RemoteAccessible (CtW) hit testing instead of a DOM event. r=eeejay
This unifies hit testing across all platforms.
It also removes one of the few remaining uses of virtual cursor change events.

Differential Revision: https://phabricator.services.mozilla.com/D192641
2023-11-28 07:37:30 +00:00
James Teh
48b356eef4 Bug 1694573 part 5: Make LocalAccessible call Platform*Event. Remove most of the platform HandleAccEvent overrides. r=eeejay
Mac and Android still override HandleAccEvent for platform specific behaviour other than firing the event.
The Android behaviour can be unified properly in future work.

ATK is the platform layer with the most churn because there were inconsistencies in the way local and remote events were handled.
I'm reasonably sure these were unintentional inconsistencies, so I've done my best to unify them.

Differential Revision: https://phabricator.services.mozilla.com/D183704
2023-07-19 02:56:54 +00:00
Eitan Isaacson
3f95e6d57a Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-28 21:45:16 +00:00
Iulian Moraru
2cdfa8bd32 Backed out changeset f3095da827d9 (bug 1754905) for causing build bustages on DocAccessibleWrap. CLOSED TREE 2023-06-28 03:03:37 +03:00
Eitan Isaacson
1cb554dcd7 Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-27 16:59:54 +00:00
Butkovits Atila
edfc01c6da Backed out changeset 4d92a76cedd0 (bug 1754905) for causing bustages at LocalAccessible. CLOSED TREE 2023-06-27 03:46:47 +03:00
Eitan Isaacson
890e742c09 Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-27 00:05:16 +00:00
Stanca Serban
d2b4fb46e0 Backed out changeset 8be4693aecbb (bug 1754905) for causing bustages in xpcAccessiblePivot.h. CLOSED TREE 2023-06-24 03:22:31 +03:00
Eitan Isaacson
3c36e899fd Bug 1754905 - Match Pivot API in nsIAccessiblePivot. r=Jamie
This patch does several things:
1. Remove virtual cursor doc accessible member.
2. Remove state-keeping nsAccessiblePivot implementation and replace it
   with something that is much more similar to the native Pivot
   interface.
3. Move nsIAccessiblePivot implementation to xpcom and rename it
   xpcAccessiblePivot.
4. Delete mochitests and introduce browser tests.
5. Make new xpcom implementation work on remote accessibles as well.

Differential Revision: https://phabricator.services.mozilla.com/D181813
2023-06-23 23:22:34 +00:00
Eitan Isaacson
f06c32d5d5 Bug 1839515 - Remove pivot text navigation API. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D181576
2023-06-21 21:15:47 +00:00
Norisz Fay
63828a0456 Backed out changeset 8178c74a4c65 (bug 1839515) for causing mochitest failures on browser_events_vcchange.js 2023-06-21 22:21:29 +03:00
Eitan Isaacson
9abea69b99 Bug 1839515 - Remove pivot text navigation API. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D181576
2023-06-21 17:55:06 +00:00
Eitan Isaacson
fbccddcd6e Bug 1834874 - P1: Make text navigation work in UI thread with cached TextLeafPoint API. r=Jamie,geckoview-reviewers,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D181320
2023-06-20 18:15:42 +00:00
Eitan Isaacson
ffafba78c3 Bug 1835162 - Use new async clipboard IPC methods in Android. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D179159
2023-06-07 06:49:56 +00:00
Eitan Isaacson
c61ac28bc0 Bug 1832647 - Remove cache enabled check in Android. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D177807
2023-05-13 00:11:51 +00:00
James Teh
cdd2ad5232 Bug 1824935 part 1: Add ARIA roles to RoleMap. r=eeejay
This will soon be used to return standardized ARIA role names from a new function.

Differential Revision: https://phabricator.services.mozilla.com/D175581
2023-04-25 07:06:34 +00:00
Stanca Serban
13b7e5c226 Backed out 8 changesets (bug 1828816, bug 1822112, bug 1572512, bug 1824935) for causing multiple failures. CLOSED TREE
Backed out changeset 8886f7011919 (bug 1822112)
Backed out changeset df566bce405d (bug 1828816)
Backed out changeset 5857e8ef63e1 (bug 1828816)
Backed out changeset 50324d39e9c1 (bug 1822112)
Backed out changeset 7f6bee1959fb (bug 1572512)
Backed out changeset 4effd0bdc4db (bug 1824935)
Backed out changeset a8faf17fcce8 (bug 1824935)
Backed out changeset 0370b0032eb6 (bug 1824935)
2023-04-25 07:45:58 +03:00
James Teh
a932f0c043 Bug 1824935 part 1: Add ARIA roles to RoleMap. r=eeejay
This will soon be used to return standardized ARIA role names from a new function.

Differential Revision: https://phabricator.services.mozilla.com/D175581
2023-04-24 23:35:50 +00:00
Eitan Isaacson
1c3a68a3e3 Bug 1825891 - P2: Remove Android's non-CTW implementation. r=Jamie,geckoview-reviewers,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D174516
2023-04-13 17:58:57 +00:00
Eitan Isaacson
36b506bd87 Bug 1801986 - Set pivot root to top remote document. r=Jamie
The pivot should never cross from remote into parent process local
containers. We need to explicitly set the root for the pivot, and
assert for this in the pivot traversal methods.

Differential Revision: https://phabricator.services.mozilla.com/D163285
2022-11-29 20:31:21 +00:00
Adam Vandolder
88882be017 Bug 1665151 - Part 2: Expose custom element default accessibility attributes. r=edgar,Jamie,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D159237
2022-11-02 14:50:56 +00:00
James Teh
272465e425 Bug 1772050: Don't call Attributes() in Android's HandleLiveRegionEvent. r=eeejay
Attributes() might do computation that we'll just throw away; e.g. building a CachedTableAccessible.
In a content process, cached data structures like this will never get used by a client, so building them will always be wasteful.
Instead, use nsAccUtils::SetLiveContainerAttributes, which only computes live region stuff.

Differential Revision: https://phabricator.services.mozilla.com/D151799
2022-07-14 21:58:37 +00:00
Eitan Isaacson
3143cbb779 Bug 1768927 - Preload localized role strings and heading levels at init. r=Jamie
We can't use the StringBundle object off the main thread. We need to
pre-load all the strings we may use. This is a small set of roles. We
also need formatted heading levels, so we preload heading level 1 to 6.

Differential Revision: https://phabricator.services.mozilla.com/D146112
2022-05-13 05:00:55 +00:00
Eitan Isaacson
c68f0f5bfa Bug 1768913 - Don't send window content changed event when loaded about:blank. r=morgan
Testing note - this enables junit tests to start and pass more reliably
when caching is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D146106
2022-05-11 22:09:12 +00:00
Eitan Isaacson
9b05b625a5 Bug 1765433 - P3: Get bundle and do pivot in UI thread for remote accessibles. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D144896
2022-05-04 18:00:47 +00:00
Eitan Isaacson
4aff8e030b Bug 1765430 - P4: Remove RemoteAccessibleWrap. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D144483
2022-04-27 22:44:46 +00:00
Eitan Isaacson
ebd273d750 Bug 1765430 - P3: Refactor Android Pivot methods. r=Jamie
This creates a clearer distinction between local pivots and remote
pivots. The former happens in the parent process and the latter happens
in the remote content process.

Differential Revision: https://phabricator.services.mozilla.com/D144482
2022-04-27 22:44:45 +00:00
Eitan Isaacson
1f4337faee Bug 1765430 - P2: Manage Android accessible/id mappings in SessionAccessibility. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D144481
2022-04-27 22:44:45 +00:00
Eitan Isaacson
1e2e25c3d0 Bug 1765430 - P1: Move ToBundle to SessionAccessibility. r=Jamie
Since remote accessibles won't share AccessibleWrap as a base class
anymore this can't be an instance method. Move it to
SessionAccessibility, the sole consumer.

Note: ToBundle will hopefully get removed entirely once CTW is fully adopted.

Differential Revision: https://phabricator.services.mozilla.com/D144480
2022-04-27 22:44:45 +00:00
Butkovits Atila
6702c1bbb0 Backed out 4 changesets (bug 1765430) for causing android bustage. CLOSED TREE
Backed out changeset 72e27e3813d3 (bug 1765430)
Backed out changeset 47bbf5bd9315 (bug 1765430)
Backed out changeset e8161b463a3b (bug 1765430)
Backed out changeset 30c05f76d21e (bug 1765430)
2022-04-28 01:15:37 +03:00
Eitan Isaacson
69648a38c3 Bug 1765430 - P4: Remove RemoteAccessibleWrap. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D144483
2022-04-27 21:01:36 +00:00
Eitan Isaacson
5052ad2970 Bug 1765430 - P3: Refactor Android Pivot methods. r=Jamie
This creates a clearer distinction between local pivots and remote
pivots. The former happens in the parent process and the latter happens
in the remote content process.

Differential Revision: https://phabricator.services.mozilla.com/D144482
2022-04-27 21:01:36 +00:00
Eitan Isaacson
5610277f5e Bug 1765430 - P2: Manage Android accessible/id mappings in SessionAccessibility. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D144481
2022-04-27 21:01:35 +00:00
Eitan Isaacson
934f5b66c1 Bug 1765430 - P1: Move ToBundle to SessionAccessibility. r=Jamie
Since remote accessibles won't share AccessibleWrap as a base class
anymore this can't be an instance method. Move it to
SessionAccessibility, the sole consumer.

Note: ToBundle will hopefully get removed entirely once CTW is fully adopted.

Differential Revision: https://phabricator.services.mozilla.com/D144480
2022-04-27 21:01:35 +00:00
Eitan Isaacson
afd4a55213 Bug 1765651 - Put DOMNodeID in Accessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D144234
2022-04-22 16:31:42 +00:00
Eitan Isaacson
fcb0d0f87d Bug 1758811 - P3: Don't push cache when gecko cache is available. r=Jamie
This requires a little bit of decoupling of dispatching
WINDOW_CONTENT_CHANGED events when the content changes.

Differential Revision: https://phabricator.services.mozilla.com/D140751
2022-03-11 18:55:43 +00:00
Eitan Isaacson
7a0a4f7db3 Bug 1758592 - P2: Return a value when pivoting and use it in parent-side traversal. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D140684
2022-03-10 00:11:40 +00:00
Eitan Isaacson
85933dbabe Bug 1757812 - P2: Move pivot in parent when caching is enabled. r=morgan
This is a baby step in the caching direction. It isn't perfect yet.
Specifically, cache we have now in Android depends on a cache push
from content that doesn't happen if we do this all parent side.

So most of the junit tests pass, except for the heading one because
we don't cache heading levels in the less complete viewport cache.

tl;dr
This will work right when the accessibles being retrieved are from our
ctw cache. This will happen in followup bugs.

Differential Revision: https://phabricator.services.mozilla.com/D140120
2022-03-03 22:04:39 +00:00
James Teh
fd5281ae7c Bug 1747172: Support cached RemoteAccessible in Pivot text methods. r=eeejay
The XPCOM interface and AccVCChangeEvent still only support LocalAccessible.
These will need to be updated/refactored in the future.

Differential Revision: https://phabricator.services.mozilla.com/D138247
2022-02-15 05:35:14 +00:00
Morgan Reschenberg
a626fee84a Bug 1748878: Use LayoutDeviceInt types for points, rects, sizes in dev pixels r=Jamie,emilio
Differential Revision: https://phabricator.services.mozilla.com/D135272
2022-01-18 23:31:21 +00:00