diff --git a/source/NVDAObjects/IAccessible/MSHTML.py b/source/NVDAObjects/IAccessible/MSHTML.py index 634a2d7bf46..a2cb7b443a5 100644 --- a/source/NVDAObjects/IAccessible/MSHTML.py +++ b/source/NVDAObjects/IAccessible/MSHTML.py @@ -1139,7 +1139,7 @@ def findExtraIAccessibleOverlayClasses(obj, clsList): clsList.append(MSAATextLeaf) return - if iaRole == oleacc.ROLE_SYSTEM_WINDOW and obj.event_objectID > 0: + if iaRole == oleacc.ROLE_SYSTEM_WINDOW and obj.event_objectID is not None and obj.event_objectID > 0: clsList.append(PluginWindow) elif iaRole == oleacc.ROLE_SYSTEM_CLIENT and obj.event_objectID == winUser.OBJID_CLIENT: clsList.append(RootClient) diff --git a/source/NVDAObjects/IAccessible/adobeAcrobat.py b/source/NVDAObjects/IAccessible/adobeAcrobat.py index a1563daff82..15acf0eefaa 100644 --- a/source/NVDAObjects/IAccessible/adobeAcrobat.py +++ b/source/NVDAObjects/IAccessible/adobeAcrobat.py @@ -39,7 +39,7 @@ } def normalizeStdName(stdName): - if "H1" <= stdName <= "H6": + if stdName and "H1" <= stdName <= "H6": return controlTypes.ROLE_HEADING, stdName[1] try: @@ -58,9 +58,9 @@ def initOverlayClass(self): log.debugWarning("Could not get IServiceProvider") return - if self.event_objectID > 0: + if self.event_objectID is not None and self.event_objectID > 0: self.accID = self.event_objectID - elif self.event_childID > 0: + elif self.event_childID is not None and self.event_childID > 0: self.accID = self.event_childID else: try: diff --git a/source/braille.py b/source/braille.py index c43de84de51..76344b437c5 100644 --- a/source/braille.py +++ b/source/braille.py @@ -480,8 +480,11 @@ def getBrailleTextForProperties(**propertyValues): cellCoordsText=propertyValues.get('cellCoordsText') rowNumber = propertyValues.get("rowNumber") columnNumber = propertyValues.get("columnNumber") - rowSpan = propertyValues.get("rowSpan") - columnSpan = propertyValues.get("columnSpan") + # When fetching row and column span + # default the values to 1 to make further checks a lot simpler. + # After all, a table cell that has no rowspan implemented is assumed to span one row. + rowSpan = propertyValues.get("rowSpan") or 1 + columnSpan = propertyValues.get("columnSpan") or 1 includeTableCellCoords = propertyValues.get("includeTableCellCoords", True) if role is not None and not roleText: if role == controlTypes.ROLE_HEADING and level: diff --git a/source/virtualBuffers/adobeFlash.py b/source/virtualBuffers/adobeFlash.py index a7f6c58bac4..91ec5b68a48 100644 --- a/source/virtualBuffers/adobeFlash.py +++ b/source/virtualBuffers/adobeFlash.py @@ -36,7 +36,7 @@ class AdobeFlash(VirtualBuffer): def __init__(self,rootNVDAObject): super(AdobeFlash,self).__init__(rootNVDAObject,backendName="adobeFlash") - self.isWindowless = rootNVDAObject.event_objectID > 0 + self.isWindowless = rootNVDAObject.event_objectID is not None and rootNVDAObject.event_objectID > 0 def __contains__(self,obj): if self.isWindowless: