Intent to Ship: SpeechSynthesis and SpeechSynthesisVoice interface objects

114 views
Skip to first unread message

Philip Jägenstedt

unread,
Jun 29, 2021, 12:52:21 PM6/29/21
to blink-dev

Contact emails

foo...@chromium.org

Specification

https://wicg.github.io/speech-api/#tts-section

Summary

This is about the interface objects for SpeechSynthesis and SpeechSynthesisVoice, not about the functionality itself which was already supported. These interfaces should be exposed according to spec. Feature detection using window.speechSynthesis was already possible, but this makes feature detection using SpeechSynthesisVoice.prototype possible. Note that SpeechSynthesisEvent, SpeechSynthesisErrorEvent and SpeechSynthesisUtterance interface objects were already exposed.



Blink component

Blink>Speech

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

In general there is very little web compat risk by exposing a new interface. However, since these interfaces have previously only been exposed by Firefox, it's plausible some feature detection code involving them has accidentally only worked on Firefox, and that Chromium will now go down a new code path. This risk does not seem significant enough to do anything preemptively. This is a minor and trivial change, but moving in the direction of interoperability by matching Firefox and the spec.



Gecko: Shipped/Shipping (https://github.com/mozilla/gecko-dev/blob/44e39a47b27313029460bada366c67ebe6d7c57e/dom/webidl/SpeechSynthesis.webidl#L14) Gecko's IDL does not have [LegacyNoInterfaceObject] here, and SpeechSynthesis was shipped in Firefox 49: https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis#browser_compatibility

WebKit: No signal (https://github.com/WebKit/WebKit/blob/56da0c5837801eb031c7506672cd7c40cbed4063/Source/WebCore/Modules/speech/SpeechSynthesis.idl#L27) WebKit developers were not consulted, the FIXME is taken as evidence that this change would be acceptable in WebKit as well.

Web developers: No signals


Is this feature fully tested by web-platform-tests?

Yes: https://wpt.fyi/results/speech-api/idlharness.window.html


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1224942

MDN links


https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4818803819020288

This intent message was generated by Chrome Platform Status.

TAMURA, Kent

unread,
Jun 29, 2021, 7:40:52 PM6/29/21
to Philip Jägenstedt, blink-dev
LGTM1.
They should have interface objects, and the Gecko status is a good signal.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdEZTQOoAr5L%3D1xpBzV7Z_L0M%2BzOrTyEdbT88uPtUPMnQ%40mail.gmail.com.


--
TAMURA Kent
Software Engineer, Google


Daniel Bratell

unread,
Jun 30, 2021, 4:47:10 AM6/30/21
to TAMURA, Kent, Philip Jägenstedt, blink-dev

Rick Byers

unread,
Jun 30, 2021, 9:55:47 AM6/30/21
to Daniel Bratell, TAMURA, Kent, Philip Jägenstedt, blink-dev
LGTM3 - trivial, nearly just a bugfix

Philip Jägenstedt

unread,
Nov 22, 2023, 10:47:44 AM11/22/23
to Rick Byers, Daniel Bratell, TAMURA, Kent, blink-dev
FYI, this ended up being reverted soon and never reached stable. After 2+ years, I've relanded it in https://chromium-review.googlesource.com/c/chromium/src/+/5040561 and expect it will be in Chrome 121.
Reply all
Reply to author
Forward
0 new messages