public sealed class AccessibilityNodeOne node of a captured accessibility tree: data, with no element behind it.
Remarks
⚠ Nothing here refers to a UiElement, and that is the point rather than tidiness. Vixen.Ui's graph is single-threaded by contract, and every platform bridge is asked questions from somewhere else — AT-SPI's D-Bus calls arrive on another thread, and AppKit asks on the main one whether or not that is the thread that owns the document. A bridge that answered by walking live elements would be reading a tree while another thread mutated it; a bridge that answers out of one of these is reading a frame that has already happened.
The properties are the ones every bridge needs and no more: the accname, the value, the computed states, the relations and the bounds. Anything a control knows that is not on this list is not reaching a screen reader today whatever the control does with it.
Fields and properties (11)
public int IdThis node's identity, stable across the captures of one source, and never 0.
public string TagThe tag of the element it was taken from. Diagnostics only — no bridge should map on it.
public AccessibleRole RoleWhat kind of thing it is. Never None: those are not nodes.
public string? NameWhat a screen reader calls it.
public string? DescriptionWhat a screen reader adds after the name.
public string? ValueWhat it currently holds, for the roles that hold something.
public AccessibleStates StatesEvery state bit, computed at the moment of capture.
public Rectangle BoundsWhere it is, in the document's coordinate space.
public int ParentThe node this one hangs under, or 0 if it is a root of the capture.
public IReadOnlyList<AccessibilityNode> ChildrenIts children in the accessibility tree, which is not the element tree.
public IReadOnlyList<AccessibilityLink> LinksIts relations, with the far ends resolved to node ids.
Used by (4)
- AccessibilitySnapshotVixen.Ui.Testing
- AccessibilityTreeVixen.Ui
- AccessibilityTreeSourceVixen.Ui
- AccessibilityTreeTestsVixen.Ui.Tests