Unity 6.3
0 онлайн 90 гостей 3 в системе
Вход

AssistiveSupport.screenReaderStatusChanged

Описание

Событие, вызванное в основном потоке, когда пользователь включает или выключает экранный читатель.


Подпишитесь на это событие, чтобы активировать AccessibilityHierarchy (см. AssistiveSupport.activeHierarchy) и нужно ли адаптировать интерфейс приложения для пользователей программ чтения с экрана.

Вы также можете использовать AssistiveSupport.isScreenReaderEnabled чтобы определить, включено или отключено экранное чтение.

Поддержка платформы: Это событие не поддерживается Диктором, встроенным экранным читателем Windows.


В следующем примере показано потенциальное обходное решение для опроса состояния диспетчера и отправки пользовательского события.

using System;
using UnityEngine;
using UnityEngine.Accessibility;

namespace UnityEngine.Accessibility.Examples { public class NarratorStatusManager : MonoBehaviour { // Event invoked when the user turns Narrator on or off. public static event Action<bool> narratorStatusChanged;

bool m_IsNarratorEnabled;

// Time interval at which to check Narrator's status. float m_CheckInterval = 5.0f; float m_TimeSinceLastCheck = 0.0f;

void Start() { m_IsNarratorEnabled = AssistiveSupport.isScreenReaderEnabled; }

void Update() { if (Application.platform == RuntimePlatform.WindowsPlayer) { // Poll Narrator's status because it does not send AssistiveSupport.screenReaderStatusChanged events. m_TimeSinceLastCheck += Time.deltaTime;

if (m_TimeSinceLastCheck >= m_CheckInterval) { bool isScreenReaderEnabled = AssistiveSupport.isScreenReaderEnabled;

if (m_IsNarratorEnabled != isScreenReaderEnabled) { m_IsNarratorEnabled = isScreenReaderEnabled;

narratorStatusChanged.Invoke(m_IsNarratorEnabled); }

m_TimeSinceLastCheck = 0.0f; } } } } }