phetsims / fourier-making-waves

"Fourier: Making Waves" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
6 stars 3 forks source link

Focus traversal does not include Amplitude value displays. #197

Closed pixelzoom closed 2 years ago

pixelzoom commented 2 years ago

For phetsims/qa#711

@Nancy-Salpepi reported this in https://github.com/phetsims/fourier-making-waves/issues/194, and I moved it here because it's (mostly) a new topic:

@pixelzoom I am noticing that keyboard nav doesn't allow me to tab to those amplitude boxes at all. Once I am in them, keyboard nav works, but shouldn't I be able to access them without a mouse?

... where "those amplitude boxes" is referring to the row of NumberDisplays above the amplitude sliders in the Discrete and Wave Game screens.

pixelzoom commented 2 years ago

In https://github.com/phetsims/fourier-making-waves/issues/53#issuecomment-820763082 (Alternative Input support), we explicitly decided to omit the amplitude NumberDisplays from focus traversal:

4/15/21 design meeting:

@Kathy would like to proceed with:

  • Include only interactive UI components in the traversal order
  • Ignore the amplitude NumberDisplays and keypad

I recall 3 reasons for this decision:

(1) The Keypad is a common-code component, and needs focus traversal work. @kathy-phet didn't feel that we had the resources for that at this time.

(2) Tabbing through 11 sliders and 11 NumberDisplays would take you forever to get to the control panel.

(3) Using the keypad is not strictly necessary to successfully use the sim. In the Wave Game in particular, all challenges are generated with amplitudes in 0.1 intervals, which can be entered via the sliders.

We expect to circle back to the amplitude NumberDisplays someday, but not for 1.0. So there's nothing to do here.

@arouinfar if I summarized that correctly, please feel free to close.

pixelzoom commented 2 years ago

Oops, I accidentally closed this (thanks @Nancy-Salpepi).

@arouinfar please confirm and close.

arouinfar commented 2 years ago

@Nancy-Salpepi this is definitely the type of thing to look for when testing keyboard nav. However, in this particular case, it was an explicit decision not to include the NumberDisplays in the focus order.

@pixelzoom summarized the reasons nicely. I completely agree and have added my comments below.

(1) The Keypad is a common-code component, and needs focus traversal work. @kathy-phet didn't feel that we had the resources for that at this time.

The Keypad is traversable, but a better keyboard experience would be to allow users to type in the values directly which goes beyond the scope of this sim.

(2) Tabbing through 11 sliders and 11 NumberDisplays would take you forever to get to the control panel.

Agreed, adding an extra 11 NumberDisplays to the traversal order would be cumbersome for users.

(3) Using the keypad is not strictly necessary to successfully use the sim. In the Wave Game in particular, all challenges are generated with amplitudes in 0.1 intervals, which can be entered via the sliders.

With the shift and page up/down modifiers, keyboard access of the sliders can be very efficient and precise. It takes less time than tabbing around the keypad to enter numbers, too.