8000 Fixed #35507 -- Improved accessibility of search and filter elements … · django/django@17536c1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 17536c1

Browse files
Antoliny0919sarahboyce
authored andcommitted
Fixed #35507 -- Improved accessibility of search and filter elements in the admin changelist.
1 parent ab1b9cc commit 17536c1

File tree

4 files changed

+17
-7
lines changed

4 files changed

+17
-7
lines changed

django/contrib/admin/templates/admin/change_list.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
</div>
7676
{% block filters %}
7777
{% if cl.has_filters %}
78-
<nav id="changelist-filter" aria-labelledby="changelist-filter-header">
78+
<search id="changelist-filter" aria-labelledby="changelist-filter-header">
7979
<h2 id="changelist-filter-header">{% translate 'Filter' %}</h2>
8080
{% if cl.is_facets_optional or cl.has_active_filters %}<div id="changelist-filter-extra-actions">
8181
{% if cl.is_facets_optional %}<h3>
@@ -87,7 +87,7 @@ <h2 id="changelist-filter-header">{% translate 'Filter' %}</h2>
8787
</h3>{% endif %}
8888
</div>{% endif %}
8989
{% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %}
90-
</nav>
90+
</search>
9191
{% endif %}
9292
{% endblock %}
9393
</div>

django/contrib/admin/templates/admin/search_form.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{% load i18n static %}
22
{% if cl.search_fields %}
3-
<div id="toolbar"><form id="changelist-search" method="get" role="search">
3+
<div id="toolbar">
4+
<h2 id="changelist-search-form" class="visually-hidden">{% blocktranslate with name=cl.opts.verbose_name_plural %}Search {{ name }}{% endblocktranslate %}</h2>
5+
<form id="changelist-search" method="get" role="search" aria-labelledby="changelist-search-form">
46
<div><!-- DIV needed for valid HTML -->
57
<label for="searchbar"><img src="{% static "admin/img/search.svg" %}" alt="Search"></label>
68
<input type="text" size="40" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar"{% if cl.search_help_text %} aria-describedby="searchbar_helptext"{% endif %}>

tests/admin_changelist/tests.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1745,7 +1745,12 @@ def test_search_role(self):
17451745
response = m.changelist_view(request)
17461746
self.assertContains(
17471747
response,
1748-
'<form id="changelist-search" method="get" role="search">',
1748+
'<h2 id="changelist-search-form" class="visually-hidden">Search bands</h2>',
1749+
)
1750+
self.assertContains(
1751+
response,
1752+
'<form id="changelist-search" method="get" role="search" '
1753+
'aria-labelledby="changelist-search-form">',
17491754
)
17501755

17511756
def test_search_bar_total_link_preserves_options(self):

tests/admin_views/tests.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,8 @@ def test_limited_filter(self):
875875
response = self.client.get(reverse("admin:admin_views_thing_changelist"))
876876
self.assertContains(
877877
response,
878-
'<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
878+
'<search id="changelist-filter" '
879+
'aria-labelledby="changelist-filter-header">',
879880
msg_prefix="Expected filter not found in changelist view",
880881
)
881882
self.assertNotContains(
@@ -930,7 +931,8 @@ def test_relation_spanning_filters(self):
930931
response = self.client.get(changelist_url)
931932
self.assertContains(
932933
response,
933-
'<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
934+
'<search id="changelist-filter" '
935+
'aria-labelledby="changelist-filter-header">',
934936
)
935937
filters = {
936938
"chap__id__exact": {
@@ -1070,7 +1072,8 @@ def test_named_group_field_choices_filter(self):
10701072
)
10711073
self.assertContains(
10721074
response,
1073-
'<nav id="changelist-filter" aria-labelledby="changelist-filter-header">',
1075+
'<search id="changelist-filter" '
1076+
'aria-labelledby="changelist-filter-header">',
10741077
)
10751078
self.assertContains(
10761079
response,

0 commit comments

Comments
 (0)
0