Author Topic: Speech Synthesis API Being Restricted in Chrome 71 Due to Abuse  (Read 73 times)

Offline javajolt

  • Administrator
  • Hero Member
  • *****
  • Posts: 35164
  • Gender: Male
  • I Do Windows
    • windows10newsinfo.com
Speech Synthesis API Being Restricted in Chrome 71 Due to Abuse
« on: November 17, 2018, 04:26:04 PM »
Web developers can use the SpeechSynthesis API to convert text on a web page into synthesized audio speech.

While this feature is great for accessibility and audio queues, it is being abused by advertisements and low quality/scammy websites.

As this method is one of the last remaining ways for a site to autoplay audio without user interaction, is being abused by sites and advertisements, and does not adhere to Google's autoplay policies, Google has decided to restrict its use starting in Chrome 71.

Quote
"Any news on this? This is being used by abusive ads and already falls under our existing autoplay behavior, so we really should plug this hole," stated Chromium developer David Benjamins in a bug post.
Starting in Chrome 71, the SpeechSynthesis.speak method will be blocked from executing unless there has been some sort of user interaction that triggers it, such as clicking a button.

When a site uses this API to play audio without user interaction, Chrome 70 is already issuing deprecation warnings in the developer tools console. You can see an example of this using the test site http://cr.kungfoo.net/speech/immediately-speak.html.


SpeechSynthesis Deprecated in Chrome 70

In Chrome 71, using this API without any interaction will automatically cause it to be blocked.


Blocked in Chrome 71

Unfortunately, by restricting this API, developers who use it for legitimate reasons such as accessibility are not happy about this change. Now they will need to have their users perform some sort of action to enable the speech.



While the Chromium devs working on this empathize with these developers, they feel more people abuse it then use it for good reason, which is why they decided to restrict its behavior in Chrome 71.

source