Bug 659753 is about speech not being able to say the contents of chrome://chrome-signin. That page is implemented using <webview>.
A way I'm planning on fixing that bug is getting the contents of the page using WebContents::RequestAXTreeSnapshot. The problem is that function's implementation:
for (FrameTreeNode* frame_tree_node : frame_tree_.Nodes()) {
frame_tree_node->current_frame_host()-> // AX stuff...
}
The problem there is that the entire contents of what the user sees is that <webview> tag. For a <webview> tag, the webview itself is represented by a single FrameTreeNode in the parent WebContents. Yes, it has a stand-in RenderFrameHost returned by current_frame_host(), but that's not a real one and has no RenderFrame counterpart. All the real RenderFrames, with their contents, live in the inner WebContents.
What are the uses of WebContents::RequestAXTreeSnapshot? Should it be traversing the overall WebContents tree structure?
Comment 1 by a...@chromium.org
, Mar 7 2018