~/talk

Hijacking Screenreaders with CSS

Talkat axe-con 2023 · 2023-03-15..03-16· [accessibility, css, web-platform]
name:Ben Myers
links:none on file
slides:none on file

CSS changes what assistive tech sees: browsers build and curate an accessibility tree and can display:none hides from AT, ::before gets announced as real content and text-transform uppercase can trigger spelling/pronunciation changes (VoiceOver spells ADD). Removing list bullets made a four-item list stop being exposed as a list in WebKit; zebra‑striping a minimally semantic table restored navigable table behavior for a 10‑row dataset. Test across browsers, OSes and ARIA to override or restore semantics.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 1:26Speaker introduction
  3. 2:10Talk overview and mental models
  4. 3:15Separation of content and presentation
  5. 4:45Screen readers and semantics assumption
  6. 5:25First CSS impact demo: display none
  7. 7:09Screen reader exposure to CSS
  8. 7:33Pseudo-elements and screen readers
  9. 8:38CSS altering pronunciation
  10. 11:08WebKit list semantics removal
  11. 13:41Broken table semantics demo
  12. 15:47Zebra striping restores table semantics
  13. 17:17Why screen readers behave this way
  14. 18:00History of screen readers
  15. 21:53Operating system primitives and accessibility tree
  16. 24:06Browsers curate accessibility tree
  17. 26:56How CSS impacts screen readers
  18. 28:50Browsers curate accessibility tree examples
  19. 32:52Life lessons and takeaways
  20. 33:15Test early and often
  21. 33:56Concept of paving the cowpath
  22. 35:29Legacy patterns and future impact
  23. 36:13Q&A: Automated screenreader testing
  24. 38:25Q&A: ARIA vs browser heuristics
  25. 39:27Q&A: CSS property for aria-hidden
  26. 41:22Q&A: Unicode fonts in CSS
  27. 43:30Q&A: Tools for new designers
  28. 46:26Closing remarks
~/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.