phetsims / john-travoltage

"John Travoltage" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/john-travoltage
GNU General Public License v3.0
4 stars 8 forks source link

Arm can only swing 180 degrees with keyboard nav #433

Closed Nancy-Salpepi closed 3 years ago

Nancy-Salpepi commented 3 years ago

Test device MacBook Air (M1 chip)

Operating System 11.4

Browser chrome 91.0.4472.114

Problem description https://github.com/phetsims/qa/issues/676

When using the keyboard navigation, the arm can't be moved continuously around. It only be moved 180 degrees clockwise or counterclockwise from the doorknob, unlike when the mouse is used.

Steps to reproduce

  1. tab over to the arm
  2. use the up/down arrows to move the arm as far as you can

Visuals https://drive.google.com/file/d/1o2PdTCysnGOEiuY3H3j5tLJKJdHe66qk/view?usp=sharing

Troubleshooting information: !!!!! DO NOT EDIT !!!!! Name: ‪John Travoltage‬ URL: https://phet-dev.colorado.edu/html/john-travoltage/1.6.0-rc.1/phet/john-travoltage_all_phet.html Version: 1.6.0-rc.1 2021-07-22 18:05:38 UTC Features missing: applicationcache, applicationcache, touch Flags: pixelRatioScaling User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Language: en-US Window: 1262x687 Pixel Ratio: 2/1 WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium) GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit (WebKit WebGL) Vertex: attribs: 16 varying: 31 uniform: 1024 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 80) Max viewport: 16384x16384 OES_texture_float: true Dependencies JSON: {}

jessegreenberg commented 3 years ago

Thanks @Nancy-Salpepi - This is the desired behavior for keyboard input. If I recall correctly, the reason was that placing a limitation on the motion of keyboard movement made the interaction more intuitive for screen reader users because sliders (which the arm and leg use in the PDOM) have a clear min/max.