关于 canvas-accessibility-auditor
canvas-accessibility-auditor 是面向学习设计人员的 Canvas 无障碍审计技能,可扫描课程内容、整理问题并引导修复及复查。它检查页面和作业中的部分 WCAG 问题,并标出需人工检查的范围。
主要功能
- 01扫描页面和作业内容
- 02检查替代文本与标题
- 03检查表格标题和链接文本
- 04按优先级整理问题
- 05修复后重新扫描验证
适用场景
- 01课程发布前检查无障碍问题
- 02查找缺少替代文本的图片
- 03修正含糊的链接文本
- 04验证页面修改后的扫描结果
MCP 相关
需要连接 Canvas MCP 服务,使用其工具扫描内容、读取和编辑页面,并可获取机构的 UFIXIT 报告。修改页面前须获得用户确认。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vishalsachdev/ canvas-mcp --skill canvas-accessibility-auditor安装后在 Claude Code 中输入/canvas-accessibility-auditor确认已加载。
详细介绍
Canvas 无障碍审计器
面向学习设计师的完整无障碍审计周期:扫描课程内容、生成优先级报告、指导修复可处理的问题、重新扫描以验证修复结果,并生成无障碍审查摘要。
先决条件
- Canvas MCP 服务必须正在运行并已连接。
- 经过身份验证的用户必须在目标课程中拥有讲师、助教或设计师角色。
- 对于 UFIXIT 集成:课程必须包含 UFIXIT 报告页面(由所在机构的无障碍工具生成)。
步骤
1. 确定目标课程
询问用户要审计哪门课程。接受课程代码、Canvas ID 或课程名称。
如果用户未指定,请提示:
您想审计哪门课程的无障碍情况?
2. 扫描课程内容
如有可能,并行运行两项扫描:
扫描 A——直接扫描内容:
scan_course_content_accessibility(course_identifier, "pages,assignments")
此扫描会检查所有页面和作业的 HTML,查找:
- 缺少替代文本的图像(WCAG 1.1.1,A 级)
- 空标题(WCAG 2.4.6,AA 级)
- 缺少表头的表格(WCAG 1.3.1,A 级)
- “点击此处”等描述性不足的链接文本(WCAG 2.4.4,A 级)
扫描 B——UFIXIT 报告(如果可用):
fetch_ufixit_report(course_identifier)
如果 UFIXIT 页面存在,则解析该页面:
parse_ufixit_violations(report_json)
3. 生成优先级报告
合并两项扫描的结果。如果使用 UFIXIT 数据,请调用 format_accessibility_summary。
按优先级顺序呈现问题:
## Accessibility Audit: [Course Name]
### Summary
- Content scanned: 20 pages, 15 assignments
- Total issues: 12
- Auto-fixable: 8 | Manual review needed: 4
### Level A Violations (must fix)
1. **Missing alt text** -- 5 images across 3 pages
- Page "Week 1 Overview": 2 images
- Page "Lab Instructions": 2 images
- Assignment "Final Project": 1 image
2. **Tables missing headers** -- 2 tables
- Page "Grade Scale": 1 table
- Page "Schedule": 1 table
3. **Non-descriptive links** -- 3 instances of "click here"
- Page "Resources": 2 links
- Page "Week 3 Overview": 1 link
### Level AA Violations (should fix)
4. **Empty headings** -- 2 empty heading elements
- Page "Week 5 Notes": 1 empty h3
- Page "Midterm Review": 1 empty h2
### Manual Review Required
- Color contrast: Cannot be checked automatically (requires visual inspection)
- Video captions: Cannot be verified via API (check in Canvas media player)
- PDF accessibility: Cannot be parsed via API (use Adobe Acrobat checker)
4. 引导修复
针对每项可自动修复的问题,引导用户完成修复:
对于缺少替代文本的问题:
- 调用
get_page_content(course_identifier, page_url)以获取 HTML - 找出缺少 alt 属性的
<img>标签 - 请用户提供替代文本描述(或根据上下文提供建议)
- 使用修正后的 HTML 调用
edit_page_content(course_identifier, page_url, new_content)
对于描述性不足的链接:
- 获取页面内容
- 显示当前链接:
<a href="...">click here</a> - 建议替换为描述性文本:
<a href="...">Download the syllabus (PDF)</a> - 获得用户批准后应用修复
对于空标题:
- 获取页面内容
- 显示空标题
- 询问:“删除此标题,还是为其添加文本?”
- 按照用户选择应用修复
对于缺少表头的表格:
- 获取页面内容
- 显示表格结构
- 询问:“哪一行或哪一列应作为表头?”
- 将
<td>元素转换为<th>元素并应用修复
修改任何页面前,始终先征得用户确认。
5. 重新扫描已修改的页面
修复后,仅对已修改的页面重新运行扫描:
scan_course_content_accessibility(course_identifier, "pages")
报告:“已修复 12 项中的 8 项。剩余 4 项需要人工审查。”
6. 生成无障碍审查摘要
生成适合向利益相关方报告的最终摘要:
## Accessibility Review Summary
**Course:** [Course Name]
**Audit Date:** [date]
**Auditor:** AI-assisted audit via Canvas MCP
### Results
- Total content items scanned: 35
- Automated issues found: 12
- Issues remediated: 8
- Issues requiring manual review: 4
- Automated WCAG-oriented checks: Partial pass (manual review items remain)
### Remediation Actions Taken
- Added alt text to 5 images
- Fixed 3 non-descriptive links
- Removed 2 empty headings
### Outstanding Items
- Color contrast review needed (pages with colored text)
- Video caption verification (embedded videos)
- PDF accessibility check (uploaded PDFs)
### Recommendation
Course content meets automated WCAG 2.1 Level A criteria after remediation.
Manual review of color contrast and multimedia is recommended before publishing.
使用的 MCP 工具
| 工具 | 用途 |
|---|---|
scan_course_content_accessibility | 扫描页面和作业中的 WCAG 问题 |
fetch_ufixit_report | 获取机构的 UFIXIT 报告 |
parse_ufixit_violations | 从报告中提取结构化违规项 |
format_accessibility_summary | 将违规项整理为易读报告 |
get_page_content | 获取用于修复的页面 HTML |
edit_page_content | 对页面应用无障碍修复 |
list_courses | 查找可用课程 |
示例
用户:“为 CS 101 运行无障碍审计”
**Agent:**扫描所有内容并生成优先级报告。
用户:“修复缺少替代文本的问题”
**Agent:**获取每个受影响页面的内容,请用户提供替代文本描述,应用修复并重新扫描。
限制
- **无法检查:**颜色对比度、视频字幕、PDF 无障碍性、音频描述、键盘导航
- 每份报告都会将这些项目标记为“需要人工审查”
- **按页面进行修复:**每项修复都需要完整执行一次页面内容读取和写入
- **无法撤销:**通过 API 编辑页面不会创建 Canvas 修订历史记录——批量修复前请备份页面
备注
- 与
canvas-course-qc配合使用,可在学期开始前进行全面检查。 - 在重大内容更新或导入课程后运行。
- UFIXIT 集成取决于所在机构是否已安装 UDOIT/UFIXIT。