-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
speech-api/SpeechSynthesis-speak-ownership.html is incomplete; renders inaccurate results; should be removed from WPT pending specification clarification [type:untestable] #23097
Comments
…nership" of a SpeechSynthesisUtterance Fixes web-platform-tests#23097
Re the current ambiguity of language in the current Web Speech API specification, and why it is presently impossible to refer to that draft or specification for clarity at the primary source document, consider
and
where the term the is used, dissimilar from language at
which does not in implementation occur at Chromium, as there is really only one To demonstrate, we can reverse the order of execution for some parts of the code, to execute
where the result at Chromium 84 is neither outputs audio: there is evidently only one The question is Chromium implementation in conformance or not in conformance with the Web Speech API specification re "ownership" of a What section of the Web Speech API specification unambiguously verifies Chromium allowing an In the above case, how did the re "ownership" is there the queue or multiple queues; one Are the answers immediately clear at the current language of the specification? |
For completeness, to check the possibility of Chromium actually following the specification, not outputting audio because the implementation somehow, without reference thereto at the specification, is recognizing
which still does not output audio. Is Firefox implementation not in conformance for outputting audio at Due to the above unanswered questions testing for "ownership" of a |
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: e797ade7daf3bdd783f829c36190e6d13f6d6438
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: f478b06a1f1be1b03dd39da5fa0a41077d66b9ae
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: e797ade7daf3bdd783f829c36190e6d13f6d6438
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: f478b06a1f1be1b03dd39da5fa0a41077d66b9ae
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: e797ade7daf3bdd783f829c36190e6d13f6d6438
…e is not defined by the specification, a=testonly Automatic update from web-platform-tests The specification does not define the concept of or algorithm for "ownership" of a SpeechSynthesisUtterance (#23098) Fixes web-platform-tests/wpt#23097 -- wpt-commits: a12b280bc38ae366807ad9324e1a6fc3d8b5e82e wpt-pr: 23098 UltraBlame original commit: f478b06a1f1be1b03dd39da5fa0a41077d66b9ae
https://github.com/web-platform-tests/wpt/blob/master/speech-api/SpeechSynthesis-speak-ownership.html links to WICG/speech-api#8 which does not settle at all precisely what the concept of "ownership" is in the Web Speech API specification, where the term used exactly once
with no accompanying definition of the term or algorithm clearly describing how "ownership" is set or thereafter verified programmatically.
The language used is should throw an exception, not MUST throw an exception.
Nor is there any explanation as to why an exception "should" be thrown in that case.
In practice, it is possible to differentiate
speechSynthesis
instances, depending on the implementation, not the specification, becausespeechSynthesis.speak()
calls could be added to the same global queue, if, for example, the implementer routes allspeak()
calls to a single local speech synthesis socket connection application (for the browsers where a speech synthesis engine is not shipped by default with the source code, e.g., Chromium), where it is possible to callcancel()
at a differentwindow
from a closedwindow
that initiated aspeak()
call and thereby clear the queue in the socket connection for all pendingspeak()
call, for everywindow
: there is limited consistency at implementations because the specification is ambiguous in certain locations. The specification does not state that callingcancel()
should only affect a single queuenote the singular the queue.
For example, if
speechSynthesis.pause()
is executed at Chromium before callingspeak()
, neitheriframe.contentWindow.speak()
norspeechSynthesis.speak()
will output audio,iframe.contentWindow.speechSynthesis.pending
andspeechSynthesis
will always befalse
. Nightly does output audio foriframe.contentWindow.speak()
(because that "instance" ofspeechSynthesis
was not paused) and setsspeechSynthesis.pending
totrue
.The test will always fail because there is no documentation or algorithm or implementation of the concept of "ownership" of a
SpeechSynthesisUtterance
object resulting inthrew
always beingfalse
, which means the test results are inaccurate: What specific language in the specification is the current test relying on for how to determine "ownership" of aSpeechSynthesisUtterance
by a particular call or reference tospeechSynthesis
, and exactly how is that verification done in the test?Presently, it is impossible to programmatically determine the "ownership" of a
SpeechSynthesisUtterance
instance because no such concept exists in practice. Therefore, the test, is incomplete and inaccurate, and without clarity in the specification, should be removed from the WPT tests until the specification is clear, as it is currently impossible to verify "ownership" of aSpeechSynthesisUtterance
instance relying solely on the language in the specification.The text was updated successfully, but these errors were encountered: