Errata in the Web Speech API Specification

This document is no longer maintained. Please refer to to the commit history for changes.

This document last updated:
June 6, 2014
A draft of the specification with these errata applied is at:
This document records known errors in the document:
Please email error reports to:
public-speech-api@w3.org (Public archive)

E01 2012-11-30 (Clarification):
Section 6.1 Example 4: recognition.interim should be recognition.interimResults.
E02 2012-12-07 (Important):
Rename final attribute to isFinal because final is a reserved word. Specifically:
Section 5.1 IDL: SpeechRecognitionResult "readonly attribute boolean final" should be "readonly attribute boolean isFinal"
Section 5.1.6 "final attribute" should be "isFinal attribute"
Section 6.1 Examples 3 and 4: should be event.results[i].isFinal
E03 2013-02-04 (Important):
Section 5.1.8 SpeechRecognitionEvent: emma attribute: "with EMMA namespace" should be "with EMMA namespace, or if the recognizer does not supply EMMA then the user agent may return null".
E04 2013-02-04 (Important):
Section 5.1 IDL: Remove "interface SpeechRecognitionResultList { ... }".
Section 5.1 IDL: "readonly attribute SpeechRecognitionResultList results;" should be "readonly attribute sequence<SpeechRecognitionResult> results".
E05 2013-02-04 (Important):
Section 5.2 IDL: Remove "interface SpeechSynthesisVoiceList { ... }".
Section 5.2 IDL: "SpeechSynthesisVoiceList getVoices();" should be "sequence<SpeechSynthesisVoice> getVoices();".
E06 2013-02-25 (Important):
E04 is deleted.
E07 2013-02-25 (Important):
Section 5.2 IDL: SpeechSynthesisUtterance "attribute DOMString voiceURI" should be "attribute SpeechSynthesisVoice voice".
Section 5.2.3 SpeechSynthesisUtterance Attributes: "voiceURI attribute" should be "voice attribute", with the following definition:
Section 5.2.6 SpeechSynthesisVoice: voiceURI attribute: "as described in the SpeechSynthesisUtterance voiceURI attribute" should be "either through use of a URN with meaning to the user agent or by specifying a URL that the user agent recognizes as a local service."
E08 2013-03-22 (Important):
Section 5.2 IDL: "interface SpeechSynthesis" should be "interface SpeechSynthesis : EventTarget".
Section 5.2 IDL: "readonly attribute SpeechSynthesisUtterance utterance;" is added to "interface SpeechSynthesisEvent : Event".
Section 5.2.4 SpeechSynthesisUtterance Events: Add the sentence: "These events bubble up to SpeechSynthesis."
Section 5.2.5 SpeechSynthesisEvent Attributes: Add the following definition:
E09 2013-09-24 (Clarification):
Section 6.2 Example 1: "speechSynthesis.speak(SpeechSynthesisUtterance('Hello World'));" should be "speechSynthesis.speak(new SpeechSynthesisUtterance('Hello World'));"
E10 2013-09-24 (Important):
Section 5.2.2 speak method: append at the end of the definition:
E11 2013-10-17 (Important):
Section 5.2 IDL: "attribute EventHandler onvoiceschanged;" is added to "interface SpeechSynthesis : EventTarget".
Section 5.2.2 getVoices method: append at the end of the definition:
New "Section SpeechSynthesis Events" is created and contains:
E12 2013-10-17 (Important):
Section 5.2 IDL: Add the following:
    interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {
        enum ErrorCode {

        readonly attribute ErrorCode error;
Section 5.2.4 SpeechSynthesisUtterance Events: change first sentence to:
New "Section SpeechSynthesisErrorEvent Attributes" is added and contains:
E13 2013-11-06 (Important):
Section 5.1.1 and Section 5.2.3: Replace the misspelled "hierachy" with the word "hierarchy".
E14 2013-11-06 (Important):
Section 4 Bullet 4: Delete the following sentence:
E15 2013-11-06 (Important):
Section 5.1.3: soundstart event: append at the end of the definition:
Section 5.1.3: speechstart event: append at the end of the definition:
Section 5.1.3: onresult event: append at the end of the definition:
Section 5.1.3: nomatch event: append at the end of the definition:
Section 5.1.3: speechend event: replace the word "fire" with "fired".
E16 2014-06-06 (Clarification):
Section 6.1 Example 3: "resultIndex" should be "event.resultIndex".