Reported by jteh on 2012-02-09 02:20
This occurs because there is at least one (possibly two) property page in the document's ancestry which get the Dialog behaviour. These aren't presentable, but isPresentableFocusAncestor indirectly calls getDialogText, which is slow. Braille does cache ancestors, but only presentable ones, so getDialogText gets called every time you switch between focus and browse modes.
I think we should perhaps save isPresentableFocusAncestor for the Dialog behaviour after it has been called once, as this can be quite slow. It's probably not safe to do this for all objects, but it should be fine for the Dialog behaviour.
Comment 2 by jteh on 2012-02-10 09:10
Milestone changed from 2012.2 to 2012.1
Comment 3 by jteh on 2012-02-13 00:00
isPresentableFocusAncestor cached permanently for Dialog in 4a984f3. The same was done for NVDAObjects.IAccessible.Groupbox in e8bc162, as it has a slow description property and it appears in the ancestry too.