HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3IVyK6gx5pY0rMNZB0LWQ8wftxBF1Jd5pRgVYxFLec79AL13TwF1O0GA3CpeNKxzT1H
cache-control: public, max-age=3600
expires: Thu, 09 Oct 2025 18:28:11 GMT
last-modified: Thu, 09 Oct 2025 01:06:07 GMT
etag: W/"5e0690bc20fdffe2966131968579645d"
x-goog-generation: 1759971967787993
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 139964
x-goog-meta-goog-reserved-file-mtime: 1759970274
x-goog-hash: crc32c=bshCBw==, md5=XgaQvCD9/+KWYTGWhXlkXQ==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 72185c31d2bb0e333cc725f7da31e2a2
date: Thu, 09 Oct 2025 17:28:12 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
SpeechSynthesisEvent - Web APIs | MDN
SpeechSynthesisEvent()
Creates a new SpeechSynthesisEvent
.
The SpeechSynthesisEvent
interface also inherits properties from its parent interface, Event
.
SpeechSynthesisEvent.charIndex
Read only
Returns the index position of the character in the SpeechSynthesisUtterance.text
that was being spoken when the event was triggered.
SpeechSynthesisEvent.charLength
Read only
Returns the number of characters left to be spoken after the charIndex
position, if the speaking engine supports it. Returns 0 if the speaking engine can't provide the information.
SpeechSynthesisEvent.elapsedTime
Read only
Returns the elapsed time in seconds after the SpeechSynthesisUtterance.text
started being spoken that the event was triggered at.
SpeechSynthesisEvent.name
Read only
Returns the name associated with certain types of events occurring as the SpeechSynthesisUtterance.text
is being spoken: the name of the SSML marker reached in the case of a mark
event, or the type of boundary reached in the case of a boundary
event.
SpeechSynthesisEvent.utterance
Read only
Returns the SpeechSynthesisUtterance
instance that the event was triggered on.
The SpeechSynthesisEvent
interface also inherits methods from its parent interface, Event
.
utterThis.onpause = (event) => {
const char = event.utterance.text.charAt(event.charIndex);
console.log(
`Speech paused at character ${event.charIndex} of "${event.utterance.text}", which is "${char}".`,
);
};
utterThis.onboundary = (event) => {
console.log(
`${event.name} boundary reached after ${event.elapsedTime} seconds.`,
);
};