🐍 Canvas Accessibility Training · WCAG 2.4.4 Level AA 🐍

Spring Training:
Transcript Link Remediation

Teaching Claude to Read the Lineup Card ⚾

Transcript Hyperlink Remediation  ·  Claude + MCP Workflow

I. Reading the Scoreboard ⚾

Every transcript link in a Canvas course is an opportunity — or a failure. When the link text is generic, a screen reader user hears this:

❌ What the screen reader announces

"link: transcript"

No context. What video? Which course? Unusable.

✅ What it should announce

"link: SOC 101 Module 1 Overview Video Transcript Link"

Clear. Descriptive. Actionable.

This is a WCAG 2.4.4 Link Purpose (In Context) violation — Level AA. It's rarely flagged by automated scanners, which means it accumulates undetected across every course.

Crying Baseball GIFfrom Crying GIFs

II. Batting Practice — The Dry Run ⚾

What Claude Does First
Scan Every Page · Infer Every Title · Touch Nothing

Claude fetches all course pages, scans each one for generic transcript links, runs the inference priority order for each link found, and assigns a confidence tier.

When the scan is complete, Claude presents a review table in the session and saves a review file to your folder. You see every proposed change before anything is applied.

Review file format:

✅ Confident

Approve as-is or spot-check

⚠️ Verify

Click the link, confirm the video

❓ Check

Fill in the video title yourself

III. Reading the Signs ⚾

Claude scans every anchor tag in every page and flags links whose visible text matches a generic transcript pattern:

transcript  ·  view transcript  ·  download transcript  ·  transcript link  ·  click here for transcript  ·  video transcript

Also flags here, link, click here — but only when the href itself contains "transcript".

Links that already follow the [Video Title] Video Transcript Link convention are skipped automatically — Claude only flags what actually needs fixing.

No issues report needed. Unlike some tasks, this one scans the full course directly. Just provide the course URL and Claude does the rest.

IV. The Scouting Report — How Claude Finds the Title ⚾

When Claude finds a generic transcript link, it works through this priority order to figure out which video it belongs to:

#SourceResult
1 Nearest <iframe title> attribute on the same page ✅ Confident
2 Nearest <h2>, <h3>, <h4> heading above the link ⚠️ Verify
3 Platform identifier in a nearby iframe src (YouTube, Kaltura, etc.) ⚠️ Verify
4 Transcript page title (if the link points to a Canvas page, Claude fetches it) ⚠️ Verify
5 Canvas page title (weak fallback) ⚠️ Verify
— No context found ❓ Check — needs your input

Pro tip: If you've already run iframe title remediation on this course, pass that review file to Claude with --iframe-review for stronger ✅ Confident hits.

V. Three Tiers, One Review File ⚾

Every finding lands in one of three sections. The review file is your coaching notes before game day:

TierWhat It Means
✅ Confident iframe title found on the same page — Claude is sure it has the right video
⚠️ Verify Title inferred from a heading, transcript page content, or platform context
❓ Check No context found — Claude can't guess the video title

The ❓ Check rows are safe. The script will refuse to apply any row where [NEEDS HUMAN REVIEW] is still present — no risk of writing bad link text to Canvas.

VI. Coaching Notes — Working the Review File ⚾

Open the review file in any text editor. Edit directly in the table:

  1. ✅ Confident rows — spot-check the suggested title and move on if it looks right
  2. ⚠️ Verify rows — click the Canvas link, confirm the video. Adjust the suggested text if the title doesn't match
  3. ❓ Check rows — replace [NEEDS HUMAN REVIEW] with the video title. Claude fills in "Video Transcript Link" automatically

The pg:XXXXXX lk:N tags in the Page column tell Claude exactly which link to update — don't remove them.

📄 See a real example:  POS 110 Transcript Link Review MD File

Sandlot Play GIFfrom Sandlot GIFs

VII. Your Equipment 🧢

CLAUDE.md

Auto-loaded when Claude opens from this folder — orients it to the task rules and workflow

ATTENDEE_PROMPTS.md

Ready-to-copy prompts for every step — keep this open alongside Claude

TASK_REFERENCE.md

Full directives, detection logic, and inference rules — Claude reads this to run the task

EXAMPLE_transcript-link-review.md

A complete example of the review file format — useful before you review your own

VIII. Step Up to the Plate 🏟️

This is all you need to say. Claude reads TASK_REFERENCE.md, scans the full course, and builds the review file. Nothing in Canvas is touched yet.

I'd like to run the transcript link remediation task on a course.

Course URL: https://canvas.asu.edu/courses/[COURSE ID]

Please read tasks/transcript-link-remediation/TASK_REFERENCE.md
and follow the Claude + MCP workflow.

Already ran iframe title remediation on this course? Add one line:

iframe review file: C:\path\to\[course-slug]_iframe-title-review.md

Claude will cross-reference the approved iframe titles for stronger inference — more ✅ Confident rows.

IX. Game Day — Apply and Verify 🏆

After Review Approval
Claude Asks. You Choose. Then It Goes.

Before touching Canvas, Claude will ask how you want to proceed:

A — All at once  ·  Apply everything in one pass, summary at the end
B — Module by module  ·  Pause after each module to spot-check
C — Your call  ·  Tell Claude your preferred grouping

Claude updates only the anchor tag's visible text — the href and all other attributes are never touched. When complete, it generates a change log of everything updated.

Verification: Open any updated page in Canvas → find the transcript link → confirm the text now reads [Video Title] Video Transcript Link.

Sandlot Hero GIFfrom Sandlot GIFs

🐍 Play Ball 🐍

You're in the Starting Lineup.

Behind every transcript link you fix is a student who can find what they need — independently, without hitting a dead end. No workarounds, no asking for help. Just access, the way it was always supposed to work.

WCAG 2.4.4 Link Purpose (In Context) · Level AA
Transcript Hyperlink Remediation · Canvas LMS

Developed by Jaclyn Campbell · ASU Learning Enterprise · Instructional Designer

1 / 14