canvas-accessibility-auditor
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCanvas Accessibility Auditor
Canvas可访问性审计工具
Full accessibility audit cycle for Learning Designers: scan course content, generate prioritized report, guide remediation of fixable issues, re-scan to verify fixes, produce compliance summary.
为学习设计师提供完整的可访问性审计流程:扫描课程内容、生成优先级排序的报告、指导可修复问题的修复操作、重新扫描以验证修复效果、生成合规性总结报告。
Prerequisites
前置条件
- Canvas MCP server must be running and connected.
- Authenticated user must have instructor, TA, or designer role in the target course.
- For UFIXIT integration: the course must have a UFIXIT report page (generated by your institution's accessibility tool).
- Canvas MCP server必须处于运行状态并已连接。
- 已认证用户必须在目标课程中拥有讲师、助教或设计师角色。
- 若要集成UFIXIT:课程必须拥有UFIXIT报告页面(由您所在机构的可访问性工具生成)。
Steps
操作步骤
1. Identify Target Course
1. 确定目标课程
Ask the user which course to audit. Accept a course code, Canvas ID, or course name.
If not specified, prompt:
Which course would you like to audit for accessibility?
询问用户需要审计的课程,支持课程代码、Canvas ID或课程名称作为输入。
若用户未指定,提示:
您希望审计哪门课程的可访问性?
2. Scan Course Content
2. 扫描课程内容
Run two scans in parallel if possible:
Scan A -- Direct content scan:
scan_course_content_accessibility(course_identifier, "pages,assignments")This checks all page and assignment HTML for:
- Images missing alt text (WCAG 1.1.1, Level A)
- Empty headings (WCAG 2.4.6, Level AA)
- Tables missing headers (WCAG 1.3.1, Level A)
- Non-descriptive link text like "click here" (WCAG 2.4.4, Level A)
Scan B -- UFIXIT report (if available):
fetch_ufixit_report(course_identifier)If the UFIXIT page exists, parse it:
parse_ufixit_violations(report_json)若条件允许,并行运行两次扫描:
扫描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. Generate Prioritized Report
3. 生成优先级排序报告
Combine results from both scans. Call if using UFIXIT data.
format_accessibility_summaryPresent issues sorted by priority:
undefined合并两次扫描的结果。若使用UFIXIT数据,调用工具。
format_accessibility_summary按优先级排序展示问题:
undefinedAccessibility Audit: [Course Name]
Accessibility Audit: [Course Name]
Summary
Summary
- Content scanned: 20 pages, 15 assignments
- Total issues: 12
- Auto-fixable: 8 | Manual review needed: 4
- Content scanned: 20 pages, 15 assignments
- Total issues: 12
- Auto-fixable: 8 | Manual review needed: 4
Level A Violations (must fix)
Level A Violations (must fix)
-
Missing alt text -- 5 images across 3 pages
- Page "Week 1 Overview": 2 images
- Page "Lab Instructions": 2 images
- Assignment "Final Project": 1 image
-
Tables missing headers -- 2 tables
- Page "Grade Scale": 1 table
- Page "Schedule": 1 table
-
Non-descriptive links -- 3 instances of "click here"
- Page "Resources": 2 links
- Page "Week 3 Overview": 1 link
-
Missing alt text -- 5 images across 3 pages
- Page "Week 1 Overview": 2 images
- Page "Lab Instructions": 2 images
- Assignment "Final Project": 1 image
-
Tables missing headers -- 2 tables
- Page "Grade Scale": 1 table
- Page "Schedule": 1 table
-
Non-descriptive links -- 3 instances of "click here"
- Page "Resources": 2 links
- Page "Week 3 Overview": 1 link
Level AA Violations (should fix)
Level AA Violations (should fix)
- Empty headings -- 2 empty heading elements
- Page "Week 5 Notes": 1 empty h3
- Page "Midterm Review": 1 empty h2
- Empty headings -- 2 empty heading elements
- Page "Week 5 Notes": 1 empty h3
- Page "Midterm Review": 1 empty h2
Manual Review Required
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)
undefined- 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)
undefined4. Guided Remediation
4. 指导式修复
For each auto-fixable issue, walk the user through the fix:
For missing alt text:
- Call to retrieve the HTML
get_page_content(course_identifier, page_url) - Identify the tags without alt attributes
<img> - Ask the user for alt text descriptions (or suggest based on surrounding context)
- Call with corrected HTML
edit_page_content(course_identifier, page_url, new_content)
For non-descriptive links:
- Retrieve the page content
- Show the current link:
<a href="...">click here</a> - Suggest descriptive replacement:
<a href="...">Download the syllabus (PDF)</a> - Apply fix after user approval
For empty headings:
- Retrieve the page content
- Show the empty heading
- Ask: "Remove this heading, or add text to it?"
- Apply the chosen fix
For tables missing headers:
- Retrieve the page content
- Show the table structure
- Ask: "Which row/column should be headers?"
- Convert to
<td>elements and apply<th>
Always ask for user confirmation before modifying any page.
针对每个可自动修复的问题,引导用户完成修复操作:
针对缺少替代文本的问题:
- 调用获取页面HTML
get_page_content(course_identifier, page_url) - 识别缺少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. Re-scan Modified Pages
5. 重新扫描修改后的页面
After remediation, re-run the scan on modified pages only:
scan_course_content_accessibility(course_identifier, "pages")Report: "Fixed 8/12 issues. 4 remaining require manual review."
修复完成后,仅对修改过的页面重新运行扫描:
scan_course_content_accessibility(course_identifier, "pages")报告内容:“已修复12个问题中的8个,剩余4个问题需要人工评审。”
6. Generate Compliance Summary
6. 生成合规性总结
Produce a final summary suitable for stakeholder reporting:
undefined生成一份适合向利益相关者汇报的最终总结:
undefinedAccessibility Compliance Summary
Accessibility Compliance Summary
Course: [Course Name]
Audit Date: [date]
Auditor: AI-assisted audit via Canvas MCP
Course: [Course Name]
Audit Date: [date]
Auditor: AI-assisted audit via Canvas MCP
Results
Results
- Total content items scanned: 35
- Automated issues found: 12
- Issues remediated: 8
- Issues requiring manual review: 4
- WCAG Level A compliance: Partial (manual review items remain)
- Total content items scanned: 35
- Automated issues found: 12
- Issues remediated: 8
- Issues requiring manual review: 4
- WCAG Level A compliance: Partial (manual review items remain)
Remediation Actions Taken
Remediation Actions Taken
- Added alt text to 5 images
- Fixed 3 non-descriptive links
- Removed 2 empty headings
- Added alt text to 5 images
- Fixed 3 non-descriptive links
- Removed 2 empty headings
Outstanding Items
Outstanding Items
- Color contrast review needed (pages with colored text)
- Video caption verification (embedded videos)
- PDF accessibility check (uploaded PDFs)
- Color contrast review needed (pages with colored text)
- Video caption verification (embedded videos)
- PDF accessibility check (uploaded PDFs)
Recommendation
Recommendation
Course content meets automated WCAG 2.1 Level A criteria after remediation.
Manual review of color contrast and multimedia is recommended before publishing.
undefinedCourse content meets automated WCAG 2.1 Level A criteria after remediation.
Manual review of color contrast and multimedia is recommended before publishing.
undefinedMCP Tools Used
使用的MCP工具
| Tool | Purpose |
|---|---|
| Scan pages and assignments for WCAG issues |
| Retrieve institutional UFIXIT report |
| Extract structured violations from report |
| Format violations into readable report |
| Retrieve page HTML for remediation |
| Apply accessibility fixes to pages |
| Find available courses |
| 工具 | 用途 |
|---|---|
| 扫描页面和作业是否存在WCAG问题 |
| 获取机构的UFIXIT报告 |
| 从报告中提取结构化的违规信息 |
| 将违规信息格式化为易读的报告 |
| 获取页面HTML用于修复操作 |
| 对页面应用可访问性修复 |
| 查找可用课程 |
Example
示例
User: "Run accessibility audit for CS 101"
Agent: Scans all content, generates the prioritized report.
User: "Fix the missing alt text issues"
Agent: Retrieves each affected page, asks for alt text descriptions, applies fixes, re-scans.
用户: "为CS 101课程开展可访问性审计"
Agent: 扫描所有内容,生成优先级排序报告。
用户: "修复缺少替代文本的问题"
Agent: 获取每个受影响的页面,索要替代文本描述,应用修复,重新扫描。
Limitations
局限性
- Cannot check: Color contrast, video captions, PDF accessibility, audio descriptions, keyboard navigation
- These are flagged as "manual review required" in every report
- Remediation is per-page: Each fix requires a full page content read and write cycle
- No undo: Page edits via the API do not create Canvas revision history -- back up pages before bulk fixes
- 无法检测: 颜色对比度、视频字幕、PDF可访问性、音频描述、键盘导航
- 这些问题会在每份报告中标记为“需要人工评审”
- 修复按页面进行: 每次修复都需要完整的页面内容读取和写入周期
- 无法撤销: 通过API进行的页面编辑不会生成Canvas修订历史记录——批量修复前请备份页面
Notes
注意事项
- Pairs well with for comprehensive pre-semester review.
canvas-course-qc - Run after major content updates or course imports.
- UFIXIT integration depends on your institution having UDOIT/UFIXIT installed.
- 与工具配合使用,可实现全面的学期前评审。
canvas-course-qc - 应在内容重大更新或课程导入后运行本工具。
- UFIXIT集成功能依赖于您所在机构已安装UDOIT/UFIXIT工具。