Botframework-emulator: Emulator should consistently use the Speak property

Created on 15 Jul 2019  路  2Comments  路  Source: microsoft/BotFramework-Emulator

Per the documentation on the Speak property (copied below), we should make sure that the Emulator is honoring the property correctly.

Notably:

  • When the property has a value, it should be used
  • When the property value is null, Speak should use the Text value
  • When the property is an empty string, the property value can be ignored.

But here is the full documentation to follow:

Speak
The speak field indicates how the activity should be spoken via a text-to-speech system. The field is only used to customize speech rendering when the default is deemed inadequate. It replaces speech synthesis for any content within the activity, including text, attachments, and summaries. The value of the speak field is SSML [7] encoded within a string. Unwrapped text is allowed and is automatically upgraded to bare SSML.
A3030: The speak field MAY contain an empty string to indicate no speech should be generated.
A3031: Receivers unable to generate speech SHOULD ignore the speak field.
A3032: If no root SSML element is found, receivers MUST consider the included text to be the inner content of an SSML tag, prefaced with a valid XML Prolog [8], and otherwise upgraded to be a valid SSML document.
A3033: Receivers SHOULD NOT use XML DTD or schema resolution to include remote resources from outside the communicated XML fragment.
A3034: Channels SHOULD NOT send the speak field to bots.
A3035: Receivers generating speech from an Activity with a missing or null speak field SHOULD render message contents such as text and summary instead.

Bug R8

All 2 comments

Tagging https://github.com/microsoft/BotFramework-WebChat/issues/2181 which should close this issue when completed

Tested this on webchat and emulator. This ticket can be safely closed as it satisfies the three conditions

When the property has a value, it should be used
When the property value is null, Speak should use the Text value
When the property is an empty string, the property value can be ignored.

Was this page helpful?
0 / 5 - 0 ratings