~/talk

A11y Broke My Build

Talkat CPH DevFest 2024 · 2024-08-26..08-30· [accessibility, developer-experience]
links:none on file
slides:none on file

A tiny Vue to‑do app gets layered with automated checks: linting with ESLint + vue‑a11y, unit tests using axe‑core, and end‑to‑end checks with Playwright, plus pipeline hooks via Husky and lint‑staged. Automated tools catch roughly 40–57% of issues (humans ~68%), and crawlers like Pa11y find dozens per site (45 homepage, 22 ticket page; ~300 on NDC). The pipeline fails on a color‑contrast/link‑label bug, proving accessibility testing can—and should—break the build.

AI-written summary · about

  1. 0:00Accessibility testing intro
  2. 1:30Shift accessibility left
  3. 3:46Linting for accessibility
  4. 5:41Unit testing components
  5. 7:49E2E testing with Playwright
  6. 9:40Why multiple testing layers
  7. 10:24Legacy projects with crawlers
  8. 12:36CI/CD tool integration
  9. 12:57Conclusion & Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.