gecko-dev/accessible/base
James Teh f2b94d8123 Bug 1870783 part 4: Fire state change events on all popover invokers. r=eeejay
A popover can have multiple invoker buttons.
Previously, we only fired a state change event on the button which was invoked.
This meant that the cached expanded/collapsed state of any other invokers was stale.
To facilitate this:

1. Add popovertarget to DocAccessible's kRelationAttrs so that we track reverse relationships. This will also later be used for exposing relations.
2. When an Accessible is shown or hidden, if it is a popover, use RelatedAccIterator to get all the invokers and fire appropriate state change events on each of them.
3. This also means we can get rid of nsAccessibilityService::PopovertargetMaybeChanged, since this explicit notification from DOM is no longer useful.
4. Add popovertarget to LocalAccessible::AttributeChangesState so that we fire an event for the expandable/expanded/collapsed state change if appropriate when that attribute is changed.

Differential Revision: https://phabricator.services.mozilla.com/D199842
2024-02-12 06:24:15 +00:00
..
ARIAMap.cpp Bug 1732306 - Part 4: Implement generic role mapping, r=Jamie 2024-02-08 17:49:42 +00:00
ARIAMap.h Bug 1849204 - Add generic atom hash keys that use the better distributed atom hash, and use it across the tree. r=mstange,xpcom-reviewers,credential-management-reviewers,sgalich,nika 2023-08-18 18:43:27 +00:00
ARIAStateMap.cpp Bug 1665151 - Part 2: Expose custom element default accessibility attributes. r=edgar,Jamie,credential-management-reviewers,sgalich 2022-11-02 14:50:56 +00:00
ARIAStateMap.h
AccAttributes.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
AccAttributes.h Bug 1849204 - Add generic atom hash keys that use the better distributed atom hash, and use it across the tree. r=mstange,xpcom-reviewers,credential-management-reviewers,sgalich,nika 2023-08-18 18:43:27 +00:00
AccEvent.cpp Bug 1862802 part 5: Remove virtual cursor change event. r=eeejay 2023-11-29 03:53:20 +00:00
AccEvent.h Bug 1862802 part 5: Remove virtual cursor change event. r=eeejay 2023-11-29 03:53:20 +00:00
AccGroupInfo.cpp Bug 1864015: Correctly handle removal of the conceptual parent. r=eeejay 2023-11-30 23:53:08 +00:00
AccGroupInfo.h Bug 1864015: Correctly handle removal of the conceptual parent. r=eeejay 2023-11-30 23:53:08 +00:00
AccIterator.cpp Bug 1845226 - Fix non-unified macOS build due to link error about missing IsDefunct() function definition. r=eeejay 2023-07-27 15:02:25 +00:00
AccIterator.h Bug 1833313: Remove all remaining a11y cache checks and non-caching code except for Mac specific bits. r=morgan,geckoview-reviewers,calu 2023-05-28 23:42:12 +00:00
AccTypes.h Bug 1766147: Remove now unused eProxyType, Accessible::IsProxy and LocalAccessible::mBits. r=morgan 2022-11-22 04:17:41 +00:00
Asserts.cpp Bug 1863482 part 1: Change includes of RelationType.h to mozilla/a11y/RelationType.h. r=eeejay 2023-11-14 02:31:54 +00:00
CacheConstants.h Bug 1870783 part 2: Expose ispopup object attribute. r=eeejay 2024-02-12 06:24:15 +00:00
CachedTableAccessible.cpp Bug 1861902: Enforce some table restrictions to avoid crashes and improve consistency. r=eeejay 2023-11-06 04:17:45 +00:00
CachedTableAccessible.h Bug 1832228 part 3: Rename TableAccessibleBase to TableAccessible and TableCellAccessibleBase to TableCellAccessible. r=nlapre 2023-06-08 09:50:28 +00:00
DocManager.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
DocManager.h
EmbeddedObjCollector.cpp Bug 1766147: Remove now unused eProxyType, Accessible::IsProxy and LocalAccessible::mBits. r=morgan 2022-11-22 04:17:41 +00:00
EmbeddedObjCollector.h
EventQueue.cpp Bug 1867358 part 1: Fix up unbraced single-line if-statements in NotificationController and its superclass. r=eeejay 2023-12-01 17:18:22 +00:00
EventQueue.h Bug 1867358 part 2: Assert that EventQueue's mDocument member is initialized to something non-null. r=eeejay 2023-12-01 17:18:23 +00:00
EventTree.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
EventTree.h Bug 1794319: Remove a11y::EventTree, as it has been dead code for 6 years. r=eeejay 2022-10-11 01:41:42 +00:00
Filters.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
Filters.h Bug 1838151: Remove unused a11y::filters::GetRow/GetCell. r=nlapre 2023-06-14 03:31:45 +00:00
FocusManager.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
FocusManager.h Bug 1802040: Track the focused DocAccessibleParent on Android. r=eeejay 2022-12-07 13:42:30 +00:00
HTMLMarkupMap.h Bug 1732306 - Part 3: Implement time role mappings, r=Jamie 2024-02-08 17:49:42 +00:00
IDSet.h
Logging.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
Logging.h Bug 1794319: Remove a11y::EventTree, as it has been dead code for 6 years. r=eeejay 2022-10-11 01:41:42 +00:00
MathMLMarkupMap.h Bug 1832261: Remove most of HTMLTable*Accessible. r=nlapre 2023-06-08 09:50:28 +00:00
NotificationController.cpp Bug 1834718: Don't process a duplicate DocAccessible::ContentRemoved call for a DOM node we've already processed. r=morgan 2023-12-20 21:59:41 +00:00
NotificationController.h Bug 1771579 part 1: Process text leaf updates in the order in which they were received from layout. r=eeejay 2023-10-26 22:37:22 +00:00
Pivot.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
Pivot.h Bug 1844238 part 1: Change includes of Role.h to mozilla/a11y/Role.h. r=eeejay 2023-07-26 02:19:41 +00:00
Platform.h Bug 1862802 part 5: Remove virtual cursor change event. r=eeejay 2023-11-29 03:53:20 +00:00
Relation.h Bug 1782172: [Part 1] Support creating a Relation with a RemoteAccessible r=Jamie 2022-08-15 20:43:54 +00:00
RelationTypeGen.py Bug 1863482 part 2: Generate RelationType.h from nsIAccessibleRelation.idl. r=eeejay 2023-11-14 02:31:54 +00:00
RelationTypeMap.h Bug 1800048: Don't expose the LINKS_TO relation via ATK and IA2. r=morgan 2022-11-15 06:46:24 +00:00
RoleHGen.py Bug 1844238 part 2: Generate Role.h from nsIAccessibleRole.idl. r=eeejay 2023-07-26 02:19:42 +00:00
RoleMap.h Bug 1732306 - Part 3: Implement time role mappings, r=Jamie 2024-02-08 17:49:42 +00:00
SelectionManager.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
SelectionManager.h Bug 1771736 part 1: Update cached spelling errors when a spelling error is removed. r=morgan,smaug 2022-06-01 00:35:26 +00:00
States.h Bug 1765217: Move OPAQUE1 state calculation into Accessible::ApplyImplicitState. r=morgan 2022-11-10 04:19:29 +00:00
Statistics.h
StyleInfo.cpp Bug 1832803 - Remove some magic from the bindings. r=boris 2023-05-12 23:33:12 +00:00
StyleInfo.h Bug 1832803 - Remove some magic from the bindings. r=boris 2023-05-12 23:33:12 +00:00
TextAttrs.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
TextAttrs.h Bug 1791961 - accessible: Fix C++20 -Wambiguous-reversed-operator warnings. r=Jamie 2023-05-26 04:51:43 +00:00
TextLeafRange.cpp Bug 1848282 - Part 3. a11y's word segmenter should reference layout.word_select preferences. r=morgan 2023-10-03 10:43:18 +00:00
TextLeafRange.h Bug 1834874 - P1: Make text navigation work in UI thread with cached TextLeafPoint API. r=Jamie,geckoview-reviewers,m_kato 2023-06-20 18:15:42 +00:00
TextRange-inl.h Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
TextRange.cpp Bug 1837332: Remove unused HyperTextAccessible::EnclosingRange/VisibleRanges/RangeByChild/RangeAtPoint, TextRange::EmbeddedChildren/Text and xpcAccessibleTextRange::ScrollIntoView. r=eeejay 2023-06-14 00:43:11 +00:00
TextRange.h Bug 1837332: Remove unused HyperTextAccessible::EnclosingRange/VisibleRanges/RangeByChild/RangeAtPoint, TextRange::EmbeddedChildren/Text and xpcAccessibleTextRange::ScrollIntoView. r=eeejay 2023-06-14 00:43:11 +00:00
TextUpdater.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
TextUpdater.h
TreeWalker.cpp Bug 1840732 Part 1: Remove unnecessary includes from accessible/base, r=Jamie 2023-07-07 03:22:07 +00:00
TreeWalker.h
XULMap.h Bug 1878092 - Remove <xul:popup> element. r=Gijs 2024-02-02 19:28:21 +00:00
moz.build Bug 1863482 part 2: Generate RelationType.h from nsIAccessibleRelation.idl. r=eeejay 2023-11-14 02:31:54 +00:00
nsAccCache.h
nsAccUtils.cpp Bug 1863039: Fail gracefully in nsAccUtils::GetScreenCoordsForWindow if OuterDocOfRemoteBrowser returns null. r=morgan 2023-11-06 22:14:25 +00:00
nsAccUtils.h Bug 1832228 part 1: Remove ARIAGridAccessible, ARIARowAccessible and most of ARIAGridCellAccessible. r=nlapre 2023-06-08 09:50:28 +00:00
nsAccessibilityService.cpp Bug 1870783 part 4: Fire state change events on all popover invokers. r=eeejay 2024-02-12 06:24:15 +00:00
nsAccessibilityService.h Bug 1870783 part 4: Fire state change events on all popover invokers. r=eeejay 2024-02-12 06:24:15 +00:00
nsCoreUtils.cpp Bug 1843227: When scrolling with nsIAccessibleScrollType::SCROLL_TYPE_ANYWHERE, scroll to center instead of nearest. r=eeejay 2023-08-08 01:00:21 +00:00
nsCoreUtils.h Bug 1793747 - Clean-ups and test fixes on top of the previous patch. r=Jamie 2023-01-23 09:19:43 +00:00
nsEventShell.cpp
nsEventShell.h
nsTextEquivUtils.cpp Bug 1845228: Never descend into script or style elements when computing the accessible text equivalent of hidden subtrees. r=morgan 2023-07-26 01:37:55 +00:00
nsTextEquivUtils.h Bug 1844238 part 1: Change includes of Role.h to mozilla/a11y/Role.h. r=eeejay 2023-07-26 02:19:41 +00:00