Re: Issues with ISimpleDOMNode->get_innerHTML
Alexander Surkov <[email protected]>
| Newsgroups | gmane.comp.mozilla.accessibility |
|---|---|
| Organization | http://groups.google.com |
| Message-ID | <73065259-9a9b-49fd-a392-f15c829ce16e@f37g2000yqn.googlegroups.com> |
On Aug 28, 1:46 am, Jon <[email protected]> wrote: > On Aug 27, 5:23 am, Alexander Surkov <[email protected]> > wrote: > > > > > On Aug 27, 3:18 am, Jon <[email protected]> wrote: > > > > I am trying to use "ISimpleDOMNode->get_innerHTML()" and it just > > > returns E_FAIL. The call to ISimpleDOMNode->get_nodeInfo() works as > > > expected, and reports a nodeType of "#document". Here is the code I am > > > using, any help would be much appreciated. I am running this on > > > Windows. > > > > IAccessible* pAccessible; > > > HRESULT hr = AccessibleObjectFromWindow(hTarget, OBJID_CLIENT, > > > IID_IAccessible, (void**)&pAccessible); > > > > if (SUCCEEDED(hr) && (pAccessible != NULL)) { > > > IServiceProvider *pService = NULL; > > > hr = pAccessible->QueryInterface(IID_IServiceProvider, (void**) > > > &pService); > > > > if (SUCCEEDED(hr) && (pService != NULL)) { > > > ISimpleDOMNode *pNode = NULL; > > > hr = pService->QueryService(IID_ISimpleDOMNode, IID_ISimpleDOMNode, > > > (void**)&pNode); > > > > if (SUCCEEDED(hr) && (pNode != NULL)) { > > > BSTR html; > > > hr = pNode->get_innerHTML(&html); //Always returns E_FAIL > > > } > > > } > > > } > > > Hi. Because get_innerHTML is not supported on HTML documents. I agree > > it would be more correct to return S_FALSE in this case because it's > > not an error obviously. As well it should return S_FALSE for non HTML > > elements and non HTML documents. However on another hand get_innerHTML > > can make sense for HTML documents in contrast to non HTML documents > > and elements where get_innerHTML isn't applicable at all. But this > > feature was never requested by AT vendors. Which option do you expect? > > > Alex. > > I managed to resolve my issue by digging deeper into the DOM, and > finding a node named "HTML", instead of "#document". Thanks! Right. It would be better if you get innerHTML on HTML body element or on container of your HTML input. We don't expose HTML input to AT because it is not visible. So you don't need innerHTML on document, right? Alex.