Teaching Claude to Read the Lineup Card ⚾
Transcript Hyperlink Remediation · Claude + MCP WorkflowEvery 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.
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
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.
When Claude finds a generic transcript link, it works through this priority order to figure out which video it belongs to:
| # | Source | Result |
|---|---|---|
| 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.
Every finding lands in one of three sections. The review file is your coaching notes before game day:
| Tier | What 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.
Open the review file in any text editor. Edit directly in the table:
[NEEDS HUMAN REVIEW] with the video title. Claude fills in "Video Transcript Link" automaticallyThe 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
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
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.
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.
🐍 Play Ball 🐍
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