From ceeb437fa533aea395c36f082b56bc72dcab8634 Mon Sep 17 00:00:00 2001 From: Evan Liu Date: Tue, 28 Apr 2026 11:21:18 -0700 Subject: [PATCH 1/2] Add quality level hint to SpeechRecognitionOptions --- index.bs | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/index.bs b/index.bs index b28088a..40c2894 100644 --- a/index.bs +++ b/index.bs @@ -202,9 +202,16 @@ interface SpeechRecognition : EventTarget { attribute EventHandler onend; }; +enum SpeechRecognitionQuality { + "command", + "dictation", + "conversation" +}; + dictionary SpeechRecognitionOptions { required sequence langs; boolean processLocally = false; + SpeechRecognitionQuality quality = "command"; }; enum SpeechRecognitionErrorCode { @@ -389,7 +396,7 @@ See [=default allowlist/'self'=]. When invoked, run these steps: @@ -400,7 +407,7 @@ See lang in {{SpeechRecognitionOptions/langs}} of options is not a valid [[!BCP47]] language tag, throw a {{SyntaxError}} and abort these steps. 1. If the on-device speech recognition language pack for any lang in {{SpeechRecognitionOptions/langs}} of options is unsupported, return a resolved {{Promise}} with false and skip the rest of these steps. 1. Let promise be a new promise. - 1. For each lang in {{SpeechRecognitionOptions/langs}} of options, initiate the download of the on-device speech recognition language for lang. + 1. For each lang in {{SpeechRecognitionOptions/langs}} of options, initiate the download of the on-device speech recognition language pack for lang matching the requested {{SpeechRecognitionOptions/quality}} level floor.

Note: The user agent can prompt the user for explicit permission to download the on-device speech recognition language pack.

@@ -448,6 +455,19 @@ See SpeechRecognitionQuality Enum Values +

The {{SpeechRecognitionQuality}} enum indicates the semantic capability and quality level floor requested for the speech recognition model. Its values are:

+
+
"command"
+
Level 1: Short phrases, single speaker, limited vocabulary (e.g., voice commands for smart home or simple apps).
+ +
"dictation"
+
Level 2: Continuous speech, moderate background noise, single primary speaker (e.g., long-form text input like SMS/Email).
+ +
"conversation"
+
Level 3: Multi-speaker, complex vocabulary, high noise tolerance (e.g., meeting transcripts and continuous captioning).
+
+

When the availability algorithm with options and promise is invoked, the user agent MUST run the following steps: 1. If the [=current settings object=]'s [=relevant global object=]'s [=associated Document=] is NOT [=fully active=], throw an {{InvalidStateError}} and abort these steps. 1. Let langs be {{SpeechRecognitionOptions/langs}} of options. @@ -1274,14 +1294,14 @@ These events do not bubble and are not cancelable.

Acknowledgments

- Adam Sobieski (Phoster) - Björn Bringert (Google) + Adam Sobiesieski (Phoster) + Bj\C3\B6rn Bringert (Google) Charles Pritchard Dominic Mazzoni (Google) Gerardo Capiel (Benetech) Jerry Carter Kagami Sascha Rosylight - Marcos Cáceres (Mozilla) + Marcos C\C3\A1ceres (Mozilla) Nagesh Kharidi (Openstream) Olli Pettay (Mozilla) Peter Beverloo (Google) @@ -1289,4 +1309,4 @@ These events do not bubble and are not cancelable. Satish Sampath (Google)

-

Also, the members of the HTML Speech Incubator Group, and the corresponding [[HTMLSPEECH|Final Report]], which created the basis for this specification.

+

Also, the members of the HTML Speech Incubator Group, and the corresponding [[HTMLSPEECH|Final Report]], which created the basis for this specification.

\ No newline at end of file From c1025b2a511ba24d3aac1768d852c7c179f27546 Mon Sep 17 00:00:00 2001 From: Evan Liu Date: Tue, 28 Apr 2026 11:24:20 -0700 Subject: [PATCH 2/2] Fix encoding issues in acknowledgments section --- index.bs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.bs b/index.bs index 40c2894..5055872 100644 --- a/index.bs +++ b/index.bs @@ -1294,14 +1294,14 @@ These events do not bubble and are not cancelable.

Acknowledgments

- Adam Sobiesieski (Phoster) - Bj\C3\B6rn Bringert (Google) + Adam Sobieski (Phoster) + Björn Bringert (Google) Charles Pritchard Dominic Mazzoni (Google) Gerardo Capiel (Benetech) Jerry Carter Kagami Sascha Rosylight - Marcos C\C3\A1ceres (Mozilla) + Marcos Cáceres (Mozilla) Nagesh Kharidi (Openstream) Olli Pettay (Mozilla) Peter Beverloo (Google) @@ -1309,4 +1309,4 @@ These events do not bubble and are not cancelable. Satish Sampath (Google)

-

Also, the members of the HTML Speech Incubator Group, and the corresponding [[HTMLSPEECH|Final Report]], which created the basis for this specification.

\ No newline at end of file +

Also, the members of the HTML Speech Incubator Group, and the corresponding [[HTMLSPEECH|Final Report]], which created the basis for this specification.