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 12 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 AssistiveSupport.isScreenReaderEnabled is
true
. Similarly, when the screen reader is turned off, so when the AssistiveSupport.screenReaderStatusChanged event is sent with a
false
parameter or when AssistiveSupport.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).
Note: 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.
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.