Skip to content

Conversation

@kmcnaught
Copy link

When MakeCode is embedded in assistive technology apps like Grid 3, page navigation within the AT app causes visibilitychange events that were triggering runSimulator() which calls beforeCompile(), closing any open field editors and causing users to lose their current state or in-progress edits.

For example, when you pull up a full QWERTY keyboard to type into a text field, you need to change the 'page' in Grid 3, which calls visibilitychange. Previously this resulted in losing your 'in-edit' status and makes navigation a lot harder. If you need a multi-page QWERTY keyboard (with larger targets and fewer letters per page) then it becomes almost impossible to type into the text field since you keep losing edit focus (and then accidentally triggering single character shortcuts!)

With this change, we use background: true when resuming the simulator after a visibility change, which prevents the call to beforeCompile() and keeps our 'in-edit' state.

This change fixes #11022.

When MakeCode is embedded in assistive technology apps like Grid 3,
page navigation within the AT app causes visibilitychange events that
were triggering runSimulator() which calls beforeCompile(), closing
any open field editors and causing users to lose their current state
or in-progress edits.

For example, when you pull up a full QWERTY keyboard to type into a
text field, you need to change the 'page' in Grid 3, which calls
visibilitychange. Previously this resulted in losing your 'in-edit'
status and makes navigation a lot harder. If you need a multi-page
QWERTY keyboard (with larger targets and fewer letters per page) then
it becomes almost impossible to type into the text field since you
keep losing edit focus (and then accidentally triggering single
character shortcuts!)

With this change, we use `background: true` when resuming the simulator
after a visibility change, which prevents the call to beforeCompile()
and keeps our 'in-edit' state.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Field editors are force-closed by an irrelevant visibility change in assistive tech browser.

1 participant