[Django] #36976: Admin: make action selection counter a live region

13 views
Skip to first unread message

Django

unread,
Mar 7, 2026, 3:54:12 AMMar 7
to django-...@googlegroups.com
#36976: Admin: make action selection counter a live region
----------------------------+-----------------------------------------
Reporter: davitacols | Type: Uncategorized
Status: new | Component: Uncategorized
Version: 6.0 | Severity: Normal
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
----------------------------+-----------------------------------------
The admin changelist action counter updates dynamically when selecting or
deselecting rows, but the updates are not explicitly announced as live
content for assistive technologies.

This can make it harder for screen reader users to perceive selection
count changes while performing bulk actions.

Proposed fix

Mark the counter as a polite live region and atomic:

aria-live="polite"
aria-atomic="true"
Patch summary

Updated django/contrib/admin/templates/admin/actions.html:
Added aria-live and aria-atomic attributes to .action-counter.
Added regression test in tests/admin_views/tests.py:
test_actions_counter_is_live_region
Why this is safe

Markup-only accessibility enhancement.
No behavior or JavaScript logic changes.
Existing UI behavior remains unchanged.
--
Ticket URL: <https://code.djangoproject.com/ticket/36976>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Mar 7, 2026, 8:38:05 PMMar 7
to django-...@googlegroups.com
#36976: Admin: make action selection counter a live region
-------------------------------+------------------------------------------
Reporter: David Ansa | Owner: aamir_official
Type: Uncategorized | Status: assigned
Component: Uncategorized | Version: 6.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------------
Changes (by aamir_official):

* cc: aamir_official (added)
* owner: (none) => aamir_official
* status: new => assigned

Comment:

Hi, I'd like to work on this ticket. I'll submit a PR adding aria-
live="polite" and aria-atomic="true" to the action-counter element in
actions.html, along with a regression test.
--
Ticket URL: <https://code.djangoproject.com/ticket/36976#comment:1>

Django

unread,
Mar 8, 2026, 8:35:40 AMMar 8
to django-...@googlegroups.com
#36976: Admin: make action selection counter a live region
-------------------------------+------------------------------------------
Reporter: David Ansa | Owner: aamir_official
Type: Uncategorized | Status: assigned
Component: Uncategorized | Version: 6.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------------
Comment (by David Ansa):

Go ahead, see the issue on git.
--
Ticket URL: <https://code.djangoproject.com/ticket/36976#comment:2>

Django

unread,
Mar 9, 2026, 1:45:58 PMMar 9
to django-...@googlegroups.com
#36976: Admin: make action selection counter a live region
-------------------------------------+-------------------------------------
Reporter: David Ansa | Owner:
Type: | aamir_official
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: 6.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Elias Stinson):

* cc: Elias Stinson (added)
* component: Uncategorized => contrib.admin
* stage: Unreviewed => Accepted
* type: Uncategorized => Cleanup/optimization

Comment:

I'll second this, and I will change the triage status to accepted, as this
seems like a needed and easy improvement to the overall accessibility of
Django-based projects. I will also mark it as being a contrib.admin issue,
as that's the subject at hand. I also feel that cleanup/optimization is
the only real fitting thing, as this ''isn't'' a completely new feature,
but also isn't a bug. Anyways, good luck to all, and I will CC myself so I
can keep track and help if needed!
--
Ticket URL: <https://code.djangoproject.com/ticket/36976#comment:3>
Reply all
Reply to author
Forward
0 new messages