Replace VoicingManager.speakIgnoringEnabled with a Property controlling speech
Nobody has claimed this yet.
Assessment
This issue has not been assessed yet.
Description
It is confusing that the voicingManager.enabledProperty can have a value of false but there can still be speech with speakIgnoringEnabled. A better way would be to provide a separate Property to control speech output while making it so that whenever voicingManager.enabledProperty is false there can be no speech. Here is some scratch illustrating the change we are thinking of.
Index: joist/js/audioManager.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/joist/js/audioManager.js b/joist/js/audioManager.js
--- a/joist/js/audioManager.js (revision ddcffa71993bd7e06725b30f5a394124e7cff693)
+++ b/joist/js/audioManager.js (date 1634927385639)
@@ -135,6 +135,7 @@
sim.isConstructionCompleteProperty,
sim.browserTabVisibleProperty,
sim.activeProperty,
+ this.simVoicingEnabledProperty, // passed to the PreferenceDialog, field on AudioManager
sim.isSettingPhetioStateProperty,
this.audioEnabledProperty
], ( simConstructionComplete, simVisible, simActive, simSettingPhetioState, audioEnabled ) => {
Index: scenery/js/accessibility/voicing/voicingManager.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/scenery/js/accessibility/voicing/voicingManager.js b/scenery/js/accessibility/voicing/voicingManager.js
--- a/scenery/js/accessibility/voicing/voicingManager.js (revision 414d8cf0bf3cdabc1a9c8e6eb6b7e091ae8369cf)
+++ b/scenery/js/accessibility/voicing/voicingManager.js (date 1634927277241)
@@ -382,8 +382,8 @@
*
* @param {Utterance} utterance
*/
- speakIgnoringEnabled( utterance ) {
- if ( this.initialized ) {
+ speakIgnoringSpeechAllowed( utterance ) {
+ if ( this.initialized && this.enabledProperty.value ) {
this.requestSpeech( utterance );
}
}
Likely related to https://github.com/phetsims/joist/issues/743 because that will determine where simVoicingEnabledProperty should live. COuld be on the AudioManager, but maybe it should be on a "PreferencesModel", whatever that ends up looking like.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from phetsims/utterance-queue
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
phetsims/utterance-queue#125 ·
-
phetsims/utterance-queue#122 · 2 comments · 1 assignee ·
-
phetsims/utterance-queue#121 · 1 assignee ·
-
Remove addToFront Open
phetsims/utterance-queue#120 · 1 assignee ·
-
dev:voicing type:i18n
Difficulty 5/5 Over a week Newbie friendliness 25/100
phetsims/utterance-queue#119 · 1 comment ·
All issues in phetsims/utterance-queue
Similar issues
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
Mend: dependency security vulnerability untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 70/100