Open Bug 1530963 Opened 1 year ago Updated 1 year ago

Accessibility panel can't connect to a debugger server via network location

Categories

(DevTools :: about:debugging, defect, P1)

67 Branch
defect

Tracking

(firefox65 unaffected, firefox66 unaffected, firefox67 affected)

ASSIGNED
Tracking Status
firefox65 --- unaffected
firefox66 --- unaffected
firefox67 --- affected

People

(Reporter: hani.yacoub, Assigned: yzen)

References

(Blocks 1 open bug)

Details

(Whiteboard: high-priority-reserve)

Attachments

(1 file)

Attached image Accessibility panel.png

[Affected versions]:
Nightly 67.0a1

[Affected platforms]:
Platforms: Windows 10 x 64, Mac OS X 10.14, and Ubuntu 16.04 x64.

[Steps to reproduce]:

  1. Make sure that you are connected to a local Firefox using about:debugging following these instructions:
    https://gist.github.com/juliandescottes/b0d3d83154d9ea8a84db5d32aa35d2c1
    https://www.youtube.com/watch?v=YI0plrxWHf4
  2. Have both profiles "Client Firefox and Server Firefox" running.
  3. From "Tabs" section, click on "Inspect" button for any of the open tabs (ex. reddit.com)
  4. Click on "Accessibility" tab.

[Expected result]:
Accessibility Inspector lets you examine the current page’s accessibility tree.

[Actual result]:
"You are connected to a debugger server that is too old. To use Accessibility panel, please connect to the latest debugger server version." message is displayed.
There's something wrong in the way the accessibility panel checks if the server is compatible.

[Note]:

  • It's only happening when I connect a device via network location, can't reproduce when I connect a device Via USB or debugging this Firefox.

I initially thought the issue occurred when trying to debug other targets than Tabs, which might not support the "accessibility" actor, but indeed it also happens with tabs.

Something must be wrong in the way the client does the feature detection at
https://searchfox.org/mozilla-central/rev/dbddac86aadf1d4871fb350bbe66db43728a9f81/devtools/client/accessibility/accessibility-startup.js#43-111

Looking at the code it is quite complex (need to first call a method on the accessibility actor to make sure it's instanciated etc...), but everything seems to be fine until we call

  // Only works with FF61+ targets
  this._supports.enableDisable =
    await this.target.actorHasMethod("accessibility", "enable");

and the accessibility actor is still not available in client.mainRoot.protocolDescription();

It's also very surprising that this doesn't happen with USB.

Yura: any idea what might be wrong here?

Flags: needinfo?(yzenevich)

This is similar to a problem we saw with debugging on Android. I will take it as it is something that is supposed to be on the roadmap for a11y panel work.

Assignee: nobody → yzenevich
Status: NEW → ASSIGNED
Flags: needinfo?(yzenevich)
Priority: -- → P3
Priority: P3 → P1
Whiteboard: high-priority-reserve
You need to log in before you can comment on or make changes to this bug.