Why the accessibility tree is a difficult surface
Every third-party script is a risk. This category is harder in a specific way, and the specificity is what makes it worth writing about.
A compromised analytics script can exfiltrate data. A compromised payment script can steal card numbers. Those are severe, and they are also often detectable — by monitoring, by users noticing, by fraud systems.
A compromised or altered overlay can change what assistive technology announces. That is a channel few organisations monitor as a security signal, consumed by users who cannot always cross-check the announcement against the visual rendering. A sighted developer looking at the screen may see one interface. A screen reader user may hear another.
Consider a concrete failure mode, offered as illustration rather than as a report of an incident: an injected accessible name on a login control, a changed focus order that skips an error message, or a suppressed status announcement after a form submission. A sighted quality assurance (QA) pass can still see a button labelled "Log in." An automated scan that runs against the raw HTML before the overlay script executes can miss what the user of assistive technology actually gets. A scan that runs in a browser after injection may see a different accessibility tree than your continuous integration (CI) pipeline sees against static markup. Timing and environment matter.
I am not aware of a documented incident of this kind, and I want to be careful not to imply one has happened. The point is narrower and, I think, harder to dismiss: this is an attack surface with a weak detection story relative to many other third-party scripts, and it is often installed specifically on sites whose owners have been told they have a compliance problem.