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.

Reply via email to