wwahost.py
956 Bytes
#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) 2012 NV Access Limited
from comtypes import COMError
import IAccessibleHandler
from NVDAObjects.IAccessible.MSHTML import Body
import appModuleHandler
import controlTypes
import winUser
class AppModule(appModuleHandler.AppModule):
def event_NVDAObject_init(self,obj):
#The root document of HTML Metro Apps must be treeted as an application.
if isinstance(obj,Body) and obj.windowClassName=="Internet Explorer_Server":
try:
paccParent=obj.IAccessibleObject.accParent.accParent
identity=IAccessibleHandler.getIAccIdentity(paccParent,0)
except (COMError,AttributeError):
identity=None
if identity:
windowHandle=identity.get('windowHandle')
if windowHandle and winUser.getClassName(windowHandle)=="Web Platform Embedding":
obj.role=controlTypes.ROLE_APPLICATION