virtualBuffers package
- class virtualBuffers.VBufStorage_findMatch_word
Bases:
str
- virtualBuffers._prepareForFindByAttributes(attribs)
Bases:
TextInfoQuickNavItem
See L{QuickNavItem.__init__} for itemType and document argument definitions. @param textInfo: the textInfo position this item represents. @type textInfo: L{textInfos.TextInfo}
Is this item a child of the given parent? This is used when representing items in a hierarchical tree structure, such as the Elements List. @param parent: the item of whom this item may be a child of. @type parent: L{QuickNavItem} @return: True if this item is a child, false otherwise. @rtype: bool
- class virtualBuffers.VirtualBufferTextInfo(*args, **kwargs)
Bases:
BrowseModeDocumentTextInfo
,OffsetsTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- allowMoveToOffsetPastEnd = False
no need for end insertion point as vbuf is not editable.
- _getControlFieldAttribs(docHandle, id)
- _getFieldIdentifierFromOffset(offset)
- _getOffsetsFromFieldIdentifier(docHandle, ID)
- _getBoundingRectFromOffset(offset)
- _getNVDAObjectFromOffset(offset)
- _getOffsetsFromNVDAObjectInBuffer(obj)
- _getOffsetsFromNVDAObject(obj)
- _getSelectionOffsets()
- _setSelectionOffsets(start, end)
- _getCaretOffset()
- _setCaretOffset(offset)
- _getStoryLength()
- _getTextRange(start, end)
Retrieve the text in a given offset range. @param start: The start offset. @type start: int @param end: The end offset (exclusive). @type end: int @return: The text contained in the requested range. @rtype: str
- _getPlaceholderAttribute(attrs, placeholderAttrsKey)
Gets the placeholder attribute to be used. @return: The placeholder attribute when there is no content within the ControlField. None when the ControlField has content. @note: The content is considered empty if it holds a single space.
- _normalizeCommand(command: FieldCommand | str | None) FieldCommand | str | None
- _getFieldsInRange(start: int, end: int) List[str | FieldCommand]
- getTextWithFields(formatConfig: Dict | None = None) List[str | FieldCommand]
Retrieves the text in this range, as well as any control/format fields associated therewith. Subclasses may override this. The base implementation just returns the text. @param formatConfig: Document formatting configuration, useful if you wish to force a particular
configuration for a particular task.
@return: A sequence of text strings interspersed with associated field commands.
- _getWordOffsets(offset)
- _getLineOffsets(offset)
- _getParagraphOffsets(offset)
- _normalizeControlField(attrs: ControlField)
- _normalizeFormatField(attrs: FormatField)
- _getLineNumFromOffset(offset)
- _get_fieldIdentifierAtStart()
- _getUnitOffsets(unit, offset)
- _get_clipboardText()
Text suitably formatted for copying to the clipboard. E.g. crlf characters inserted between lines.
- activate()
Activate this position. For example, this might activate the object at this position or click the point at this position. @raise NotImplementedError: If not supported.
- getMathMl(field)
Get MathML for a math control field. This will only be called for control fields with a role of L{controlTypes.Role.MATH}. @raise LookupError: If MathML can’t be retrieved for this field.
- _abc_impl = <_abc._abc_data object>
- clipboardText
- fieldIdentifierAtStart
- class virtualBuffers.VirtualBuffer(*args, **kwargs)
Bases:
BrowseModeDocumentTreeInterceptor
- TextInfo
alias of
VirtualBufferTextInfo
- _focusEventMustUpdateCaretPosition = True
- rootIdentifiers = <WeakValueDictionary at 0x9bbc710>
Maps root identifiers (docHandle and ID) to buffers.
- prepare()
Prepares this treeInterceptor so that it becomes ready to accept event/script input.
- _get_shouldPrepare()
- terminate()
Terminate this interceptor. This is called to perform any clean up when this interceptor is being destroyed.
- _get_isReady()
- loadBuffer()
- _loadBuffer()
- _loadBufferDone(success=True)
- event_documentLoadComplete(obj, nextHandler)
- _loadProgress()
- unloadBuffer()
- isNVDAObjectPartOfLayoutTable(obj)
- abstract getNVDAObjectFromIdentifier(docHandle, ID)
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- abstract getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- script_refreshBuffer(gesture)
Refreshes the document content
- script_toggleScreenLayout(gesture)
Toggles on and off if the screen layout is preserved while rendering the document content
- _searchableAttributesForNodeType(nodeType)
- _iterNodesByType(nodeType, direction='next', pos=None)
Yields L{QuickNavItem} objects representing the ordered positions in this document according to the type being searched for (e.g. link, heading, table etc). @param itemType: the type being searched for (e.g. link, heading, table etc) @type itemType: string @param direction: the direction in which to search (next, previous, up) @type direction: string @param pos: the position in the document from where to start the search. @type pos: Usually an L{textInfos.TextInfo} @raise NotImplementedError: This type is not supported by this BrowseMode implementation
- _iterNodesByAttribs(attribs, direction='next', pos=None, nodeType=None)
- _getTableCellAt(tableID, startPos, row, column)
Starting from the given start position, Locates the table cell with the given row and column coordinates and table ID. @param startPos: the position to start searching from. @type startPos: L{textInfos.TextInfo} @param tableID: the ID of the table. @param row: the row number of the cell @type row: int @param column: the column number of the table cell @type column: int @returns: the table cell’s position in the document @rtype: L{textInfos.TextInfo} @raises: LookupError if the cell does not exist
- _iterTableCells(tableID, startPos=None, direction='next', row=None, column=None)
- _getNearestTableCell(startPos: TextInfo, cell: _TableCell, movement: _Movement, axis: _Axis) TextInfo
Locates the nearest table cell relative to another table cell in a given direction, given its coordinates. For example, this is used to move to the cell in the next column, previous row, etc. This method will skip over missing table cells (where L{_getTableCellAt} raises LookupError), up to the number of times set by _missingTableCellSearchLimit set on this instance. @param startPos: the position in the document to start searching from. @param cell: the cell information of start position. @param movement: the direction (“next” or “previous”) @param axis: the axis of movement (“row” or “column”) @returns: the position of the nearest table cell
- _isSuitableNotLinkBlock(textRange)
- getEnclosingContainerRange(textRange)
- classmethod changeNotify(rootDocHandle, rootID)
- _handleUpdate()
Handle an update to this buffer.
- getControlFieldForNVDAObject(obj)
- _isNVDAObjectInApplication_noWalk(obj)
Determine whether a given object is within an application without walking ancestors. The base implementation simply checks whether the object has an application role. Subclasses can override this if they can provide a definite answer without needing to walk. For example, for virtual buffers, if the object is in the buffer, it definitely isn’t in an application. L{_isNVDAObjectInApplication} calls this and walks to the next ancestor if C{None} is returned. @return: C{True} if definitely in an application,
C{False} if definitely not in an application, C{None} if this can’t be determined without walking ancestors.
- __gestures = {'kb:NVDA+f5': 'refreshBuffer', 'kb:NVDA+v': 'toggleScreenLayout'}
- _abc_impl = <_abc._abc_data object>
- isReady
Whether this interceptor is ready to be used; i.e. whether it should receive scripts and events. @type: bool
- shouldPrepare
True if this treeInterceptor’s prepare method should be called in order to make it ready (e.g. load a virtualBuffer, or process the document in some way).
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.
Submodules
virtualBuffers.MSHTML module
- class virtualBuffers.MSHTML.MSHTMLTextInfo(*args, **kwargs)
Bases:
VirtualBufferTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- _getTextPositionAttribute(attrs: dict) TextPosition
- _normalizeFormatField(attrs)
- _normalizeControlField(attrs: ControlField)
- _abc_impl = <_abc._abc_data object>
- class virtualBuffers.MSHTML.MSHTML(*args, **kwargs)
Bases:
VirtualBuffer
- TextInfo
alias of
MSHTMLTextInfo
- _getInitialCaretPos()
Retrieve the initial position of the caret after the buffer has been loaded. This position, if any, will be passed to L{makeTextInfo}. Subclasses should extend this method. @return: The initial position of the caret, C{None} if there isn’t one. @rtype: TextInfo position
- _get_isAlive()
Whether this interceptor is alive. If it is not alive, it will be removed.
- getNVDAObjectFromIdentifier(docHandle, ID)
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- _searchableAttribsForNodeType(nodeType)
- _activateLongDesc(controlField)
Activates (presents) the long description for a particular field (usually a graphic). @param controlField: the field who’s long description should be activated. This field is guaranteed to have states containing HASLONGDESC state. @type controlField: dict
- _activateNVDAObject(obj)
Activate an object in response to a user request. This should generally perform the default action or click on the object. @param obj: The object to activate. @type obj: L{NVDAObjects.NVDAObject}
- _getNVDAObjectByAnchorName(name, HTMLDocument=None)
- _get_documentConstantIdentifier()
Get the constant identifier for this document. This identifier should uniquely identify all instances (not just one instance) of a document for at least the current session of the hosting application. Generally, the document URL should be used. Although the name of this property suggests that the identifier will be constant, With the introduction of SPAs (single page apps) the URL of a page may dynamically change over time. this property should reflect the most up to date URL. @return: The constant identifier for this document, C{None} if there is none.
- shouldPassThrough(obj, reason=None)
Determine whether pass through mode should be enabled (focus mode) or disabled (browse mode) for a given object. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject} @param reason: The reason for this query; one of the output reasons, or C{None} for manual pass through mode activation by the user. @return: C{True} if pass through mode (focus mode) should be enabled, C{False} if it should be disabled (browse mode).
- _abc_impl = <_abc._abc_data object>
- documentConstantIdentifier: str | None
Typing information for auto-property: _get_documentConstantIdentifier
- isAlive
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.
virtualBuffers.adobeAcrobat module
- class virtualBuffers.adobeAcrobat.AdobeAcrobat_TextInfo(*args, **kwargs)
Bases:
VirtualBufferTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- _getBoundingRectFromOffset(offset)
- _normalizeControlField(attrs)
- _normalizeFormatField(attrs)
- _abc_impl = <_abc._abc_data object>
- class virtualBuffers.adobeAcrobat.AdobeAcrobat(*args, **kwargs)
Bases:
VirtualBuffer
- TextInfo
alias of
AdobeAcrobat_TextInfo
- programmaticScrollMayFireEvent = True
- _get_isAlive()
Whether this interceptor is alive. If it is not alive, it will be removed.
- getNVDAObjectFromIdentifier(docHandle, ID)
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- _searchableAttribsForNodeType(nodeType)
- event_valueChange(obj, nextHandler)
- _get_ElementsListDialog()
- ElementsListDialog
- _abc_impl = <_abc._abc_data object>
- isAlive
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.
- class virtualBuffers.adobeAcrobat.ElementsListDialog(document)
Bases:
ElementsListDialog
- ELEMENT_TYPES = (('link', 'Lin&ks'), ('heading', '&Headings'))
virtualBuffers.gecko_ia2 module
- virtualBuffers.gecko_ia2._getNormalizedCurrentAttrs(attrs: ControlField) Dict[str, Any]
- class virtualBuffers.gecko_ia2.Gecko_ia2_TextInfo(*args, **kwargs)
Bases:
VirtualBufferTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- _setSelectionOffsets(start: int, end: int)
- _getBoundingRectFromOffset(offset)
- _calculateDescriptionFrom(attrs: ControlField) DescriptionFrom
Overridable calculation of DescriptionFrom Match behaviour of NVDAObjects.IAccessible.mozilla.Mozilla._get_descriptionFrom @param attrs: source attributes for the TextInfo @return: the origin for accDescription. @remarks: Firefox does not yet have a ‘IAccessible2::attribute_description-from’
(IA2 attribute “description-from”). We can infer that the origin of accDescription is ‘aria-description’ because Firefox will include a ‘IAccessible2::attribute_description’ (IA2 attribute “description”) when the aria-description HTML attribute is used. If ‘IAccessible2::attribute_description’ matches the accDescription value, we can infer that aria-description was the original source.
- _normalizeControlField(attrs)
- _normalizeDetailsRole(detailsRoles: str) Iterable[Role | None]
The attribute has been added directly to the buffer as a string, containing a comma separated list of values, each value is either: - role string - role integer Ensures the returned role is a fully supported by the details-roles attribute. Braille and speech needs consistent normalization for translation and reporting.
- _normalizeFormatField(attrs)
- _abc_impl = <_abc._abc_data object>
- location
- class virtualBuffers.gecko_ia2.Gecko_ia2(*args, **kwargs)
Bases:
VirtualBuffer
- TextInfo
alias of
Gecko_ia2_TextInfo
- _nativeAppSelectionModeSupported: bool = True
Whether native selection mode is available in this browse mode document
- _get_isAlive()
Whether this interceptor is alive. If it is not alive, it will be removed.
- getNVDAObjectFromIdentifier(docHandle: int, ID: int) IAccessible
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- _shouldIgnoreFocus(obj)
Determines whether focus on a given object should be ignored. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject} @return: C{True} if focus on L{obj} should be ignored, C{False} otherwise. @rtype: bool
- _postGainFocus(obj)
Executed after a gainFocus within the browseMode document. This will not be executed if L{event_gainFocus} determined that it should abort and call nextHandler. @param obj: The object that gained focus. @type obj: L{NVDAObjects.NVDAObject}
- _shouldSetFocusToObj(obj)
Determine whether an object should receive focus. Subclasses may extend or override this method. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject}
- _activateLongDesc(controlField)
Activates (presents) the long description for a particular field (usually a graphic). @param controlField: the field who’s long description should be activated. This field is guaranteed to have states containing HASLONGDESC state. @type controlField: dict
- _searchableTagValues(values)
- _searchableAttribsForNodeType(nodeType)
- event_stateChange(obj, nextHandler)
- event_scrollingStart(obj, nextHandler)
- _getTableCellAt(tableID, startPos, destRow, destCol)
Starting from the given start position, Locates the table cell with the given row and column coordinates and table ID. @param startPos: the position to start searching from. @type startPos: L{textInfos.TextInfo} @param tableID: the ID of the table. @param row: the row number of the cell @type row: int @param column: the column number of the table cell @type column: int @returns: the table cell’s position in the document @rtype: L{textInfos.TextInfo} @raises: LookupError if the cell does not exist
- _getNearestTableCell(startPos: TextInfo, cell: _TableCell, movement: _Movement, axis: _Axis) TextInfo
Locates the nearest table cell relative to another table cell in a given direction, given its coordinates. For example, this is used to move to the cell in the next column, previous row, etc. This method will skip over missing table cells (where L{_getTableCellAt} raises LookupError), up to the number of times set by _missingTableCellSearchLimit set on this instance. @param startPos: the position in the document to start searching from. @param cell: the cell information of start position. @param movement: the direction (“next” or “previous”) @param axis: the axis of movement (“row” or “column”) @returns: the position of the nearest table cell
- _get_documentConstantIdentifier()
Get the constant identifier for this document. This identifier should uniquely identify all instances (not just one instance) of a document for at least the current session of the hosting application. Generally, the document URL should be used. Although the name of this property suggests that the identifier will be constant, With the introduction of SPAs (single page apps) the URL of a page may dynamically change over time. this property should reflect the most up to date URL. @return: The constant identifier for this document, C{None} if there is none.
- _getInitialCaretPos()
Retrieve the initial position of the caret after the buffer has been loaded. This position, if any, will be passed to L{makeTextInfo}. Subclasses should extend this method. @return: The initial position of the caret, C{None} if there isn’t one. @rtype: TextInfo position
- _getStartSelection(ia2Sel: _Ia2Selection, selFields: List[str | FieldCommand])
Get the start of the selection.
- Parameters:
ia2Sel – Selection object to update.
selFields – List of fields in the selection.
- Raises:
NotImplementedError – If the start of the selection could not be found.
AssertionError: If the start object query interface failed.
- _getEndSelection(ia2Sel: _Ia2Selection, selFields: List[str | FieldCommand])
Get the end of the selection.
- Parameters:
ia2Sel – Selection object to update.
selFields – List of fields in the selection.
- Raises:
NotImplementedError – If the end of the selection could not be found.
AssertionError: If the end object query interface failed.
- updateAppSelection()
Update the native selection in the application to match the browse mode selection in NVDA.
- clearAppSelection()
Clear the native selection in the application.
- _abc_impl = <_abc._abc_data object>
- documentConstantIdentifier: str | None
Typing information for auto-property: _get_documentConstantIdentifier
- isAlive
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.
- class virtualBuffers.gecko_ia2._Ia2Selection(startObj: comtypes.gen._CE3F726E_D1D3_44FE_B995_FF1DB3B48B2B_0_1_3.IAccessible2 | None = None, startWindow: int | None = None, startID: int | None = None, startOffset: int | None = None, endObj: comtypes.gen._CE3F726E_D1D3_44FE_B995_FF1DB3B48B2B_0_1_3.IAccessible2 | None = None, endWindow: int | None = None, endID: int | None = None, endOffset: int | None = None)
Bases:
object
- startObj: IAccessible2 | None = None
- startWindow: int | None = None
- startID: int | None = None
- startOffset: int | None = None
- endObj: IAccessible2 | None = None
- endWindow: int | None = None
- endID: int | None = None
- endOffset: int | None = None
virtualBuffers.lotusNotes module
- class virtualBuffers.lotusNotes.LotusNotesRichText_TextInfo(*args, **kwargs)
Bases:
VirtualBufferTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- _normalizeControlField(attrs)
- _abc_impl = <_abc._abc_data object>
- class virtualBuffers.lotusNotes.LotusNotesRichText(*args, **kwargs)
Bases:
VirtualBuffer
- TextInfo
alias of
LotusNotesRichText_TextInfo
- _get_isAlive()
Whether this interceptor is alive. If it is not alive, it will be removed.
- getNVDAObjectFromIdentifier(docHandle, ID)
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- _activateNVDAObject(obj)
Activate an object in response to a user request. This should generally perform the default action or click on the object. @param obj: The object to activate. @type obj: L{NVDAObjects.NVDAObject}
- _shouldSetFocusToObj(obj)
Determine whether an object should receive focus. Subclasses may extend or override this method. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject}
- _abc_impl = <_abc._abc_data object>
- isAlive
- shouldPassThrough(obj, reason=None)
Determine whether pass through mode should be enabled (focus mode) or disabled (browse mode) for a given object. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject} @param reason: The reason for this query; one of the output reasons, or C{None} for manual pass through mode activation by the user. @return: C{True} if pass through mode (focus mode) should be enabled, C{False} if it should be disabled (browse mode).
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.
- _searchableAttribsForNodeType(nodeType)
virtualBuffers.webKit module
- class virtualBuffers.webKit.WebKit_TextInfo(*args, **kwargs)
Bases:
VirtualBufferTextInfo
Constructor. Subclasses must extend this, calling the superclass method first. @param position: The initial position of this range; one of the POSITION_* constants or a position object supported by the implementation. @param obj: The object containing the range of text being represented.
- _normalizeControlField(attrs: ControlField)
- _abc_impl = <_abc._abc_data object>
- class virtualBuffers.webKit.WebKit(*args, **kwargs)
Bases:
VirtualBuffer
- TextInfo
alias of
WebKit_TextInfo
- _get_isAlive()
Whether this interceptor is alive. If it is not alive, it will be removed.
- getNVDAObjectFromIdentifier(docHandle, ID)
Retrieve an NVDAObject for a given node identifier. Subclasses must override this method. @param docHandle: The document handle. @type docHandle: int @param ID: The ID of the node. @type ID: int @return: The NVDAObject. @rtype: L{NVDAObjects.NVDAObject}
- getIdentifierFromNVDAObject(obj)
Retreaves the virtualBuffer field identifier from an NVDAObject. @param obj: the NVDAObject to retreave the field identifier from. @type obj: L{NVDAObject} @returns: a the field identifier as a doc handle and ID paire. @rtype: 2-tuple.
- _searchableAttribsForNodeType(nodeType)
- _activateNVDAObject(obj)
Activate an object in response to a user request. This should generally perform the default action or click on the object. @param obj: The object to activate. @type obj: L{NVDAObjects.NVDAObject}
- _shouldSetFocusToObj(obj)
Determine whether an object should receive focus. Subclasses may extend or override this method. @param obj: The object in question. @type obj: L{NVDAObjects.NVDAObject}
- _abc_impl = <_abc._abc_data object>
- isAlive
- _lastCachedDocumentConstantIdentifier: str | None
- rootNVDAObject: NVDAObjects.NVDAObject
The root object of the tree wherein events and scripts are intercepted.