用途:为 .NET UI 框架提供跨平台无障碍(可访问性)实现指导,涵盖语义标记、键盘导航、焦点管理、颜色对比度和屏幕阅读器集成。
主要能力:Blazor(HTML ARIA 属性、屏幕阅读器模式);MAUI(SemanticProperties 及平台特定设置);WinUI(AutomationProperties、UI Automation、AutomationPeer);并简要指导 WPF、Uno Platform 和 TUI 框架。
跨平台原则:每个交互控件须有可访问名称;图片和图标须有替代文本;装饰元素从无障碍树隐藏。所有功能须可仅用键盘操作,维护逻辑 Tab 顺序、提供可见焦点指示、支持 Tab/Shift+Tab、Enter/Space、Escape、方向键等标准模式,避免键盘陷阱。焦点管理包括将焦点移至新显示内容、关闭浮层时返回触发元素、避免意外抢占焦点。颜色对比度:普通文本 WCAG AA 4.5:1、AAA 7:1;大文本 3:1、4.5:1;UI 组件 3:1。不得仅用颜色传达信息。
使用方式:Blazor 用语义 HTML 与 ARIA,含 live region(aria-live polite/assertive)和表单标注;MAUI 用 SemanticProperties.Description、Hint、HeadingLevel,以及 SetSemanticFocus()、SemanticScreenReader.Announce();WinUI 用 AutomationProperties 并为自定义控件实现 AutomationPeer。
适用场景:构建需要屏幕阅读器、键盘用户支持的 .NET 桌面与 Web 应用。
限制:不涉及框架项目搭建、法律合规建议和 UI 框架选型(另有对应技能)。TUI 框架无程序化无障碍 API,屏幕阅读器支持取决于终端与操作系统,无法程序化控制。平台行为可能有差异,需在各目标上测试;MAUI 中勿在 Label 上设置 Description,Android 上勿在 Entry/Editor 上设置 Description。