Closed Bug 1782172 Opened 2 years ago Closed 2 years ago

[CTW] Unify EMBEDS and CONTAINING_TAB_PANE relations for RemoteAccessible

Categories

(Core :: Disability Access APIs, task)

task

Tracking

()

RESOLVED FIXED
105 Branch
Tracking Status
firefox105 --- fixed

People

(Reporter: Jamie, Assigned: morgan)

References

Details

(Whiteboard: [ctw-m3])

Attachments

(3 files)

Right now, we have platform specific code to special case these relations where remote documents are involved. Aside from being ugly, the handling of NAVRELATION_CONTAINING_TAB_PANE on Windows is specific to the COM implementation and doesn't work when the cache is enabled. The Windows special cases also only expose these relations via our non-standard accNavigate constants; they can't be retrieved using IA2.

We should:

  1. Add code to RootAccessible::RelationByType to return a RemoteAccessible for RelationType::EMBEDS if a remote tab is active.
  2. Add code to RemoteAccessible::RelationByType to handle RelationType::CONTAINING_TAB_PANE.
  3. Remove/update the special case platform code linked above to benefit from these shiny new unified relations.

A practical impact of this change is that live region updates in background tabs will no longer be announced by NVDA. Currently, they are, which shouldn't happen and doesn't happen with the cache disabled.

Assignee: nobody → mreschenberg
Depends on: 1783094
Attachment #9288553 - Attachment description: WIP: Bug 1782172: Support creating a Relation with a RemoteAccessible r?Jamie → Bug 1782172: [Part 1] Support creating a Relation with a RemoteAccessible r?Jamie
Attachment #9288554 - Attachment description: WIP: Bug 1782172: Support RelationType::EMBEDS in RootAccessible r?Jamie → Bug 1782172: Support RelationType::EMBEDS in RootAccessible r?Jamie
Attachment #9288554 - Attachment description: Bug 1782172: Support RelationType::EMBEDS in RootAccessible r?Jamie → Bug 1782172: [Part 2] Support RelationType::EMBEDS in RootAccessible r?Jamie
Attachment #9288555 - Attachment description: WIP: Bug 1782172: Support RelationType::CONTAINING_TAB_PANE in RemoteAccessibleBase r?Jamie → Bug 1782172: [Part3] Support RelationType::CONTAINING_TAB_PANE in RemoteAccessibleBase r?Jamie
Attachment #9288555 - Attachment description: Bug 1782172: [Part3] Support RelationType::CONTAINING_TAB_PANE in RemoteAccessibleBase r?Jamie → Bug 1782172: [Part 3] Support RelationType::CONTAINING_TAB_PANE in RemoteAccessibleBase r?Jamie
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6509c8b53ece [Part 1] Support creating a Relation with a RemoteAccessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/03f033ec9350 [Part 2] Support RelationType::EMBEDS in RootAccessible r=Jamie https://hg.mozilla.org/integration/autoland/rev/54b4e28a8c2a [Part 3] Support RelationType::CONTAINING_TAB_PANE in RemoteAccessibleBase r=Jamie

Interestingly, I just learned that off-screen live regions are broken in OOP iframes with the cache disabled using NVDA. This patch should fix that with the cache, since NVDA depends on accNavigate NAVRELATION_EMBEDS which this patch fully supports.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 105 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: