#virtualBuffers/gecko_ia2.py #A part of NonVisual Desktop Access (NVDA) #This file is covered by the GNU General Public License. #See the file COPYING for more details. #Copyright (C) 2008-2012 NV Access Limited from . import VirtualBuffer, VirtualBufferTextInfo, VBufStorage_findMatch_word, VBufStorage_findMatch_notEmpty import treeInterceptorHandler import controlTypes import NVDAObjects.IAccessible.mozilla import NVDAObjects.behaviors import winUser import IAccessibleHandler import oleacc from logHandler import log import textInfos from comtypes.gen.IAccessible2Lib import IAccessible2 from comtypes import COMError import aria import config from NVDAObjects.IAccessible import normalizeIA2TextFormatField class Gecko_ia2_TextInfo(VirtualBufferTextInfo): def _normalizeControlField(self,attrs): accRole=attrs['IAccessible::role'] accRole=int(accRole) if accRole.isdigit() else accRole role=IAccessibleHandler.IAccessibleRolesToNVDARoles.get(accRole,controlTypes.ROLE_UNKNOWN) if attrs.get('IAccessible2::attribute_tag',"").lower()=="blockquote": role=controlTypes.ROLE_BLOCKQUOTE states=set(IAccessibleHandler.IAccessibleStatesToNVDAStates[x] for x in [1<