Skip to content

Toggle virtual keyboard and Menu buttons should be activated on up-event #2927

@marcobaez-zybooks

Description

@marcobaez-zybooks

Description

The Toggle virtual keyboard and Menu buttons should not be using a down event listener and should instead use an up event listener.

As seen here in the W3C Recommendation down events should not be used for accessibility reasons:

Image

Steps to Reproduce

  1. Find MathLive
  2. Notice that Toggle virtual keyboard and Menu buttons have down event listeners

Actual Behavior

Virtual keyboard happens on the "down" event (for instance when the mouse button is pressed but not released - i.e. on mousedown rather than on mouseup or click - or when a finger touches the touchscreen - i.e. ontouchstart rather than ontouchend or click), unless this control is exempt ("down" activation is deemed essential)

Expected Behavior

Verify that activation does not happen on the "down" event (for instance when the mouse button is pressed but not released - i.e. on mousedown rather than on mouseup or click - or when a finger touches the touchscreen - i.e. ontouchstart rather than ontouchend or click), unless this control is exempt ("down" activation is deemed essential)

If activation happens on the "down" event, verify that the "up" event reverses this action

If activation happens on the "up" event, check that there's a way for a user to bail out of executing the action if they've already performed an (accidental) "down" on the control (e.g. if the user pressed the mouse button down, they can move their pointer away from the control before releasing the mouse button, and this won't trigger the action on the control)

If activation happens on the "up" event, and there is no way for a user to bail out between the down-event and the up-event, verify that the action can be easily reversed after it completed

Environment

This is not a regression and effects all MathLive versions, all browsers and OSs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions