Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


activeHierarchy

The accessibility hierarchy that is currently accessible to screen readers.
Read time 1 minuteLast updated 13 days ago

Definition

public static AccessibilityHierarchy activeHierarchy { get; set; }

Remarks

An active AccessibilityHierarchy is required to make the content of an application accessible to screen reader users.
To manage system resources efficiently, setting this property only takes effect if the screen reader is on, where the value of _isScreenReaderEnabled is
true
. Similarly, when the screen reader is turned off, so when the _screenReaderStatusChanged event is sent with a
false
parameter or when _screenReaderStatusOverride is set to AssistiveSupport.ScreenReaderStatusOverride.ForceDisabled, this property is automatically set to
null
. You must set it each time the screen reader is turned on.
When this property is set, Unity notifies the screen reader of the new hierarchy by calling IAccessibilityNotificationDispatcher.SendScreenChanged (with a
null
parameter).
Notes:
  • Only the accessibility hierarchy for the application's main window is supported. Content displayed on additional windows, such as on secondary displays, is not exposed to screen readers.
  • In the Unity Editor, where screen readers are not supported, this property accepts assignments even while the screen reader is off so that you can inspect it in the Accessibility Hierarchy Viewer (Window > Accessibility > Hierarchy Viewer) during Play mode.
Warning: Assigning a hierarchy builds its native representation, and setting this property to
null
tears it down. This has a non-trivial cost on the following platforms:
  • iOS: Switching the active hierarchy has a high cost that scales with the size of the hierarchy. Avoid setting this property frequently in performance-sensitive code.
  • macOS: Switching the active hierarchy has a moderate cost that scales with the size of the hierarchy. Doing so frequently can affect performance.