mcpField
C
canvas-accessibility-auditor

canvas-accessibility-auditor

github.com/vishalsachdev测试与质量308202 次安装今天更新
代码仓库

关于 canvas-accessibility-auditor

canvas-accessibility-auditor 是面向学习设计人员的 Canvas 无障碍审计技能,可扫描课程内容、整理问题并引导修复及复查。它检查页面和作业中的部分 WCAG 问题,并标出需人工检查的范围。

主要功能

  1. 01扫描页面和作业内容
  2. 02检查替代文本与标题
  3. 03检查表格标题和链接文本
  4. 04按优先级整理问题
  5. 05修复后重新扫描验证

适用场景

  1. 01课程发布前检查无障碍问题
  2. 02查找缺少替代文本的图片
  3. 03修正含糊的链接文本
  4. 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. 引导修复

针对每项可自动修复的问题,引导用户完成修复:

对于缺少替代文本的问题:

  1. 调用 get_page_content(course_identifier, page_url) 以获取 HTML
  2. 找出缺少 alt 属性的 <img> 标签
  3. 请用户提供替代文本描述(或根据上下文提供建议)
  4. 使用修正后的 HTML 调用 edit_page_content(course_identifier, page_url, new_content)

对于描述性不足的链接:

  1. 获取页面内容
  2. 显示当前链接:<a href="...">click here</a>
  3. 建议替换为描述性文本:<a href="...">Download the syllabus (PDF)</a>
  4. 获得用户批准后应用修复

对于空标题:

  1. 获取页面内容
  2. 显示空标题
  3. 询问:“删除此标题,还是为其添加文本?”
  4. 按照用户选择应用修复

对于缺少表头的表格:

  1. 获取页面内容
  2. 显示表格结构
  3. 询问:“哪一行或哪一列应作为表头?”
  4. 将 <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。

评论

支持 Markdown