From be1a8d6b1ee0515ce933c990a54a2949fdfb9531 Mon Sep 17 00:00:00 2001 From: James Teh Date: Mon, 10 Sep 2012 20:47:21 +1000 Subject: [PATCH] mshtml vbuf backend: Don't render descendants of ARIA applications. --- nvdaHelper/vbufBackends/mshtml/mshtml.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nvdaHelper/vbufBackends/mshtml/mshtml.cpp b/nvdaHelper/vbufBackends/mshtml/mshtml.cpp index 8e87aa2f7..8d03027c2 100755 --- a/nvdaHelper/vbufBackends/mshtml/mshtml.cpp +++ b/nvdaHelper/vbufBackends/mshtml/mshtml.cpp @@ -835,6 +835,10 @@ VBufStorage_fieldNode_t* MshtmlVBufBackend_t::fillVBuf(VBufStorage_buffer_t* buf if(tempIter!=attribsMap.end()) { IAValue=tempIter->second; } + } else if(ariaRole.compare(L"application")==0) { + IARole=ROLE_SYSTEM_APPLICATION; + } else if(ariaRole.compare(L"dialog")==0) { + IARole=ROLE_SYSTEM_DIALOG; } } //IE doesn't seem to support aria-label yet so we want to override IAName with it @@ -973,6 +977,8 @@ VBufStorage_fieldNode_t* MshtmlVBufBackend_t::fillVBuf(VBufStorage_buffer_t* buf contentString=L"\n"; } else if (nodeName.compare(L"math")==0) { contentString=IAName; + } else if(IARole==ROLE_SYSTEM_APPLICATION||IARole==ROLE_SYSTEM_DIALOG) { + contentString=L" "; } else { renderChildren=true; } -- 2.11.0