Cache NODE_CHILD_OF and NODE_PARENT_OF relations
Categories
(Core :: Disability Access APIs, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox108 | --- | fixed |
People
(Reporter: eeejay, Assigned: nlapre)
References
Details
(Whiteboard: [ctw-m3])
Attachments
(1 file)
Marking as m3 because this is needed for Mac ctw.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 1•2 years ago
|
||
ETA: we also need the "parent" version of this
Comment 2•2 years ago
|
||
:Jamie are these supposed to be reciprocal relations? It looks like they parent/child relationship gets mirrored for tree-related accs, but not for accs that hit this clause
Comment 3•2 years ago
|
||
As discussed on Zoom, they should probably be reciprocal strictly speaking. However, since this is now only used to deal with a very specific obscure case with legacy window emulation on Windows, it isn't really worth the implementation effort. We should just handle this special case in a similar way in DocAccessibleParent.
Reporter | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
Expanding on comment 3, I mean that the NODE_CHILD_OF relation that we implement primarily for JAWS does not need a reciprocal NODE_PARENT_OF relation. For the JAWS case, we would implement this in a DocAccessibleParent::RelationByType overide, which would just return Parent() for NODE_CHILD_OF but only if IsTopLevel().
Assignee | ||
Comment 5•2 years ago
|
||
We'd like to provide NODE_CHILD_OF and NODE_PARENT_OF relations in the parent
process, relying on cached information, to avoid sync IPDL messages. This
revision implements most of the use cases for this relation for remote
accessibles, notably setting aside handling of MathML's <mroot> parent/child
relation. ARIA trees, treegrids, lists, and so on are handled in the remote
accessible largely identically to how they were handled in LocalAccessible.
Rather than define a new rule for walking the tree to find children, this
revision unifies the ItemIterator so it works on generic Accessibles, and uses
it in RemoteAccessibleBase the same way it's used in LocalAccessible. The
special case carve-out for MSAA clients now exists as a simpler IsTopLevel
check in DocAccessibleParent.
Comment 7•2 years ago
|
||
bugherder |
Description
•