virtualBuffers package

class virtualBuffers.VBufStorage_findMatch_word

Bases: str

virtualBuffers._prepareForFindByAttributes(attribs)
class virtualBuffers.VirtualBufferQuickNavItem(itemType, document, vbufNode, startOffset, endOffset)

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}

property obj
property label
isChild(parent)

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

_abc_impl = <_abc._abc_data object>
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
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]

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
_getTextAlignAttribute(attrs: Dict[str, str]) TextAlign | None
_normalizeFormatField(attrs)
_getIsCurrentAttribute(attrs: dict) IsCurrent
_normalizeControlField(attrs: ControlField)
_abc_impl = <_abc._abc_data object>
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]

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>
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]
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)
_get_location() RectLTWH
_abc_impl = <_abc._abc_data object>
location
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]
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>
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]
_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>
_propertyCache: Set[GetterMethodT]
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.

_propertyCache: Set[GetterMethodT]