Improving Keyboard Accessibility and Navigation in Data Grid 2 – Need Help
0
Hi Community, We're enhancing the keyboard accessibility of our Mendix app and need guidance on implementing several features to improve usability — especially for power users who rely heavily on keyboard navigation. Here’s a screenshot of our current setup (Data Grid 2 with column filters and toolbar): Goals for the Next Release (Accessibility Enhancements) Initial Focus on First Input Automatically focus the first search filter in the Data Grid when the page loads — or, if not present, focus the first writable input or button. Tab Sequence Consistency Ensure that tabbing follows a left-to-right, top-to-bottom flow. On detail pages with two-column layouts, we'd like the focus to move through the left column fully before the right column, as it currently works. Submenu Navigation We'd like users to navigate top menus and submenus (like Admin/Data/Views) using arrow keys or other keyboard methods rather than relying only on Tab and mouse. Column Picker ("Eye" Icon) Accessibility Improve keyboard accessibility for the Column Picker in the Data Grid (accessed via the “eye” icon). Users should ideally be able to open and navigate the column list using arrow keys, without relying solely on Tab and the mouse. Enter Key to Jump from Search to Grid Enable pressing Enter in a search field to jump focus directly into the result table (first row or grid body). F10 Shortcut for Top Menu Implement a shortcut (e.g., F10) to jump to the first top-level menu item (ideally “Data”). Also planning to reorder the top menus to: Data → Views → Admin, for better consistency. Questions: Are there any modules, widgets, or best practices in Mendix to support these accessibility improvements? For the Data Grid 2, can the column picker be made more accessible with built-in options or via JavaScript? Would we need to use JavaScript snippets or pluggable widgets to accomplish some of these goals? We’re looking to create a smoother, keyboard-friendly experience without compromising performance or maintainability. Any help or recommendations would be greatly appreciated! Thanks,