Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NVDA says "Slider, invalid entry" when ratio is locked #535

Closed
Tracked by #863
KatieWoe opened this issue Nov 21, 2022 · 7 comments
Closed
Tracked by #863

NVDA says "Slider, invalid entry" when ratio is locked #535

KatieWoe opened this issue Nov 21, 2022 · 7 comments
Labels

Comments

@KatieWoe
Copy link
Contributor

Test device
Dell
Operating System
Win 11
Browser
Firefox + NVDA
Problem description
For phetsims/qa#852
When NVDA reads out the slider for the hand, it may say that the slider is invalid. I've only seen this so far when the ratio is locked on the second screen.

Troubleshooting information:

!!!!! DO NOT EDIT !!!!!
Name: ‪Ratio and Proportion‬
URL: https://phet-dev.colorado.edu/html/ratio-and-proportion/1.2.0-rc.1/phet/ratio-and-proportion_all_phet.html
Version: 1.2.0-rc.1 2022-11-11 22:40:36 UTC
Features missing: touch
Flags: pixelRatioScaling
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Language: en-US
Window: 1280x667
Pixel Ratio: 1.5/1
WebGL: WebGL 1.0
GLSL: WebGL GLSL ES 1.0
Vendor: Mozilla (ANGLE (Intel, Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0))
Vertex: attribs: 16 varying: 30 uniform: 4096
Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32)
Max viewport: 32767x32767
OES_texture_float: true
Dependencies JSON: {}

@KatieWoe KatieWoe added the type:bug Something isn't working label Nov 21, 2022
@zepumph
Copy link
Member

zepumph commented Nov 24, 2022

I have not yet been able to reproduce this. At first I thought it may be another case of a Property leaking into a PDOM attribute value, but I manually passed a Property and it didn't care at all.

@KatieWoe can you please try to reproduce in the debug version, or on master. I would like to see if there are any assertions when it happens. If there are not, and it continues to be hard to reproduce, then I believe it may just be an NVDA quirk, and a challenge to make more progress on. Thanks!

@zepumph zepumph assigned KatieWoe and unassigned zepumph Nov 24, 2022
@KatieWoe
Copy link
Contributor Author

It happens both on master and in the debug version, and I did not see any errors. Let me know if you want to pair on this.

@KatieWoe
Copy link
Contributor Author

Here's a video of the bug:

IMG_4505.MOV

@zepumph
Copy link
Member

zepumph commented Nov 30, 2022

Thanks. That is great. I can easily reproduce in firefox and I cannot get this in chrome.

I wondered if it was because of the hair spaces we put after repeating aria-valuetext in AccessibleValueHandler, but removing those did nothing.

I also found https://stackoverflow.com/questions/20386266/how-to-prevent-jaws-from-saying-invalid-entry-on-required-fields which made it seem like it was because of required form fields, but that doesn't apply to us and our code has no required attributes.

@zepumph
Copy link
Member

zepumph commented Nov 30, 2022

Aha! looks like this is the culprit

// Use the same value as the no-success region threshold. This cannot be the same as the no-success threshold though
// because that threshold value, by definition, will unlock the ratio, see https://github.com/phetsims/ratio-and-proportion/issues/257#issuecomment-748285667
const LOCK_RATIO_RANGE_MIN = rapConstants.NO_SUCCESS_VALUE_THRESHOLD + Number.EPSILON;

Firefox+NVDA didn't like that the slider step didn't evenly go into the min and max. I could adjust this by decreasing the threshold constant by EPSILON so that the range matches the step.

@zepumph
Copy link
Member

zepumph commented Dec 5, 2022

Done and ready for confirmation in next version. ( I only cherry picked 8641054)

@KatieWoe
Copy link
Contributor Author

KatieWoe commented Dec 7, 2022

Looks fixed in rc.2

@KatieWoe KatieWoe closed this as completed Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants