diff --git a/source/NVDAObjects/UIA/__init__.py b/source/NVDAObjects/UIA/__init__.py index fe72d201230..660bd37d596 100644 --- a/source/NVDAObjects/UIA/__init__.py +++ b/source/NVDAObjects/UIA/__init__.py @@ -1193,10 +1193,14 @@ def _get_UIASelectionPattern(self): return self.UIASelectionPattern def _get_UIASelectionPattern2(self): - self.UIASelectionPattern2 = self._getUIAPattern( - UIAHandler.UIA_SelectionPattern2Id, - UIAHandler.IUIAutomationSelectionPattern2 - ) + try: + self.UIASelectionPattern2 = self._getUIAPattern( + UIAHandler.UIA_SelectionPattern2Id, + UIAHandler.IUIAutomationSelectionPattern2 + ) + except COMError: + # SelectionPattern2 is not available on older Operating Systems such as Windows 7 + self.UIASelectionPattern2 = None return self.UIASelectionPattern2 def getSelectedItemsCount(self, maxItems=None): @@ -1462,7 +1466,11 @@ def _get_states(self): states.add(controlTypes.STATE_CHECKABLE) if s==UIAHandler.ToggleState_On: states.add(controlTypes.STATE_CHECKED) - annotationTypes = self._getUIACacheablePropertyValue(UIAHandler.UIA_AnnotationTypesPropertyId) + try: + annotationTypes = self._getUIACacheablePropertyValue(UIAHandler.UIA_AnnotationTypesPropertyId) + except COMError: + # annotationTypes cannot be fetched on older Operating Systems such as Windows 7. + annotationTypes = None if annotationTypes: if UIAHandler.AnnotationType_Comment in annotationTypes: states.add(controlTypes.STATE_HASCOMMENT)