Evaluation methods

This document records every evaluation method used on this repository, who or

what performed it, when, and what each method can and cannot show. Per the

portfolio's evidence rules, every evaluation is labeled by method; pending

results are never filled in.

Methods used (complete)

#MethodPerformed byDateArtifactsCan showCannot show
1Automated WCAG audit (axe-core 4.11.1, WCAG 2.1 A/AA + best practice)Agent (scripted tool: tooling/audit-axe.mjs)2026-10-25 (before) / 2026-10-25 (after)audit/automated-results/before/, after/Rule-detectable violations on rendered pagesJudgment issues: alt quality, captions accuracy, reading-order meaning
2Automated audit (Lighthouse 13.0.1, accessibility category)Agent (scripted tool)2026-10-25audit/automated-results/…/lighthouse-*.jsonScores + failed audits incl. target-sizeSame as above; scores are not conformance
3Automated audit (pa11y 9.0.0, WCAG2AA)Agent (scripted tool)2026-10-25audit/automated-results/…/pa11y-*.jsonSecond-engine corroboration (broken anchors, labels, frame titles)Same as above
4Scripted keyboard pass (tab-through, focus visibility, trap detection)Agent (Playwright, scripts/manual-pass.mjs)2026-10-25audit/manual-evidence/*/manual-pass-results.jsonTab order, reachability, focus indicators, trapsWhat a screen reader announces; real AT-user experience
5Scripted reflow check (320 px = 400% of 1280)Agent (Playwright)2026-10-25same + *-320px.pngDocument-level horizontal scrollVisual comfort; every possible breakpoint
6Measured color contrast (WCAG luminance formula on rendered colors)Agent (Playwright + script)2026-10-25same, contrast fieldRatio failures against first opaque backgroundContrast over background images (flagged and manually inspected instead)
7PDF structure inspection (pypdf: tag tree, alt entries, text density)Agent2026-10-25audit/manual-testing-notes.mdTagged status, figure/table structure, alt qualityHow a PDF screen-reader session actually reads the file
8Media availability check (captions/transcript/player inventory)Agent2026-10-25issue log I-01–I-09What the module provides for deaf/blind usersCaption accuracy (not measured; see row 11)
9Scripted keyboard task tests (skip link, quiz completion, video chapters)Agent (scripts/test-keyboard.mjs)2026-10-25audit/manual-evidence/after/keyboard-tests.jsonEnd-to-end tasks work keyboard-onlyScreen-reader announcements beyond live-region wiring
10Caption build (text: publisher transcript; timings: machine alignment)Agent (scripts/build-captions.mjs)2026-10-25docs/module/media/captions-build-report.jsonTransparent, reproducible caption derivationAccuracy vs. the audio (method 11)
11Caption accuracy vs. audio (machine speech-to-text word error rate)Dropped, not run. Any honest version needs an AI speech-to-text model, which this project does not use.n/anonen/aCaption accuracy stays unverified; WCAG 1.2.2/1.2.5 stay at "Partially Supports"
12Agent heuristic review of the case study site (fresh-context reviewer sub-agent; may share the author's underlying model — disclosed limitation)Reviewer agent (separate context)2026-10-25 (authoring session) / 2026-10-26 (fresh-context round)review notes in evaluation/agent-review.mdConsistency, honesty, accessibility-baseline gapsIndependent human judgment
13Human VoiceOver pass (rotor tests before/after)PENDING human — protocol in evaluation/human-protocol/voiceover-protocol.md——Real screen-reader behavior—
14Daily AT-user reviewPENDING human — invitation: evaluation/human-protocol/at-user-review-invite.md——The strongest available evidence—
15Caption timing spot-checkPENDING human — evaluation/human-protocol/caption-accuracy-check.md——Comfortable caption timing—
16Label in Name check (WCAG 2.5.3: visible label contained in accessible name)Agent (scripts/check-label-in-name.mjs)2026-10-26audit/manual-evidence/after/label-in-name.jsonEvery labeled control on all 9 site pages (207 controls, 0 violations)Screen-reader pronunciation quirks
17Whole-site link/image/fragment check (every published page; prefix-escape rule; docs/before/ excluded by default)Agent (scripts/check-links.mjs)2026-10-26linkcheck-results/ (local + live runs)Broken hrefs/srcs, links escaping the deployment root, dead fragment targetsExternal-link availability (external URLs are skipped)
18Markdown report/program documents rendered as deployed site pagesAgent (scripts/render-doc-pages.mjs)2026-10-26docs/report/conformance-report.html, docs/report/prioritization-model.html, docs/program/remediation-workflow.htmlStyled, deployed versions of the Markdown sources (axe-clean)Direct edits to the HTML (edit the .md, then re-render)

What was deliberately NOT done

Reviewer-agent note (labeling)

The "Agent review" of this site was performed by a reviewer agent in a fresh

context. It may run on the same underlying model family as the authoring

agent; this same-model limitation is disclosed. No cross-model review panel

was run, and none is planned.

Reproduce

npm run serve            # python3 -m http.server 8900 --directory docs
node scripts/manual-pass.mjs before <before-urls...>
node scripts/manual-pass.mjs after  <module-urls...>
node scripts/test-keyboard.mjs
node scripts/check-label-in-name.mjs
node scripts/check-links.mjs docs          # local: every page under docs/
node scripts/check-links.mjs <live-url>    # deployed site
node scripts/render-doc-pages.mjs          # re-render docs/report + docs/program