SuperAPI AI 工具集

accessibility

通用与其它

查看项目

更新于 10-16 06:47

技能介绍

用途:这是 VS Code 的主要无障碍技能,适用于任何引入或修改交互式 UI 的功能开发。默认用于新功能和贡献,即使需求未明确提到无障碍也不应跳过;更新现有 UI 交互时同样适用。

主要能力与要求:为新的交互式 UI 表面(面板、视图、控件、编辑器浮层、对话框等)提供三项无障碍组件:无障碍帮助对话框(通过无障碍帮助快捷键打开)、可访问视图(以纯文本只读编辑器向屏幕阅读器呈现内容,适用于富视觉内容)、无障碍详细度设置(布尔设置,控制是否播报“打开无障碍帮助”提示)。更新现有功能时,需同步更新其帮助对话框的 provideContent()。

实现方式:帮助对话框需实现 IAccessibleViewImplementation(type = AccessibleViewType.Help),设置 priority、when 上下文键,getProvider 返回 AccessibleContentProvider,并在 .contribution.ts 中通过 AccessibleViewRegistry.register 注册;可访问视图类似,type = AccessibleViewType.View,可选 provideNextContent()/providePreviousContent()。详细度设置需在 AccessibilityVerbositySettingId 与 configuration.properties 中注册,使用 ...baseVerbosityProperty。信号使用 IAccessibilitySignalService.playSignal,优先复用已有 AccessibilitySignal.。动态公告使用 aria.ts 的 alert()(紧急)或 status()(非紧急),消息需本地化且避免重复。键盘导航要求 Tab 顺序、方向键导航、可见焦点、Escape 关闭、模态焦点陷阱;ARIA 要求 aria-label、role、aria-expanded/selected/checked、aria-hidden 等。

适用场景:VS Code 新功能、贡献、面板/视图/控件、命令与工作流、workbench/editor/extensions 新贡献,以及现有 UI 交互更新。

限制:资料未提供收费、价格、平台或效果信息;新增信号需先与 @meganrogge 协调,不可自行注册。