UnityEngine.AccessibilityModule.dll 是 Unity 引擎中负责辅助功能(Accessibility)的托管模块,主要面向 Windows、macOS、iOS、Android 等平台提供统一的无障碍语义接口。它把 Unity 场景中的 UI 元素、交互控件与运行时状态转换成操作系统辅助技术可识别的节点,并借助原生桥接层与屏幕阅读器、自动化工具、语音控制等能力通信。其核心不是渲染或输入,而是为“非视觉/非触控”交互提供语义描述和事件通道。
该 DLL 提供 AccessibilityNode、AccessibilityHierarchy 等类型,用于创建、组织、更新辅助功能节点。每个节点可携带角色(Role)、标签(Label)、值(Value)、提示(Hint)、状态(State)、子节点关系、屏幕坐标与可执行操作。UI 按钮、文本、滑杆、开关、列表项等可映射为对应语义角色,使 Narrator、VoiceOver、TalkBack 等屏幕阅读器能够理解当前界面结构与控件用途。
模块内部通过平台适配层调用 Windows UIAutomation、macOS/iOS Accessibility API、Android AccessibilityNodeProvider 等原生接口。它负责将 Unity 的辅助功能节点注册到系统无障碍服务,转发焦点变化、点击、值变更、通知公告等事件。例如,当 UI 获得焦点或弹出提示时,DLL 可触发系统朗读;当用户通过屏幕阅读器执行“激活”操作时,事件会回传到 Unity 逻辑层。
该模块管理辅助功能焦点顺序、焦点高亮、语义层级和动态更新。它支持通知屏幕阅读器内容已变化、布局已更新或需要朗读自定义消息,并确保节点状态与 Unity UI 的可见性、可交互性、启停状态保持一致。对于需要无障碍支持的复杂界面,它还能配合开发者定义自定义操作、节点合并、语义容器和导航顺序。
在 Unity 播放器启动时,该 DLL 通常由引擎程序集加载器按需加载。它向 C# 层暴露 UnityEngine.Accessibility 命名空间下的 API,并可能被 Unity 的 UI 系统、辅助功能包、插件和自动化测试框架引用。缺少该模块时,任何依赖辅助功能 API 的代码都无法完成类型解析或运行时绑定。
FileNotFoundException、DllNotFoundException 或 TypeLoadException,提示无法加载 UnityEngine.AccessibilityModule。UnityEngine.Accessibility 类型、方法和事件失效,调用时可能抛出 MissingMethodException、TypeInitializationException 或直接崩溃。