LGTM3 On Mon, Nov 9, 2026 at 4:44 PM Alan Ding <[email protected]> wrote:
> Thanks Alex for the review! I filed formal standards-position requests for > both engines and updated ChromeStatus: > > - Gecko / Mozilla: > https://github.com/mozilla/standards-positions/issues/1483 > - WebKit / Safari: > https://github.com/WebKit/standards-positions/issues/742 > > > On Mon, Nov 9, 2026 at 11:38 AM Alex Russell <[email protected]> > wrote: > >> Hey Alan, >> >> This is a great feature. >> >> We try not to take statement of positive intent as official browser >> signals as other vendors have requested we not do that, and instead use >> their formal channels. I know that's more paperwork, but we do not want to >> cause trouble for the line engineers at our friendly partners on other >> browser teams by putting them in the spotlight in ways that are out of sync >> with their leadership. >> >> LGTM1, conditional on filing explicit signals requests through the formal >> channels (but not conditional on their response). >> >> Godspeed, >> >> Alex >> >> On Friday, November 6, 2026 at 2:17:12 PM UTC-8 Alan Ding wrote: >> >>> Contact emails >>> >>> [email protected] >>> >>> Explainer >>> >>> >>> https://github.com/WebAudio/web-speech-api/blob/main/explainers/speech-recognition-result-timestamps.md >>> >>> Specification >>> >>> https://webaudio.github.io/web-speech-api/#speechreco-result >>> >>> Summary >>> >>> The Web Speech API currently does not expose the acoustic timing bounds >>> of recognized speech segments, making it difficult to associate transcribed >>> text with media timelines or generate synchronized subtitle cues. We >>> propose adding speechStartTime and speechEndTime (double, in seconds >>> relative to stream start) attributes on the SpeechRecognitionResult >>> interface. >>> >>> Blink component >>> >>> Blink>Speech >>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESpeech%22> >>> >>> Web Feature ID >>> >>> speech-recognition <https://webstatus.dev/features/speech-recognition> >>> >>> Motivation >>> >>> The Web Speech API currently does not expose the acoustic start and end >>> timestamps of recognized speech utterances on SpeechRecognitionResult. >>> While SpeechRecognitionEvent.timeStamp conveys when the DOM event occurred, >>> it provides no information about the acoustic boundaries or duration of the >>> speech segment within the source audio stream. Exposing speechStartTime and >>> speechEndTime (in seconds as a double, matching >>> HTMLMediaElement.currentTime, BaseAudioContext.currentTime, and VTTCue) >>> addresses critical media timeline association capabilities that are >>> currently impossible on the web: >>> >>> 1. Automated Subtitling & Caption Tracks: Constructing frame-accurate >>> subtitle cues (VTTCue(start, end, text)) for recorded or streaming >>> audio/video. >>> >>> 2. Interactive "Click-to-Seek" Navigation: Enabling users to click a >>> phrase in a transcript and immediately seek playback to the exact moment it >>> was spoken. >>> >>> 3. Conferencing & Media Recording Alignment: Synchronizing real-time >>> captions with recorded media tracks or WebRTC playout delay buffers. >>> >>> 4. Text-Based Media Editing: Accurately cutting, splicing, or >>> rearranging audio and video based on transcript text. >>> >>> Initial public proposal >>> >>> https://github.com/WebAudio/web-speech-api/issues/191 >>> >>> TAG review >>> >>> https://github.com/w3ctag/design-reviews/issues/1267 >>> >>> TAG review status >>> >>> Issues addressed >>> >>> Risks >>> >>> Interoperability and Compatibility >>> >>> Low interoperability and compatibility risk. This is a purely additive >>> change introducing two read-only double attributes (speechStartTime and >>> speechEndTime) on SpeechRecognitionResult, along with updating >>> SpeechRecognitionEvent.timeStamp to reflect the end of the recognized >>> speech segment on the session audio timeline. Existing applications using >>> SpeechRecognition continue to work without modification, and developers can >>> feature-detect support via 'speechStartTime' in >>> SpeechRecognitionResult.prototype. The specification update ( >>> https://github.com/WebAudio/web-speech-api/pull/192) was shaped by >>> feedback from the W3C Audio Working Group / Community Group (including >>> @padenot at Mozilla) and the W3C TAG ( >>> https://github.com/w3ctag/design-reviews/issues/1267). >>> >>> Gecko: No signal (https://github.com/WebAudio/web-speech-api/pull/192) >>> Unofficial approval from @padenot (Mozilla) on spec update. >>> >>> WebKit: No signal >>> >>> Web developers: Positive ( >>> https://github.com/WebAudio/web-speech-api/issues/191) Requested by >>> internal and external web developers building real-time captioning, media >>> recording alignment, and latency-sensitive conferencing applications >>> (including Google Meet). For example, speechStartTime and speechEndTime are >>> used to generate synchronized VTTCue captions and interactive click-to-seek >>> transcripts and developer specifically needed this feature to properly map >>> results to the timeline to know when the speech that generated the text in >>> the result started and ended for applications such as Subtitling & Closed >>> Captions, Meeting Transcripts, Live WebRTC Video Sync (see >>> crbug.com/551992211#comment3). >>> >>> Other signals: >>> >>> WebView application risks >>> >>> Does this intent deprecate or change behavior of existing APIs, such >>> that it has potentially high risk for Android WebView-based applications? >>> >>> None. This feature only adds new read-only attributes to >>> SpeechRecognitionResult and does not deprecate or break existing APIs. >>> Furthermore, the Web Speech API (SpeechRecognition) is not supported on >>> Android WebView. >>> >>> Debuggability >>> >>> No special DevTools support is needed. speechStartTime and speechEndTime >>> are standard read-only IDL attributes exposed on SpeechRecognitionResult >>> instances (and timeStamp on SpeechRecognitionEvent) and can be inspected >>> directly in the DevTools Console, Scope pane, and watch expressions like >>> any other DOM object properties. >>> >>> Will this feature be supported on all six Blink platforms (Windows, Mac, >>> Linux, ChromeOS, Android, and Android WebView)? >>> >>> No >>> >>> Supported on desktop platforms (Windows, Mac, Linux, and ChromeOS). Not >>> currently supported on Android or Android WebView: Android WebView does not >>> support the SpeechRecognition API, and Chrome on Android delegates to the >>> OS-level Android SpeechRecognizer service, which does not expose >>> segment-level start and end timestamps. The WebSpeechTimestamps runtime >>> feature flag will only be enabled on desktop platforms (Windows, Mac, >>> Linux, and ChromeOS), leaving speechStartTime and speechEndTime unexposed >>> on Android and Android WebView. >>> >>> Is this feature fully tested by web-platform-tests >>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>> ? >>> >>> No >>> >>> End-to-end Web Speech API recognition tests cannot currently run in >>> automated Web Platform Tests (WPT) because WPT lacks a WebDriver mock >>> speech recognition backend automation hook (and on-device recognition >>> models are not bundled in standard WPT test runners). The IDL surface is >>> covered by WPT idlharness tests, and the timestamp exposure, 2ms >>> quantization (FuzzTimestamp), and SpeechRecognitionEvent.timeStamp rebasing >>> are covered by Blink unit tests >>> (third_party/blink/renderer/modules/speech/speech_recognition_test.cc, >>> crrev.com/c/8409366 and crrev.com/c/8729884) as well as browser/service >>> unit tests >>> (content/browser/speech/soda_speech_recognition_engine_impl_unittest.cc, >>> content/browser/speech/on_device_speech_recognition_engine_unittest.cc, >>> chrome/services/speech/soda_speech_recognizer_impl_unittest.cc, >>> chrome/services/speech/speech_recognition_recognizer_impl_unittest.cc, and >>> services/on_device_model/on_device_model_service_unittest.cc). >>> >>> Flag name on about://flags >>> >>> enable-experimental-web-platform-features >>> >>> Finch feature name >>> >>> WebSpeechTimestamps >>> >>> Rollout plan >>> >>> Will ship enabled for all users >>> >>> Requires code in //chrome? >>> >>> True >>> >>> While the WebIDL surface and result plumbing live in //third_party/blink >>> and //content/browser/speech, the on-device speech recognition backends and >>> model management that supply segment timestamps (SODA in >>> //chrome/services/speech and Optimization Guide / on-device model >>> integration in //chrome/browser/speech) currently live in //chrome. >>> >>> Tracking bug >>> >>> https://crbug.com/528037568 >>> >>> Estimated milestones >>> >>> Shipping on desktop >>> >>> 159 >>> >>> DevTrial on desktop >>> >>> 153 >>> >>> Anticipated spec changes >>> >>> Open questions about a feature may be a source of future web compat or >>> interop issues. Please list open issues (e.g. links to known github issues >>> in the project for the feature specification) whose resolution may >>> introduce web compat/interop risk (e.g., changing to naming or structure of >>> the API in a non-backward-compatible way). >>> >>> None. Following W3C TAG ( >>> https://github.com/w3ctag/design-reviews/issues/1267 ) and Audio WG/CG >>> review on PR #192 (https://github.com/WebAudio/web-speech-api/pull/192 >>> ), the attribute names (speechStartTime and speechEndTime), type and units, >>> and SpeechRecognitionEvent.timeStamp behavior have already been updated to >>> match reviewer consensus. No further backward-incompatible spec changes are >>> anticipated. >>> >>> Link to entry on the Chrome Platform Status >>> >>> https://chromestatus.com/feature/5811907077472256?gate=4580112537354240 >>> >>> Links to previous Intent discussions >>> >>> Intent to Prototype: >>> https://groups.google.com/a/chromium.org/g/blink-dev/c/r78IyGSnclg >>> >>> This intent message was generated by Chrome Platform Status >>> <https://chromestatus.com/>. >>> >>> -- > 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 [email protected]. > To view this discussion visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABqJGMcuTiXvh8oLozUJjvOnNx4YvphfbRsOjeSgDsieYK1S5g%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABqJGMcuTiXvh8oLozUJjvOnNx4YvphfbRsOjeSgDsieYK1S5g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9-9d_Mps0yJ_vnQaZY6jVFw%3DdrDYWR9DMB-C-PJ_tigA%40mail.gmail.com.
