Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vishalsachdev avatar

Canvas Accessibility Auditor

  • 98 installs
  • 176 repo stars
  • Updated August 4, 2026
  • vishalsachdev/canvas-mcp

Helps with security tasks.

About

canvas-accessibility-auditor is a Claude Code skill for security. It helps solo builders move faster with AI-assisted development.

  • canvas-accessibility-auditor
  • Security
  • AI-coding skill

Canvas Accessibility Auditor by the numbers

  • 98 all-time installs (skills.sh)
  • +2 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #1,013 of 2,202 Security skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vishalsachdev/canvas-mcp --skill canvas-accessibility-auditor

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs98
repo stars176
Last updatedAugust 4, 2026
Repositoryvishalsachdev/canvas-mcp

What it does

Helps with security tasks.

Files

SKILL.mdMarkdownGitHub ↗

Canvas Accessibility Auditor

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).

Steps

1. Identify Target Course

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?

2. Scan Course Content

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)

3. Generate Prioritized Report

Combine results from both scans. Call format_accessibility_summary if using UFIXIT data.

Present issues sorted by priority:

## 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. Guided Remediation

For each auto-fixable issue, walk the user through the fix:

For missing alt text: 1. Call get_page_content(course_identifier, page_url) to retrieve the HTML 2. Identify the <img> tags without alt attributes 3. Ask the user for alt text descriptions (or suggest based on surrounding context) 4. Call edit_page_content(course_identifier, page_url, new_content) with corrected HTML

For non-descriptive links: 1. Retrieve the page content 2. Show the current link: <a href="...">click here</a> 3. Suggest descriptive replacement: <a href="...">Download the syllabus (PDF)</a> 4. Apply fix after user approval

For empty headings: 1. Retrieve the page content 2. Show the empty heading 3. Ask: "Remove this heading, or add text to it?" 4. Apply the chosen fix

For tables missing headers: 1. Retrieve the page content 2. Show the table structure 3. Ask: "Which row/column should be headers?" 4. Convert <td> to <th> elements and apply

Always ask for user confirmation before modifying any page.

5. Re-scan Modified Pages

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."

6. Generate Compliance Summary

Produce a final summary suitable for stakeholder reporting:

## Accessibility Compliance 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
- WCAG Level A compliance: Partial (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 Tools Used

ToolPurpose
scan_course_content_accessibilityScan pages and assignments for WCAG issues
fetch_ufixit_reportRetrieve institutional UFIXIT report
parse_ufixit_violationsExtract structured violations from report
format_accessibility_summaryFormat violations into readable report
get_page_contentRetrieve page HTML for remediation
edit_page_contentApply accessibility fixes to pages
list_coursesFind available courses

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.

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

Notes

  • Pairs well with canvas-course-qc for comprehensive pre-semester review.
  • Run after major content updates or course imports.
  • UFIXIT integration depends on your institution having UDOIT/UFIXIT installed.

Related skills

Securityappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.