Hi, I'm Dhruvi Patel, a Google Summer of Code (GSoC) 2025 contributor with Wagtail CMS. Over the past few months, I’ve been working on the project “Enhancing Keyboard Shortcuts within the Wagtail System.” I’m now in the final stage of my project and would like to share the progress, challenges, and learnings along the way.
While working on an issue as a new contributor to Wagtail, I looked for existing keyboard shortcuts and found only a few. I noticed a need for more Wagtail-specific shortcuts, such as those for search, minimap, opening the shortcuts modal, side menu, and enabling search within the shortcuts dialog.
I also found a discussion on this from 2017 (#12050), which had remained in the backlog. So, apart from the original ideas list, I proposed this project.
In the initial phase of GSoC, we carried out in-depth research to decide which shortcuts should be added to Wagtail Admin. Our work aligned with:
We also studied how accessibility readers work to finalize the shortcuts. Based on our research, I implemented the following:
- Added a keyboard shortcut for the main menu and updated the keyboard controller to support targets – #12694
- Added a keyboard shortcut for the minimap – #13167
- Added a user account setting to disable custom single-key shortcuts – #13258
- Supported keyboard shortcut preferences for non-Stimulus shortcuts – #13313
- Added a shortcut to open the keyboard shortcuts dialog – #13329
- Added a shortcut to focus on the search bar – #13336
- Reorganized the keyboard shortcuts (awaiting review) – #13359
Points 1–3 have already been released in Wagtail 7.1, point 4 in Wagtail 7.1.1, and the remaining shortcuts will be part of an upcoming release.
- Information in the keyboard shortcuts dialog showing whether custom single-key shortcuts are enabled/disabled in user settings
- Search functionality in the keyboard shortcuts dialog
- Update to the Wagtail user guide for keyboard shortcuts
- Bug fixes related to older keyboard shortcut issues
The major challenge was deciding on shortcuts that follow WCAG guidelines while avoiding overlap with browser shortcuts. We performed a deep comparison of application shortcuts, browser shortcuts, and similar CMS shortcuts.
To prevent conflicts with default browser shortcuts, we opted for single-key shortcuts. To comply with WCAG SC 2.1.4: Character Key Shortcuts (Level A), which requires that single-key shortcuts must be disable-able, we introduced a user setting in Wagtail Admin to disable them.
This project taught me the value of patience and research-driven development, especially when shipping features that affect a wide user base. I also strengthened my technical skills in Mousetrap, Stimulus, and accessibility best practices, and gained deeper insights into the collaborative nature of open-source contributions.
My immediate goal is to complete the pending work and ensure a smooth merge into upcoming Wagtail releases. Beyond GSoC, I plan to stay actively involved with Wagtail, continue contributing to accessibility and other features, and support fellow contributors in the community.
I’m grateful for the support and guidance I’ve received throughout this project:
- My amazing mentors: Thibaud Colas and Scott Cranfill
- LB (Ben Johnston), for valuable feedback and thorough code reviews
- The Wagtail core team
Hello Dhruvi,
I came across your profile and noticed that you were selected for GSoC 2025 — congratulations on that achievement! 🎉
I’m planning to apply for GSoC 2026 and wanted to ask for some guidance. Could you please share how you approached your preparation and contribution phase? Specifically, I’d love to know:
How did you select your organization and project?
How did you approach and communicate with your mentor?
What kind of contributions or preparations did you do before the final proposal submission?
Any advice on building a good profile or standing out during the selection process?
I’d really appreciate any tips or resources that helped you during your journey.
Thanks a lot for your time and help!