
awesome-copilot 无障碍开发指南基于 WCAG 2.2 AA 的 Web 可访问性标准实战手册【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot本指南以 awesome-copilot 仓库中的 a11y.instructions.md 为核心系统讲解现代 Web 应用的无障碍Accessibility开发标准。该指令文件以applyTo: **全局生效内置 38 反模式Anti-pattern检查清单、WCAG 2.2 AA 准则映射、ARIA 模式与 React / Angular / Vue 等框架级修复方案。读完本文你将掌握一套可直接用于日常开发与代码评审的无障碍基线如何识别 CRITICAL / IMPORTANT / SUGGESTION 三级缺陷、如何用语义 HTML 替代 ARIA、如何修复键盘与焦点管理问题以及如何对照 POUR 清单做最终验收。1. 在 awesome-copilot 中定位这是一份全局指令在 awesome-copilot 仓库中instructions/目录存放的是按文件模式自动应用到 Copilot 行为的自定义指令。a11y.instructions.md 的 front matter 声明了applyTo: **意味着它对任意文件生效是仓库中覆盖面最广的无障碍规范之一同时它也是 docs/README.instructions.md 指令索引表中的 Accessibility Standards 条目可在 VS Code / VS Code Insiders 中一键安装。除了这份指令仓库还提供了一系列无障碍配套资源可交叉参考agents/accessibility.agent.md —— Accessibility Expert 智能体面向设计师、开发者、QA 三方输出 WCAG 2.1/2.2 落地建议并附 axe / pa11y / Lighthouse CI 命令agents/accessibility-runtime-tester.agent.md —— Accessibility Runtime Tester强调运行态验证而非静态检查专注键盘流程、焦点陷阱、对话框行为与表单错误instructions/markdown-accessibility.instructions.md —— Markdown 文档的无障碍审查规范描述性链接、alt 文本、标题层级等extensions/accessibility-kanban/ —— 一个基于 Copilot SDK 的看板扩展用于对无障碍相关 issue 做 backlog → plan → ready → implement → done 的分诊。本文后续内容均以a11y.instructions.md原文为主线展开仓库源码仅作为佐证与延伸。2. 严重级别定义先学会给问题定级该指令为每个反模式定义了统一的三级严重性便于在 PR 评审中快速排序CRITICAL— 用户完全无法访问内容例如键盘不可达、无可访问名称。必须合入前修复IMPORTANT— 对辅助技术用户构成显著障碍例如标题层级跳跃、焦点未还原。应在同一迭代修复SUGGESTION— 提升辅助技术可用性例如冗余 ARIA、多 h1、动画尊重prefers-reduced-motion。规划到未来迭代。这套分级与 agents/accessibility-runtime-tester.agent.md 中的运行态严重度Critical/High/Medium/Low互补前者偏静态代码审查后者偏运行时用户体验。3. WCAG 2.2 AA 快速参考按 POUR 四大原则3.1 Perceivable可感知CriterionLevelSummary1.1.1 Non-text ContentA所有非文本内容有文本替代装饰性图片使用alt1.2.1 Audio/Video-onlyA纯音频提供转录文本纯视频提供文本替代1.2.2 Captions (Prerecorded)A所有预录制视频有同步字幕1.3.1 Info and RelationshipsA结构标题、列表、表格、标签、地标以编程方式呈现1.3.2 Meaningful SequenceA视觉顺序与程序化顺序保持一致1.3.3 Sensory CharacteristicsA指令不单纯依赖形状、大小、位置或声音1.3.4 OrientationAA内容不限制为单一方向除非必要1.3.5 Identify Input PurposeA收集用户信息时输入框带autocomplete属性1.4.1 Use of ColorA颜色不是传达信息的唯一手段1.4.3 Contrast (Minimum)AA文本对比度普通 4.5:1大文本18pt / 14pt 加粗3:11.4.4 Resize TextAA文本可放大到 200% 而不丢失内容或功能1.4.10 ReflowAA内容可在 320px CSS 宽度下呈现无需二维滚动1.4.11 Non-text ContrastAAUI 组件与图形相对相邻颜色至少 3:11.4.12 Text SpacingAA用户覆盖行高1.5x等间距设置后不丢失内容1.4.13 Content on Hover/FocusAA悬停/聚焦出现的浮层内容可关闭、可悬停、持续存在3.2 Operable可操作CriterionLevelSummary2.1.1 KeyboardA所有功能可通过键盘操作2.1.2 No Keyboard TrapA用户可用键盘离开任何组件2.2.1 Timing AdjustableA时间限制可延长或禁用2.2.2 Pause, Stop, HideA自动更新内容可暂停2.3.1 Three FlashesA内容每秒闪烁不超过 3 次2.4.1 Bypass BlocksA提供跳过重复导航的跳转链接2.4.2 Page TitledA页面有描述性title2.4.3 Focus OrderA焦点顺序保持语义与可操作性2.4.4 Link PurposeA链接目的可从文本或上下文确定2.4.6 Headings and LabelsAA标题与标签描述主题或用途2.4.7 Focus VisibleAA键盘焦点指示可见2.4.11 Focus Not ObscuredAA焦点元素不被粘性页眉/页脚等遮挡2.2 新增2.5.1 Pointer GesturesA多点手势提供单指替代2.5.2 Pointer CancellationA在 up 事件触发除非可中止/可逆或 down 触发是必要的2.5.3 Label in NameA可访问名称包含视觉呈现的标签文本2.5.4 Motion ActuationA设备运动有 UI 替代且可禁用2.5.7 Dragging MovementsAA拖拽提供点击/轻触替代2.2 新增2.5.8 Target Size (Minimum)AA交互控件目标或间距至少 24x24 CSS px2.2 新增3.3 Understandable可理解CriterionLevelSummary3.1.1 Language of PageAhtml lang...正确设置3.1.2 Language of PartsAA不同语言内容用lang属性标记3.2.1 On FocusA聚焦不触发意外的上下文变化3.2.2 On InputA改变输入不自动触发意外上下文变化3.2.6 Consistent HelpA帮助机制在各页面保持相同相对顺序2.2 新增3.3.1 Error IdentificationA错误以文本形式描述给用户3.3.2 Labels or InstructionsA用户输入提供标签或说明3.3.3 Error SuggestionAA对检测到的错误给出修改建议3.3.4 Error PreventionAA提交可撤销、可检查或可确认3.3.7 Redundant EntryA同一流程中不重复询问已提供信息2.2 新增3.3.8 Accessible Authentication (Minimum)AA不用认知功能测试拼图验证码允许粘贴与自动填充2.2 新增3.4 Robust健壮CriterionLevelSummary4.1.2 Name, Role, ValueA所有 UI 组件具备可访问名称、角色与状态4.1.3 Status MessagesAA状态消息无需获得焦点即可被屏幕阅读器播报版本要点重要WCAG 2.2 中4.1.1 Parsing 已废弃始终满足其覆盖的问题现在由 1.3.1 与 4.1.2 承接2.2 新增AAA 级准则非 AA 必需但推荐2.4.12 Focus Not Obscured (Enhanced)、2.4.13 Focus Appearance、3.3.9 Accessible Authentication (Enhanced)前瞻WCAG 3.0 仍是 Working Draft2026 年 3 月将用 Bronze/Silver/Gold 一致性级别和 Outcomes 取代 pass/fail 与 Success Criteria。它还不是正式标准请继续以 WCAG 2.2 AA 为达标目标。4. 法律强制背景2026为什么现在必须重视法规关键节点要求European Accessibility Act (EAA)2025 年 6 月起在欧盟全部 27 个成员国强制执行覆盖数字产品与服务罚款最高300 万欧元引用 EN 301 549映射到 WCAG 2.1 AAADA Title II (US)面向服务 5 万 人口的州/地方政府2026 年 4 月生效小实体 2027 年 4 月生效要求 WCAG 2.1 AASection 508 (US Federal)引用 WCAG 2.0 AA预计刷新到 2.1/2.2联邦采购合规结论以WCAG 2.2 AA为目标可覆盖当前全部法律要求它是 2.1 AA 与 2.0 AA 的超集。这也是 agents/accessibility.agent.md 所定义的专家能力基线Standards Policy: WCAG 2.1/2.2 conformance, A/AA/AAA mapping, regional policies。5. ARIA 五条规则理解所有 ARIA 反模式的前提优先使用原生 HTML—— 用button而不是div rolebutton。原生元素自带键盘、焦点与语义不要修改被禁止修改的原生语义—— 不要给button加roleheading应使用正确的元素所有 ARIA 控件必须可键盘操作—— 若用了rolebutton必须处理 Enter 和 Space 键事件不要对可聚焦元素使用aria-hiddentrue—— 对辅助技术隐藏但仍在焦点序列中会形成 幽灵 元素所有交互元素都需要可访问名称—— 通过 label、aria-label、aria-labelledby或可见文本内容提供。这五条规则在后续 A1-A8 反模式中被逐条引用例如 A1 对应规则 2、A2 对应规则 4、A5 对应规则 1。6. 语义 HTML 反模式S1-S8S1: 缺少lang属性CRITICALWCAG 3.1.1 A!-- BAD -- html !-- GOOD -- html langen各框架设置位置Next.js 在app/layout.tsxAngular 在src/index.htmlVue/Nuxt 在app.vue或nuxt.config。S2: 每页多个h1SUGGESTION最佳实践支撑 1.3.1每页只用一个代表主题的h1章节用h2。多个h1不构成严格违规但会干扰屏幕阅读器导航。S3: 标题层级跳跃IMPORTANTWCAG 1.3.1 A检测h1直接跟h3跳过h2。保持逻辑嵌套h1 h2 h3 h4用 CSS 控制样式而不是靠更换标题级别。S4: Div 汤——没有地标元素IMPORTANT最佳实践支撑 1.3.1 / 2.4.1!-- GOOD -- header.../header nav aria-labelMain.../nav main.../main footer.../footerS5: 布局表格未加rolepresentationIMPORTANTWCAG 1.3.1 A用 CSS Grid/Flexbox 做布局如必须用表格布局加rolepresentation。S6: 数据表格无表头CRITICALWCAG 1.3.1 A!-- GOOD -- table captionUser list/caption thead trth scopecolName/thth scopecolEmail/th/tr /thead tbody trtdAlice/tdtdaliceexample.com/td/tr /tbody /tableS7: 无描述性链接文本IMPORTANTWCAG 2.4.4 A检测click here、read more、learn more、here、more、link。!-- BAD -- a href/pricingClick here/a !-- GOOD -- a href/pricingView pricing plans/a这条规则与 instructions/markdown-accessibility.instructions.md 的第 1 条描述性链接完全同源辅助技术可以把链接呈现为孤立列表因此链接文本脱离上下文也要自明。S8: 交互元素没有语义 HTMLCRITICALWCAG 4.1.2 A检测正则div.*(?:onClick|click|\(click\))。// BAD — 不可聚焦、无角色、无键盘支持 div onClick{handleClick}Submit/div // GOOD button onClick{handleClick}Submit/button7. ARIA 反模式A1-A8A1: 原生元素上的冗余 ARIASUGGESTIONARIA 规则 2检测button.*rolebutton、nav.*rolenavigation、a.*rolelink。button本身已具备rolebutton删除冗余 ARIA。A2: 可聚焦元素上的aria-hiddentrueCRITICALARIA 规则 4不要在aria-hiddentrue内容里放置可聚焦元素也不要在可聚焦元素上用aria-hiddentrue。正确处理方式原生控件button、input如需禁用用disableda或[tabindex]元素应移除可聚焦性去掉href或tabindex内容应完全不可交互且对辅助技术隐藏时使用inert、hidden或直接从 DOM 移除。A3: 缺少必需 ARIA 属性CRITICALWCAG 4.1.2 A检测roletab无aria-selected、rolecheckbox无aria-checked。各角色必需属性速查tab需aria-selectedcombobox需aria-expanded/aria-controlsslider需aria-valuemin/aria-valuemax/aria-valuenowcheckbox需aria-checked。A4: 无效 ARIA 角色值CRITICALWCAG 4.1.2 A辅助技术会忽略无效角色。常见错误roleinput、roletext、拼写错误。A5: 原生 HTML 可胜任时滥用 ARIAIMPORTANTARIA 规则 1!-- BAD — 需要手动管理键盘、焦点与状态 -- div rolecheckbox aria-checkedfalse tabindex0Accept terms/div !-- GOOD — 所有行为内置 -- labelinput typecheckbox / Accept terms/labelA6: 纯图标按钮缺少aria-labelCRITICALWCAG 4.1.2 A检测button只有 SVG/图标子元素且无文本或aria-label。!-- GOOD -- button aria-labelClose dialogsvg aria-hiddentrue.../svg/buttonA7: 可聚焦元素上的rolepresentationIMPORTANTARIA 规则 4浏览器会忽略可聚焦元素上的 presentation 角色。A8: 动态内容缺少 live regionIMPORTANTWCAG 4.1.3 AA检测Toast/通知组件没有rolealert、rolestatus或aria-live。!-- GOOD — 向已存在于 DOM 的 live region 注入内容时会被播报 -- div rolestatus aria-livepoliteItem saved successfully/div !-- 错误场景用 rolealertassertive -- div rolealertFailed to save. Please try again./div关于 live region 的工程实践可参考 agents/accessibility.agent.md 中的 SPA 路由播报器示例aria-livepolite aria-atomictrue的route-announcer以及 React/Angular/Vue 三种框架适配代码。8. 键盘与焦点反模式K1-K7K1: 非原生元素上只有onClick没有onKeyDownCRITICALWCAG 2.1.1 A用button替代。若必须用 div加rolebutton、tabIndex{0}并处理 Enter 与 Space 键激活。K2: 正的tabindex值CRITICALWCAG 2.4.3 A检测tabindex[1-9]\d*或tabIndex{[1-9]\d*}。只使用tabindex0加入 Tab 序列和tabindex-1仅程序化聚焦。K3: 无 Escape 的焦点陷阱CRITICALWCAG 2.1.2 A优先使用原生dialogshowModal()它自动阻止键盘焦点移入 inert 的非对话框内容、内置 Escape 关闭并在关闭时自动把焦点还给调用元素若存在。若必须自定义模态框在对话框内 Trap Tab或对非对话框内容使用inert属性不要在包含对话框的元素上用inertEscape 关闭除非用户确认动作是必要的关闭时把焦点还给触发元素若触发元素已不存在还给最合理的逻辑位置。K4: 缺少跳转链接IMPORTANTWCAG 2.4.1 Aa href#main-content classskip-linkSkip to main content/a nav.../nav main idmain-content tabindex-1.../main.skip-link { position: absolute; top: -40px; left: 0; padding: 8px 16px; background: #000; color: #fff; z-index: 100; } .skip-link:focus { top: 0; }K5:outline: none且无替代CRITICALWCAG 2.4.7 AA/* GOOD */ button:focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }K6: 仅鼠标交互IMPORTANTWCAG 2.1.1 A检测onMouseOver|onMouseEnter|mouseenter无键盘等价物。用onFocus/onBlur与onMouseEnter/onMouseLeave成对出现。K7: 自定义模态框关闭后焦点未还原IMPORTANTWCAG 2.4.3 A保存触发元素引用触发元素不存在时保存最合理逻辑位置关闭时调用triggerElement.focus()。React 中的落地写法可参考 agents/accessibility.agent.md 的useRefuseEffect焦点还原片段。9. 表单反模式F1-F6F1: 输入无关联标签CRITICALWCAG 1.3.1 A / 3.3.2 A!-- GOOD -- label foremailEmail address/label input idemail typeemail placeholderyouexample.com /F2: 错误信息未关联输入CRITICALWCAG 3.3.1 Ainput idemail typeemail aria-describedbyemail-error aria-invalidtrue / span idemail-error classerrorInvalid email format/spanF3: 必填项仅用颜色或*表示IMPORTANTWCAG 3.3.2 A / 1.4.1 Alabel fornameName span aria-hiddentrue*/span/label input idname typetext required / p classform-noteFields marked * are required/pF4: 无错误汇总或焦点不落在首个错误IMPORTANTWCAG 3.3.1 A提交失败时聚焦第一个无效字段或展示并聚焦错误汇总。这对应 agents/accessibility.agent.md 的 Forgiving forms 原则保留输入、就近描述错误、提供汇总。F5: 无无障碍替代的 CAPTCHAIMPORTANTWCAG 3.3.8 AA使用 reCAPTCHA v3不可见、hCaptcha 无障碍模式或替代认证方式。永远不要在密码框上拦截粘贴或自动填充——这违反 WCAG 3.3.8。F6: 用 placeholder 当标签IMPORTANTWCAG 3.3.2 Aplaceholder 永远搭配可见label使用——placeholder 是提示不是标签。10. 视觉与颜色反模式V1-V5V1: 文本对比度不足CRITICALWCAG 1.4.3 AA/* BAD — #999 on #fff 约 2.5:1 */ .text { color: #999; background: #fff; } /* GOOD — #595959 on #fff 为 7.0:1 */ .text { color: #595959; background: #fff; }V2: 仅靠颜色传达信息CRITICALWCAG 1.4.1 A错误/成功状态必须附加次要指示符图标、文本、图案、下划线或边框。V3: 固定字号阻碍缩放IMPORTANTWCAG 1.4.4 AAfont-size使用rem或em。根字号可以用px但内容字号应为相对单位。V4: 320px 下无法重排IMPORTANTWCAG 1.4.10 AA用响应式布局Grid、Flexbox在 320px CSS 宽度下测试避免固定宽度容器。V5: 动画未遵循prefers-reduced-motionSUGGESTIONWCAG 2.3.3 AAA最佳实践与 AAA 增强。将非必要动画置于媒体查询内尊重用户的减动偏好media (prefers-reduced-motion: no-preference) { .card { transition: transform 0.3s ease; } .card:hover { transform: scale(1.05); } }agents/accessibility.agent.md 还提供了更激进的全局降级写法prefers-reduced-motion: reduce下将动画/过渡时长压缩到 0.01ms可按项目强度选用。11. 媒体反模式D1-D4D1: 信息性图片无 alt 文本CRITICALWCAG 1.1.1 AAlt 文本决策树装饰性 alt含文字 包含该文字功能性 描述动作信息性 描述内容。D2: 装饰性图片带非空 altSUGGESTIONWCAG 1.1.1 A装饰性图片用alt装饰性 SVG 加aria-hiddentrue。D3: 视频无字幕CRITICALWCAG 1.2.2 Avideo src/tutorial.mp4 controls track kindcaptions src/tutorial-en.vtt srclangen labelEnglish default / /videoD4: 音视频自动播放IMPORTANTWCAG 1.4.2 A永不自动播放音频若视频自动播放必须静音并提供控件。12. 框架专项修复12.1 React / Next.jsRX1-RX4编号问题严重级WCAGRX1JSX 中label for...应为htmlForIMPORTANT1.3.1 / 3.3.2RX2SPA 路由切换无焦点管理或 live regionIMPORTANT4.1.3RX3Fragment 根节点重渲染导致焦点丢失SUGGESTION2.4.3RX4注入的 HTML 未考虑 ARIAIMPORTANT1.3.1RX2 细节路由切换后聚焦主标题或通过 live region 播报新页面标题。Next.js 自 v13 起内置 route announcer依次读取document.title→h1→ pathname因此确保每个页面有唯一title即可受益。RX3 可用keyprop 保持 DOM 身份或用useRefuseEffect手动还原焦点。12.2 AngularNG1-NG4编号问题严重级WCAGNG1div/span上(click)无角色与键盘支持CRITICAL2.1.1 / 4.1.2NG2模态组件缺cdkTrapFocusIMPORTANT2.1.2NG3路由切换未用LiveAnnouncerIMPORTANT4.1.3NG4模板驱动表单无可访问校验IMPORTANT3.3.1 / 3.3.3NG2 示例div classmodal cdkTrapFocus [cdkTrapFocusAutoCapture]true.../divAngular CDK 的Dialog服务会自动处理焦点陷阱与还原。NG3 示例router.events.pipe(filter(e e instanceof NavigationEnd)).subscribe(() { liveAnnouncer.announce(titleService.getTitle(), polite); });NG4 要点将[attr.aria-invalid]与[attr.aria-describedby]绑定到表单控件状态。12.3 VueVU1-VU3编号问题严重级WCAGVU1非交互元素上click无角色与键盘CRITICAL2.1.1 / 4.1.2VU2v-if切换无焦点管理IMPORTANT2.4.3VU3v-html注入无无障碍结构IMPORTANT1.3.1VU1用button或加rolebutton、tabindex0、keydown.enter、keydown.space.prevent。VU2 示例script setup import { ref, watch, nextTick } from vue; const showPanel ref(false); const panel ref(null); watch(showPanel, async (val) { if (val) { await nextTick(); panel.value?.focus(); } }); /scriptVU3注入前清洗并校验 HTML 的标题层级、alt 文本与 ARIA 结构。这条在 React 的 RX4 中同样成立说明富文本渲染必须经过无障碍校验是跨框架的通用底线。13. 键盘交互参考13.1 基础键位KeyExpected BehaviorTab按 DOM 顺序移动到下一个可聚焦元素ShiftTab移动到上一个可聚焦元素Enter激活按钮和链接Space激活按钮、切换复选框、选中单选按钮Escape关闭模态框、对话框、弹出层、下拉菜单Arrow Up/Down在菜单、列表框、单选组、标签页中导航Arrow Left/Right在标签栏、滑块、单选组中导航Home移到列表、菜单或标签栏的第一项End移到最后一项13.2 组件级模式Widget-Specific PatternsWidgetTab 进入内部导航激活退出Tab bar聚焦活动标签Arrow Left/Right自动或 EnterTab 移出Menu聚焦第一项Arrow Up/DownEnterEscapeDialog聚焦第一个元素Tab 循环按钮上的 EnterEscapeCombobox聚焦输入框Arrow Up/DownEnter 选择Escape 关闭Tree view聚焦第一个节点方向键Enter/SpaceTab 移出这张表是 agents/accessibility-runtime-tester.agent.md 中复合组件运行时验证菜单、标签页、combobox、listbox、accordion 的 Escape 与方向键行为的静态版参照。14. 颜色对比度快速参考14.1 文本对比度WCAG 1.4.3 AA文本类型最低比例普通文本 18pt / 14pt 加粗4.5:1大文本 18pt / 14pt 加粗3:1偶然性禁用、装饰性无要求14.2 非文本对比度WCAG 1.4.11 AA元素最低比例UI 组件边框、图标相对相邻 3:1图形对象相对相邻 3:1焦点指示相对背景 3:115. POUR 验收清单把标准变成可执行的检查项Perceivable可感知所有图片有合适的 alt 文本描述性或装饰性为空视频有同步字幕页面使用语义地标header、nav、main、footer标题遵循逻辑层级h1 h2 h3无跳跃文本对比度达到 4.5:1普通/ 3:1大文本UI 组件对比度达到 3:1信息不只靠颜色传达内容在 320px 下重排且无横向滚动html lang...正确设置文本可放大到 200% 而不丢失内容Operable可操作所有功能可通过键盘访问无键盘陷阱Escape 关闭浮层首个可聚焦元素是跳转链接所有交互元素有可见焦点指示焦点顺序与视觉顺序一致焦点不被粘性页眉/页脚遮挡模态框关闭后焦点还原到触发元素触控目标至少 24x24 CSS px动画尊重prefers-reduced-motion无每秒闪烁超过 3 次的内容Understandable可理解所有表单输入有label或aria-label错误信息通过aria-describedby关联输入必填字段用required或aria-required标识提交失败时有错误汇总或焦点落在首个错误聚焦或输入不触发意外上下文变化Robust健壮所有交互元素有可访问名称、角色与状态ARIA 角色带有必需属性可聚焦元素上无aria-hiddentrue动态内容通过 live region 播报SPA 路由切换会播报给屏幕阅读器原生 HTML 元素上无冗余 ARIA16. 落地到工程从静态检查到运行时验证这份指令的价值在于可执行建议按以下闭环落地编码阶段让 Copilot 在生成代码时默认遵循本指令。仓库中 agents/accessibility.agent.md 明确要求回答代码前先做 a11y 预检键盘路径、焦点可见性、名称/角色/状态、动态更新的播报并提供了 CI 示例axe CLI pa11y Lighthouse CI可在 push/PR 上运行评审阶段按指令中的检测正则如 S8、K1、K2、V3快速扫描 diff并按 PR 评审模板语义/键盘焦点/播报/对比度/表单错误逐项打勾运行时验证静态合规不等于运行可用。agents/accessibility-runtime-tester.agent.md 强调不要只停在静态语义上——用真实键盘路径走完登录、结账等关键流程验证焦点陷阱、错误播报与动态更新再将失败映射回具体代码区域回归跟踪可借助 extensions/accessibility-kanban/ 看板对无障碍 issue 做分诊配合 agents/insiders-a11y-tracker.agent.md 跟踪上游工具链的无障碍改进。结语instructions/a11y.instructions.md 提供的不是零散技巧而是一套以 WCAG 2.2 AA 为锚点、以 38 反模式为检查单元、以 POUR 清单为验收标准的完整无障碍工程基线。在 EAA、ADA Title II 等法规相继强制的背景下将这份指令作为 Copilot 的全局编码规范可以让无障碍从事后补课变成默认正确。文中所有框架修复片段均可直接复制进 React、Angular、Vue 项目配合第 15 节清单即可完成一次完整的无障碍审计。【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考