Closed Bug 1272712 Opened 4 years ago Closed 4 years ago

[e10s] Updating aria role on body does not take effect when e10s is enabled.

Categories

(Core :: Disability Access APIs, defect)

Unspecified
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
e10s + ---
firefox50 --- fixed

People

(Reporter: yzen, Assigned: tbsaunde)

References

Details

(Whiteboard: aes+)

Attachments

(1 file)

This is a problem when running:
mach mochitest accessible/tests/browser/browser_treeupdate_doc.js

The test fails at a point where document body is replaced with a new one that has role="button". We get the final reorder event however event accessible still has a document role. I checked and xml-role attribute is actually updated to button.

Here's an interesting part of the log:

A11Y TREE: accessible was inserted; 36:46.805
  {
    container: 0x11ff67340; role: pushbutton, name: 'wyciwyg://0/data:text/html,%20%20<html>%20%20%20%20<head>%20%20%20%20%20%20<meta%20charset='utf-8'/>%20%20%20%20%20%20<title>Inner%20Iframe</title>%20%20%20%20</head>%20%20%20%20<body%20id='inner-iframe'></body>%20%20</html>', idx: 0, document node: 0x11ff4c000
    child: 0x11f9b23a0; role: text leaf, name: 'New Hello', idx: 0, text node: 0x11f9b2310
  }
A11Y TREE: children after insertion; 36:46.805
  {
    container: 0x11ff67340; role: pushbutton, name: 'wyciwyg://0/data:text/html,%20%20<html>%20%20%20%20<head>%20%20%20%20%20%20<meta%20charset='utf-8'/>%20%20%20%20%20%20<title>Inner%20Iframe</title>%20%20%20%20</head>%20%20%20%20<body%20id='inner-iframe'></body>%20%20</html>', idx: 0, document node: 0x11ff4c000
    child: 0x11f9b23a0; role: text leaf, name: 'New Hello', idx: 0, text node: 0x11f9b2310
  }
28 INFO TEST-PASS | accessible/tests/browser/browser_treeupdate_doc.js | Accessible document present. - 
29 INFO TEST-UNEXPECTED-FAIL | accessible/tests/browser/browser_treeupdate_doc.js | Wrong value of property 'role' for [DOM node id: inner-iframe, role: document, name: 'wyciwyg://0/data:text/html,%20%20<html>%20%20%20%...0%20<body%20id='inner-iframe'></body>%20%20</html>', address: 0x134765420].got 'document', expected 'pushbutton' -
tracking-e10s: --- → ?
Yura, is this a problem with the test or is there a bug in a11y code here?
Flags: needinfo?(yzenevich)
(In reply to Tracy Walker [:tracy] from comment #1)
> Yura, is this a problem with the test or is there a bug in a11y code here?

I think this is a11y e10s problem. The test passes if e10s is disabled.
Flags: needinfo?(yzenevich)
Blocks: e10sa11y2
Whiteboard: aes-win
OS: Unspecified → All
Whiteboard: aes-win → aes+
This doesn't completely allow us to enable the test because it relies on children showing up by a reorder event when they actually only show up with the following show event.
Attachment #8760945 - Flags: review?(dbolter)
Comment on attachment 8760945 [details] [diff] [review]
send a RoleChanged message when an accessible document's role changes

Review of attachment 8760945 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/generic/DocAccessible.cpp
@@ +1638,5 @@
>    return false;
>  }
>  
> +void
> +DocAccessible::UpdateRootElIfNeeded()

nit: this was "inline void" before... intentional change?

::: accessible/ipc/ProxyAccessible.h
@@ +431,5 @@
>    DocAccessibleParent* mDoc;
>    uintptr_t mWrapper;
>    uint64_t mID;
> +protected:
> +  // XXX DocAccesibleParent gets to change this to change the role of

nit: missing 1 s in "DocAccessibleParent"
Attachment #8760945 - Flags: review?(dbolter) → review+
Pushed by tsaunders@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/367a789e26a3
send a RoleChanged message when an accessible document's role changes r=davidb
https://hg.mozilla.org/mozilla-central/rev/367a789e26a3
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Assignee: nobody → tbsaunde+mozbugs
You need to log in before you can comment on or make changes to this bug.