diff --git a/accessible/ipc/ProxyAccessible.cpp b/accessible/ipc/ProxyAccessible.cpp index 096ecf5cd219..4335cdef1353 100644 --- a/accessible/ipc/ProxyAccessible.cpp +++ b/accessible/ipc/ProxyAccessible.cpp @@ -1000,6 +1000,14 @@ ProxyAccessible::IndexOfEmbeddedChild(const ProxyAccessible* aChild) ProxyAccessible* ProxyAccessible::EmbeddedChildAt(size_t aChildIdx) { + // For an outer doc the only child is a document, which is of course an + // embedded child. Further asking the child process for the id of the child + // document won't work because the id of the child doc will be 0, which we + // would interpret as being our parent document. + if (mOuterDoc) { + return ChildAt(aChildIdx); + } + uint64_t childID; unused << mDoc->SendEmbeddedChildAt(mID, aChildIdx, &childID); return mDoc->GetAccessible(childID);