diff --git a/js/browser/initialize-globals.js b/js/browser/initialize-globals.js index 9c1810fc..1f7684d9 100644 --- a/js/browser/initialize-globals.js +++ b/js/browser/initialize-globals.js @@ -733,6 +733,19 @@ defaultValue: !!packageSimFeatures.supportsVoicing }, + /** + * Controls whether Tier 1 Voicing is enabled. This is a subset of the Voicing feature, the Voicing toolbar, + * name responses, and hint responses are all avialable. Context and Object responses are disabled and cannot + * be enabled from the Preferences dialog. + * + * This feature is enabled by default when supportsTier1Voicing is true in package.json. The query parameter will always + * override the package.json entry. + */ + supportsTier1Voicing: { + type: 'boolean', + defaultValue: !!packageSimFeatures.supportsTier1Voicing + }, + /** * Switches the Vello rendering of Text to use Swash (with embedded fonts), instead of Canvas. * @@ -966,6 +979,11 @@ window.phet.chipper.queryParameters.fuzzBoard ); + window.phet.chipper.supportsAnyVoicing = () => { + return window.phet.chipper.queryParameters.supportsVoicing || + window.phet.chipper.queryParameters.supportsTier1Voicing; + }; + // Add a log function that displays messages to the console. Examples: // phet.log && phet.log( 'You win!' ); // phet.log && phet.log( 'You lose', { color: 'red' } ); @@ -1261,6 +1279,7 @@ const simFeaturesSchema = { supportsInteractiveDescription: { type: 'boolean' }, supportsVoicing: { type: 'boolean' }, + supportsTier1Voicing: { type: 'boolean' }, supportsInteractiveHighlights: { type: 'boolean' }, supportsDescriptionPlugin: { type: 'boolean' }, supportsSound: { type: 'boolean' },