Skip to content

Commit

Permalink
Alerter testing, see phetsims/joist#941
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanolson committed Nov 16, 2023
1 parent fad3b31 commit eefd2d0
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 12 deletions.
1 change: 1 addition & 0 deletions js/density-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import DensityDescriptionStrings_en from './description/density-description-stri
import DensityDescriptionStrings_es from './description/density-description-strings_es.js'; // eslint-disable-line default-import-match-filename
import DensityDescriptionLogic from './description/density-description-logic.js'; // eslint-disable-line default-import-match-filename
import DescriptionContext from '../../joist/js/DescriptionContext.js';
import '../../scenery-phet/js/accessibility/describers/Alerter.js';

const simOptions: SimOptions = {
credits: {
Expand Down
32 changes: 29 additions & 3 deletions js/description/density-description-logic.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,30 @@ export default () => phet.joist.DescriptionContext.registerLogic( {
if ( introScreen ) {
const introScreenView = context.get( 'density.introScreen.view' );

const alerter = new phet.sceneryPhet.Alerter( {
alertToVoicing: false,
descriptionAlertNode: introScreenView
} );

const blockA = context.get( 'density.introScreen.model.blocks.blockA' );
const blockB = context.get( 'density.introScreen.model.blocks.blockB' );

[ blockA, blockB ].forEach( block => {
const isBlockA = block === blockA;

// const blockUtterance = new phet.utteranceQueue.Utterance( {
//
// } );

context.lazyLink( block.visibleProperty, isVisible => {
alerter.alert( strings.blockVisibilityAlert( isBlockA, isVisible ) );
} );
context.lazyLink( block.userControlledProperty, userControlled => {
alerter.alert( strings.blockUserControlledAlert( isBlockA, userControlled ) );
} );
} );


const simStateDescriptionNode = new phet.scenery.Node( {
tagName: 'p'
} );
Expand All @@ -30,11 +54,13 @@ export default () => phet.joist.DescriptionContext.registerLogic( {
]
} ) );

const modeProperty = context.get( 'density.introScreen.model.modeProperty' );

context.link( modeProperty, mode => {
context.link( context.get( 'density.introScreen.model.modeProperty' ), mode => {
simStateDescriptionNode.innerContent = strings.screenSummarySimStateDescription( mode.toString() );
} );

// context.lazyLink( context.get( 'density.introScreen.model.modeProperty' ), mode => {
// alerter.alert( mode.toString() === 'ONE_BLOCK' ? strings.oneBlockAlert() : strings.twoBlockAlert() );
// } );
}
},
added( tandemID, obj ) {
Expand Down
16 changes: 7 additions & 9 deletions js/description/density-description-strings_en.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@ export default () => phet.joist.DescriptionContext.registerStrings( {
screenSummarySimStateDescription(
blockMode
) {
if ( blockMode.toString() === 'ONE_BLOCK' ) {
return 'We have one block';
}
else if ( blockMode.toString() === 'TWO_BLOCKS' ) {
return 'We have two blocks';
}
else {
throw new Error();
}
return `There ${blockMode === 'ONE_BLOCK' ? 'is one block' : 'are two blocks'}.`;
},
blockVisibilityAlert( isBlockA, isVisible ) {
return `Block ${isBlockA ? 'A' : 'B'} ${isVisible ? 'added' : 'removed'}`;
},
blockUserControlledAlert( isBlockA, isUserControlled ) {
return `${isUserControlled ? 'Grabbed' : 'Dropped'} block ${isBlockA ? 'A' : 'B'}`;
}
} );

0 comments on commit eefd2d0

Please sign in to comment.