summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlstaana <lemuel.staana@antematix.ca>2023-09-24 21:16:56 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2023-09-26 08:45:07 +0200
commit357365a64e1c756eabaaf0ee0404df87c15c6e9b (patch)
tree12a04f2bb71230ad00e9efa16cc1c0c80ae6f416
parent2128a73713735fb794ca6565fd5d7792293f5cfa (diff)
Fixed #34835 -- Made admin's changelist filters render in <nav> tag.
-rw-r--r--AUTHORS1
-rw-r--r--django/contrib/admin/templates/admin/change_list.html6
-rw-r--r--docs/releases/5.1.txt3
-rw-r--r--tests/admin_views/tests.py12
4 files changed, 15 insertions, 7 deletions
diff --git a/AUTHORS b/AUTHORS
index ae2bdaf393..a25695e40d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -589,6 +589,7 @@ answer newbie questions, and generally made Django that much better:
Leandra Finger <leandra.finger@gmail.com>
Lee Reilly <lee@leereilly.net>
Lee Sanghyuck <shlee322@elab.kr>
+ Lemuel Sta Ana <https://github.com/lstaana>
Leo "hylje" Honkanen <sealage@gmail.com>
Leo Shklovskii
Leo Soto <leo.soto@gmail.com>
diff --git a/django/contrib/admin/templates/admin/change_list.html b/django/contrib/admin/templates/admin/change_list.html
index e03e705df2..310872b015 100644
--- a/django/contrib/admin/templates/admin/change_list.html
+++ b/django/contrib/admin/templates/admin/change_list.html
@@ -73,8 +73,8 @@
</div>
{% block filters %}
{% if cl.has_filters %}
- <div id="changelist-filter">
- <h2>{% translate 'Filter' %}</h2>
+ <nav id="changelist-filter" aria-labelledby="changelist-filter-header">
+ <h2 id="changelist-filter-header">{% translate 'Filter' %}</h2>
{% if cl.is_facets_optional or cl.has_active_filters %}<div id="changelist-filter-extra-actions">
{% if cl.is_facets_optional %}<h3>
{% if cl.add_facets %}<a href="{{ cl.remove_facet_link }}" class="hidelink">{% translate "Hide counts" %}</a>
@@ -85,7 +85,7 @@
</h3>{% endif %}
</div>{% endif %}
{% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %}
- </div>
+ </nav>
{% endif %}
{% endblock %}
</div>
diff --git a/docs/releases/5.1.txt b/docs/releases/5.1.txt
index 5d8e9b6993..12e3c80ee2 100644
--- a/docs/releases/5.1.txt
+++ b/docs/releases/5.1.txt
@@ -248,7 +248,8 @@ PostgreSQL 13 and higher.
Miscellaneous
-------------
-* ...
+* In order to improve accessibility, the admin's changelist filter is now
+ rendered in a ``<nav>`` tag instead of a ``<div>``.
.. _deprecated-features-5.1:
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 4ea261b347..b2a5fe2ccd 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -812,7 +812,7 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
response = self.client.get(reverse("admin:admin_views_thing_changelist"))
self.assertContains(
response,
- '<div id="changelist-filter">',
+ '<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
msg_prefix="Expected filter not found in changelist view",
)
self.assertNotContains(
@@ -865,7 +865,10 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
def test_relation_spanning_filters(self):
changelist_url = reverse("admin:admin_views_chapterxtra1_changelist")
response = self.client.get(changelist_url)
- self.assertContains(response, '<div id="changelist-filter">')
+ self.assertContains(
+ response,
+ '<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
+ )
filters = {
"chap__id__exact": {
"values": [c.id for c in Chapter.objects.all()],
@@ -1002,7 +1005,10 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
"Changelist filter isn't showing options contained inside a model "
"field 'choices' option named group."
)
- self.assertContains(response, '<div id="changelist-filter">')
+ self.assertContains(
+ response,
+ '<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
+ )
self.assertContains(
response,
'<a href="?surface__exact=x">Horizontal</a>',