AvaloniaUI/Avalonia

[Automation] Add AutomationProperties.IsAccessible

Opened this issue · 1 comments

Is your feature request related to a problem? Please describe.

Currently there is no way to hide an existing control from Automation. We can only derive a new control and override AutomationPeer creation. this should be generally supported.

Describe the solution you'd like

Add new property: AutomationPeer.IsAccessible . Thus AutomationPeer return None if this is false, and others if this is true.

Describe alternatives you've considered

No response

Additional context

No response

I disagree with this as a design choice. It acts against the interests of the automation APIs existence in the first place. If I actively hide a control from the automation pipeline, this creates a logical, user-visible element in the interface that can't be traversed at all. This creates a "blindspot" both for testing pipelines relying on UI automation, and an easy "opt-out" for developers that would otherwise be required to consider accessibility in their app's design (something that should ALWAYS be the case).