EFForg / privacybadger

Privacy Badger is a browser extension that automatically learns to block invisible trackers.
https://privacybadger.org
Other
3.19k stars 386 forks source link

Privacy Badger Extension Disrupts Microsoft Edge’s Read Aloud Accessibility Feature #2976

Closed marknoble closed 5 months ago

marknoble commented 5 months ago

What is your browser and browser version?

Microsoft Edge Version 125.0.2535.92 (Official build) (64-bit)

What is broken and where?

The Read aloud feature of Edge across all tested sites, including the EFF Privacy Badger page for example.

With Privacy Badger active, within the past two weeks or so, selecting the option to "Read aloud" in edge (Ctrl + Shift + U) would result in a grayed out Red aloud bar at the top of the page. After a few seconds, the Play button appears, but does not function. Navigating to https://webdbg.com/test/speech and testing with a Natural voice results in a message that "An error has occurred with the speech synthesis: synthesis-failed". A non "Natural" voice plays normally.

Disabling the Privacy Badger plugin resolves the issue.

This is a significant issue as it disables an accessibility feature in Edge and it is not apparent that Privacy Badger is the culprit.

Early troubleshooting discussion can be found here: https://x.com/marknoble/status/1796647227168792822

ghostwords commented 5 months ago

Hi Mark, and thanks for opening an issue!

This is another breakage caused by #2968, where Manifest V3/DNR content blocking extensions can break other extensions, and apparently even native browser functionality. (Perhaps Edge's read-aloud function is powered by an internal extension.)

ghostwords commented 5 months ago

One workaround is to replace the Privacy Badger you installed from Chrome Web Store with the Privacy Badger from the Edge add-ons store. We plan on keeping Privacy Badger for Edge on Manifest V2/blockingWebRequest for as long as possible.

ghostwords commented 5 months ago

And if we could figure out which domain or domains are required for Edge's read aloud feature to work correctly, we could then look into adding them to Privacy Badger's "yellowlist", which is a list of domains that are allowed to load albeit without access to cookies.

Could you see if toggling some Microsoft-related domains to the middle, yellow position works around the problem? Here is a list of potential culprits: https://github.com/EFForg/privacybadger/blob/04b44a245c695e26a4de28856ab8103eb2d1cf81/src/js/multiDomainFirstParties.js#L2984-L3122

The list is pretty long but a few domains are more likely than others, like all the ones with "azure" in the name.

Thanks again, and let me know if you have any questions.

marknoble commented 5 months ago

One workaround is to replace the Privacy Badger you installed from Chrome Web Store with the Privacy Badger from the Edge add-ons store. We plan on keeping Privacy Badger for Edge on Manifest V2/webRequest for as long as possible.

I've confirmed that this is a valid work-around at this time.

marknoble commented 5 months ago

I put a note in the Edge Insider program forum. Since elements of Edge are OSS I figured it'd be nice to get some eyes on this issue from that side. Seems like they even had some issues internally in the not-so-distant past.

marknoble commented 5 months ago

And if we could figure out which domain or domains are required for Edge's read aloud feature to work correctly, we could then look into adding them to Privacy Badger's "yellowlist", which is a list of domains that are allowed to load albeit without access to cookies.

Ok, I found the culprit: speech.platform.bing.com

In Privacy Badger Options > Tracking Domains I searched for bing and found a toggle for bing.com.

When toggled to yellow, the Read aloud functionality is restored.

Attempted resolution with PR https://github.com/EFForg/privacybadger/pull/2977

Feedback and further discussion welcome.