#accessibility 4 articles
- speechSynthesis.cancel() does not stop chunked reading — it queues the next chunkgotchas / spfxThe utterance chain re-queues itself from onend; epoch counter bumped BEFORE cancel(), and no onEnd from a superseded chain
- stopPropagation in onClick does not stop the keyboard — a clickable row swallows Enter and Space of the buttons inside itgotchas / spfxA clickable row with onKeyDown also receives the Enter/Space of its inner buttons and checkboxes, so their action is cancelled (or runs twice) and the detail opens; react only when e.target === e.currentTarget
- An element selector outranks your button class — and only a themed tenant sees itgotchas / spfx.app-root a { color: inherit } beats .btn--accent, so link-styled buttons get an unreadable label — but only on a tenant whose accent needs white text
- Audio in an SPFx web part (SharePoint and Teams): playback may be refused, the feature must not stopgotchas / spfxSPO's CSP has no media-src today, so MP3 from your CDN plays; start playback from a click and fall back to silent timing on NotAllowedError, 404 or mute