Это часть новых политик Chrome относительно создания звука с веб-страниц.
Вам просто нужно, чтобы ваш пользователь предоставил пользовательский жест (для которого вы можете найти список здесь ) во времявремя жизни родительского документа (т.е. событие может долго оставаться мертвым, если пользователь когда-либо взаимодействовал со страницей).
Обратите внимание, что эти события могут даже проходить через фреймы, например, в StackOverflow простой факт, что вам нужно нажать кнопку «Выполнить», сделает внутренний фрейм разрешенным для выполнения этого кода:
const ut = new SpeechSynthesisUtterance('No warning should arise');
speechSynthesis.speak(ut);
И в вашем коде вы просто должны предоставить какой-то интерфейс, который обеспечит взаимодействие ваших пользователей со страницей перед вызовом этого метода (например, кнопка /тумблер сделает отлично)