Context Menu not accessible for low vision users who rely on zooming functionality
@dpvc is already working on this.
Since Feb 28, 2025.
- Dominant language
- JavaScript
- Stars
- 10.9k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
Issue Summary
The context menu sub menu positioning does not meet the WCAG 1.4.10 Reflow specification which is preventing consumers of this project from meeting accessibility standards.
I've also opened up a similar issue in the context-menu repo.
Steps to Reproduce:
- Load any MathJax equation that triggers the context menu
- Using the chrome debugger tools, set the viewport to 320x256
- Select the Desktop interaction from the "Device Type" menu so you can still right click and not use the tap functionality that it tries to simulate in the chrome debugger.
- Right click to bring up the context menu
- Observe that sub menus overlap the parent menu and obscure information
Expected behavior is that in narrower viewports the sub menus open up underneath the parent menu without any overlap and the user can still see all of the menu options in both the parent menu and sub menu.
I've provided additional demos of the bug as well as expected behavior in the Supporting Information section
Technical details:
- MathJax Version: 3.2
- Client OS: Sonoma 14.5
- Browser: Chrome 126.0.6478.127
I am using the following MathJax configuration:
MathJax = {
options: {
enableMenu: true,
renderActions: {
addMenu: [100000],
},
safeOptions: {
allow: {
URLs: 'none',
classes: 'none',
cssIDs: 'none',
styles: 'safe',
},
lengthMax: 2,
safeStyles: {},
styleLengths: {},
},
},
};
and loading MathJax via a webpack configuration from an npm module
Supporting information:
Example of non-overlap
This sub-menu component stacks the new sub menus vertically, while the user now needs to scroll to view the new menus there is no loss of information.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.