AccessiblePart record struct Core
One part of a control tree as assistive technology sees it, interactive or only read — the host-neutral answer the automation peers are FED from (step 5 of the control-tree concept): the tree already knows identity, kind, spoken label, bounds and focus, so a peer translates instead of re-deriving.
public readonly record struct AccessiblePart
- Namespace
- ArionUI.Presentation.Controls
- Package
- ArionUI.Presentation ·
dotnet add package ArionUI.Presentation --prerelease
Constructors
AccessiblePart
public AccessiblePart(string Id, ControlRole Role, string Label, LogRect Bounds, bool Enabled, bool Focused);One part of a control tree as assistive technology sees it, interactive or only read — the host-neutral answer the automation peers are FED from (step 5 of the control-tree concept): the tree already knows identity, kind, spoken label, bounds and focus, so a peer translates instead of re-deriving.
Properties
Bounds
public LogRect Bounds { get; init; }
Enabled
public bool Enabled { get; init; }
Focusable
public bool Focusable { get; init; }The part can hold the keyboard focus (a tab stop, a focusable view) - its own fact, not one derived from AccessiblePart.Role: a group may take the focus, a text never does.
Focused
public bool Focused { get; init; }
Id
public string Id { get; init; }
Label
public string Label { get; init; }
Offscreen
public bool Offscreen { get; init; }The part lies wholly outside what its containers show (scrolled out of a panel); it keeps its box, a reader just knows it cannot be seen now.
ParentId
public string? ParentId { get; init; }The id of the ControlRole.Group part this part sits in; null for a part at the top of the tree.
ReadOnly
public bool ReadOnly { get; init; }The part shows a value that cannot be set (a cell of a read-only column); it is still enabled, only its value is fixed.
Role
public ControlRole Role { get; init; }
