OSDN Git Service

gecko vbuf backend: Don't treat non-editable documents as interactive.
authorJames Teh <jamie@jantrid.net>
Wed, 29 Aug 2012 11:59:35 +0000 (21:59 +1000)
committerJames Teh <jamie@jantrid.net>
Wed, 29 Aug 2012 11:59:35 +0000 (21:59 +1000)
nvdaHelper/vbufBackends/gecko_ia2/gecko_ia2.cpp

index 8afbdf6..a6819e5 100755 (executable)
@@ -417,7 +417,7 @@ VBufStorage_fieldNode_t* GeckoVBufBackend_t::fillVBuf(IAccessible2* pacc, VBufSt
        // Whether this node is clickable.\r
        bool isClickable = defaction && wcscmp(defaction, L"click") == 0;\r
        // Whether this node is interactive.\r
-       bool isInteractive = isEditable || inLink || isClickable || states & STATE_SYSTEM_FOCUSABLE || states & STATE_SYSTEM_UNAVAILABLE || role == ROLE_SYSTEM_APPLICATION || role == ROLE_SYSTEM_DIALOG || role == IA2_ROLE_EMBEDDED_OBJECT;\r
+       bool isInteractive = isEditable || inLink || isClickable || (states & STATE_SYSTEM_FOCUSABLE && role != ROLE_SYSTEM_DOCUMENT) || states & STATE_SYSTEM_UNAVAILABLE || role == ROLE_SYSTEM_APPLICATION || role == ROLE_SYSTEM_DIALOG || role == IA2_ROLE_EMBEDDED_OBJECT;\r
        // Whether the name is the content of this node.\r
        bool nameIsContent = role == ROLE_SYSTEM_LINK || role == ROLE_SYSTEM_PUSHBUTTON || role == IA2_ROLE_TOGGLE_BUTTON || role == ROLE_SYSTEM_MENUITEM || role == ROLE_SYSTEM_GRAPHIC || (role == ROLE_SYSTEM_TEXT && !isEditable) || role == IA2_ROLE_SECTION || role == IA2_ROLE_TEXT_FRAME;\r
 \r