GSoC 2026 Proposal Draft: Keyboard Shortcuts & Accessibility in Django Admin

Hi everyone,

I’m Prachi Singh, and I’d like to propose a GSoC 2026 project around
merging keyboard shortcuts into Django core and improving admin accessibility.

Background

I’ve been actively contributing to django-admin-keyshortcuts, the package
built during GSoC 2025 by @khanxmetu. My contributions so far:

  • PR #14 – Enter shortcut to open focused row in changelist (fixes issue #5)
  • PR #15 – Fix shortcuts not triggering when form fields are focused (fixes issue #2)
  • PR #16 – Normalize shortcuts for non-US keyboard layouts (fixes issue #3)
  • Added CI/CD with GitHub Actions (Python 3.9–3.13, Django 4.2–5.2 matrix, ESLint, Selenium)
  • Improved accessibility: ARIA attributes (aria-labelledby, role=“switch”,
    aria-live for screen reader announcements), focus management on dialog close

All PRs and code can be found on my GitHub: GitHub - prachisingh342006/django-admin-keyshortcuts: Keyboard shortcuts for Django Admin · GitHub

Proposed GSoC 2026 Project (350hr)

Goal: Bring keyboard shortcuts into django.contrib.admin as a first-class,
accessible, and configurable feature.

Deliverables

  1. Merge shortcuts into Django core – Port the keyboard shortcut system
    (hotkey library, templates, JS, CSS) into django/contrib/admin/
  2. Django settings for configurability – Allow developers to enable/disable
    shortcuts globally or per-view, override default keybindings, and control
    default on/off state
  3. WCAG 2.1 AA compliance – Full accessibility audit, proper ARIA roles,
    keyboard trap prevention, screen reader support
  4. Comprehensive test suite – Unit tests + Selenium/Playwright browser tests
    integrated into Django’s CI
  5. Documentation – Official Django docs covering usage, customization,
    and adding custom shortcuts
  6. Non-US keyboard layout support – Ensure shortcuts work across QWERTY,
    QWERTZ, AZERTY, and other layouts

Proposed Timeline

Week 1–2: Community bonding, finalize design with mentor, review existing code
Week 3–4: Port core shortcut system into django/contrib/admin
Week 5–6: Implement Django settings for configurability
Week 7–8: Midterm – Accessibility audit + WCAG compliance
Week 9–10: Test suite (unit + browser tests)
Week 11–12: Documentation + final polish + non-US keyboard support

Looking for Mentor

@thibaudcolas – Given your work on Django’s accessibility and your involvement
in the keyboard shortcuts feedback thread, would you be open to mentoring
this project?

I’m also open to feedback on scoping – happy to adjust based on community input.

Link to the feedback thread I posted in earlier:

Update: I’ve opened an improved PR #17
( Fix issue 5Add Enter shortcut to open focused row in changelist page by prachisingh342006 · Pull Request #17 · khanxmetu/django-admin-keyshortcuts · GitHub ) with a bug fix
and unit test for the Enter shortcut.

Would appreciate feedback — could overriding the Enter key conflict with other
browser/admin default behaviors in form-heavy pages?

Hi ,
I’ve submitted my GSoC proposal for “Keyboard Shortcuts and Accessibility Improvements for Django Admin.”
Please let me know if you’d like any clarifications or changes. I’m happy to update it quickly.
Thanks!

“I’ve been exploring how keyboard shortcuts can be integrated into Django admin while maintaining accessibility and avoiding conflicts with browser shortcuts. I would appreciate feedback on which areas of the admin could benefit most from improved keyboard navigation.”