VS Code 无障碍开发助手
为 VS Code 交互式功能提供可执行的无障碍实现规范。
该技能是代码审查与实现指导,不要求凭据、外部服务或数据外传,也强调键盘可用性、焦点恢复和本地化;因此未见红线风险。扣分在于对所有交互式 UI 使用“必须”要求,缺少权限边界、用户确认、回滚策略、敏感数据处理和异常恢复说明。
文档提供了分步骤流程、TypeScript 骨架、关键接口和注册位置,正常路径较清晰。由于示例含占位实现,未提供针对该技能关键路径的测试、兼容性矩阵或失败反馈;静态评估按上限给 8 分。
明确面向 VS Code 新功能、贡献和 UI 更新,并区分富视觉内容与纯键盘输入场景。扣分在于“默认适用”可能造成语义过触发,非适用范围和复杂/已有实现的判定仍有限,也没有中文支持或中国大陆网络可达性的证据。
文档分节清晰,包含渐进式步骤、代码示例、清单和关键文件路径;仓库材料还显示 MIT 许可及 Microsoft 维护背景。扣分在于技能文件没有自身版本、变更记录、维护责任人或明确更新路径,故障排查与 FAQ 也不足。
能够直接指导实现帮助对话框、可访问视图、设置、信号、ARIA 和键盘导航,核心任务基本覆盖,示例可作为起点。扣分在于示例仍需结合具体功能大量改写,且没有该技能产出已被验证为可直接合并或仅需轻量审查的证据。
技能引用了具体接口、文件和现有功能示例,具有一定可审计性;仓库存在 CI 和测试材料,但提供的 CI 并未覆盖该技能的关键路径。没有技能专属测试、第三方复核或执行记录,因此静态上限内给 4 分。
- 这是静态源文件审查,未执行示例、构建或屏幕阅读器测试;不得将仓库 CI 视为该技能已验证。
- “任何交互式 UI”及默认强制触发可能导致不必要的流程负担,应由贡献者结合功能类型和已有实现进行人工判定。
- 示例中的焦点恢复、内容生成和服务注入仍是占位逻辑,合并前需要针对具体功能补充测试、异常处理和多平台屏幕阅读器验证。
- 未提供中文文档、翻译质量或中国大陆网络可达性证据。
它能做什么 & 适用场景
这是 microsoft/vscode 仓库中 .github/skills/accessibility/SKILL.md 定义的 VS Code 无障碍开发技能。它要求新功能、贡献以及现有 UI 更新默认考虑无障碍,覆盖帮助对话框、可访问视图、朗读提示、无障碍信号、ARIA 通知、键盘导航和 ARIA 属性。对于新的交互式 UI,它规定了帮助对话框、必要时的可访问视图以及无障碍详细程度设置的实现方式。它适合参与 VS Code 代码开发、扩展 workbench/editor/extensions 功能或修改现有交互的开发者。
它指导开发者在 VS Code 源码中新增 AccessibleViewProviderId 和 AccessibilityVerbositySettingId,注册无障碍详细程度配置,并实现和注册 IAccessibleViewImplementation。它要求帮助内容使用本地化文本和动态键位语法,必要时通过可访问视图将富视觉内容转换为纯文本。它还指导通过 IAccessibilitySignalService 播放已有无障碍信号,使用 aria.alert() 或 aria.status() 发布动态消息,并为交互元素补充键盘操作、焦点管理、ARIA 标签、角色和状态属性。相关实现涉及 accessibleView.ts、accessibleViewRegistry.ts、accessibilityConfiguration.ts、accessibilitySignalService.ts 和 aria.ts 等源码文件。
- 为 VS Code 新增面板、视图、编辑器覆盖层、控件或对话框的开发者,需要同时设计屏幕阅读器支持。
- 为终端、聊天面板、笔记本、差异编辑器等包含非纯文本视觉内容的功能增加可访问视图的开发者。
- 为现有功能增加命令、快捷键或交互操作,并需要同步更新 accessibility help 对话框的开发者。
- 修改 VS Code UI 交互、动态状态或通知,需要选择合适的无障碍信号、ARIA alert/status 通知和键盘行为的贡献者。
优缺点一览
- 范围明确,覆盖帮助对话框、可访问视图、设置、信号、ARIA 通知、键盘导航和语义属性。
- 提供 TypeScript 实现骨架、注册位置、关键接口和关键源码文件。
- 明确要求更新现有功能的 provideContent(),有助于让新增操作可被屏幕阅读器用户发现。
- 针对键盘、焦点恢复、动态消息和本地化给出了具体检查项。
- 它是源码开发规范,不是独立运行的无障碍测试工具或自动修复器。
- 给定材料没有提供单独安装命令、自动化测试套件或测试结果。
- 实现需要开发者修改 VS Code TypeScript 源码,并根据具体功能判断是否需要可访问视图和何时播放信号。
- 新无障碍信号不能直接随意注册;材料要求先联系 @meganrogge 协调。
如何安装
该仓库 README 未提供单独安装此技能的步骤。获取仓库后,将技能文件放在或保留在 microsoft/vscode/.github/skills/accessibility/SKILL.md;该仓库的总体安装方式和独立技能的安装命令均未在给定材料中说明。
如何使用
在使用 Agent 处理 VS Code 交互式功能时,直接提出例如“为 VS Code 新增一个面板,并实现完整的无障碍支持”或“为现有视图增加键盘快捷键并更新无障碍帮助对话框”。技能应默认用于新功能和贡献工作,也应覆盖现有 UI 更新;根据功能是否包含丰富视觉内容,按 SKILL.md 实现帮助对话框、可访问视图、详细程度设置、信号、ARIA 通知、键盘导航和标签。