phetsims / molecule-shapes

"Molecule Shapes" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/molecule-shapes
GNU General Public License v3.0
5 stars 6 forks source link

Unable to Hide Subset of Preferences Tabs #230

Closed Nancy-Salpepi closed 2 years ago

Nancy-Salpepi commented 2 years ago

Test device MacBook Air (m1 chip)

Operating System macOS 12.6

Browser safari 16

Problem description For https://github.com/phetsims/qa/issues/844, in the PhET-iO guide it says the audio tab can be hidden from the preferences menu using moleculeShapes.general.view.navigationBar.preferencesButton.preferencesDialogCapsule.preferencesDialog.preferencesTabs.audioTab.visibleProperty but it isn't in the tree (there is no sound).

This is the same issue as https://github.com/phetsims/gravity-and-orbits/issues/465

Nancy-Salpepi commented 2 years ago

Also, these elements are in the tree, but changing the value doesn't do anything (since there is no sound). Seems a bit confusing.

Nancy-Salpepi commented 2 years ago

I updated my original issue above to no longer include the locale tab (I forgot to open the dialog!).

arouinfar commented 2 years ago

Thanks @Nancy-Salpepi. The PhET-iO Guide is a single document that is shared with every PhET-iO sim. During a build, we can swap things out like the simulation name in the example phetioIDs but we cannot conditionally show/hide sections of the documentation.

This can be complicated when describing Preferences, because not every sim supports all Preferences. Technically, the properties like audioEnabledProperty always exist, but they don't necessarily do anything.

We've tried communicating this by stating, "Not all Preferences features are applicable to all simulations." near the top of the Preferences section and encouraging clients to check the preferencesModel to see which preferences are supported. I've also edited the section headings to include "if sound is supported" as a reminder to clients when reading the guide, see above commit.

I went with "sound" over "audio" here because there is something called supportsSound in the preferencesModel. It's a simplification because audio includes supportsVoicing too, but realistically there won't be any PhET-iO sims with Voicing that don't at least also include UI sounds, so referring to it as "sound" in this way seems reasonable.