[Django] #34041: Accessibility improvements for admin breadcrumbs

4 views
Skip to first unread message

Django

unread,
Sep 24, 2022, 3:44:14 AM9/24/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud | Owner: nobody
Colas |
Type: New | Status: new
feature |
Component: | Version: dev
contrib.admin | Keywords: accessibility,
Severity: Normal | landmarks, ARIA
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 1 |
-------------------------------------+-------------------------------------
There are two nice and simple accessibility improvements we could make to
the Django admin’s breadcrumbs:

1. Wrap them in a `<nav aria-label="{% translate 'Breadcrumbs' %}>">`
region, so they can be identified as a navigation landmark by screen
reader users.
2. Structure the links as a `<ol>` list with `<li>` items for each crumb,
so screen reader users know how many items there are (visually they don’t
need any changes)
3. Switch the last item to also be a link, with a `aria-current="page"`
attribute, so semantically the last item is marked as "current page"
(again doesn’t necessarily need any visual change). Technically this would
also work as a span but I believe switching to a link would be a nicer
experience (consistent tabbing through all items in the breadcrumb)

All three improvements are based on the
[https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ Breadcrumb ARIA
authoring practices pattern]. All can technically be done separately if
desired.

--
Ticket URL: <https://code.djangoproject.com/ticket/34041>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Sep 24, 2022, 4:27:24 AM9/24/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: New feature | Status: new
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:1>

Django

unread,
Sep 24, 2022, 4:27:36 AM9/24/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: | Status: new
Cleanup/optimization |

Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* type: New feature => Cleanup/optimization


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:2>

Django

unread,
Sep 24, 2022, 5:29:23 AM9/24/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Florian
Type: | Perucki
Cleanup/optimization | Status: assigned

Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Florian Perucki):

* owner: nobody => Florian Perucki
* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:3>

Django

unread,
Sep 24, 2022, 11:45:26 AM9/24/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Florian
Type: | Perucki
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Florian Perucki):

* has_patch: 0 => 1


Comment:

PR: https://github.com/django/django/pull/16106

--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:4>

Django

unread,
Sep 26, 2022, 2:52:26 AM9/26/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Florian
Type: | Perucki
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Ready for
landmarks, ARIA | checkin

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:5>

Django

unread,
Sep 26, 2022, 5:14:05 AM9/26/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Florian
Type: | Perucki
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Ready for
landmarks, ARIA | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"872b61193b013a700ff88cf50f0eb2cf2c266ff7" 872b6119]:
{{{
#!CommitTicketReference repository=""
revision="872b61193b013a700ff88cf50f0eb2cf2c266ff7"
Refs #34041 -- Added navigation landmark to breadcrumbs in admin.

Thanks Thibaud Colas for pair programming.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:6>

Django

unread,
Sep 26, 2022, 5:15:17 AM9/26/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Florian
Type: | Perucki
Cleanup/optimization | Status: assigned
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* has_patch: 1 => 0
* stage: Ready for checkin => Accepted


Old description:

> There are two nice and simple accessibility improvements we could make to
> the Django admin’s breadcrumbs:
>
> 1. Wrap them in a `<nav aria-label="{% translate 'Breadcrumbs' %}>">`
> region, so they can be identified as a navigation landmark by screen
> reader users.
> 2. Structure the links as a `<ol>` list with `<li>` items for each crumb,
> so screen reader users know how many items there are (visually they don’t
> need any changes)
> 3. Switch the last item to also be a link, with a `aria-current="page"`
> attribute, so semantically the last item is marked as "current page"
> (again doesn’t necessarily need any visual change). Technically this
> would also work as a span but I believe switching to a link would be a
> nicer experience (consistent tabbing through all items in the breadcrumb)
>
> All three improvements are based on the
> [https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ Breadcrumb ARIA
> authoring practices pattern]. All can technically be done separately if
> desired.

New description:

There are two nice and simple accessibility improvements we could make to
the Django admin’s breadcrumbs:

1. (fixed in **872b61193b013a700ff88cf50f0eb2cf2c266ff7**) Wrap them in a


`<nav aria-label="{% translate 'Breadcrumbs' %}>">` region, so they can be
identified as a navigation landmark by screen reader users.
2. Structure the links as a `<ol>` list with `<li>` items for each crumb,
so screen reader users know how many items there are (visually they don’t
need any changes)
3. Switch the last item to also be a link, with a `aria-current="page"`
attribute, so semantically the last item is marked as "current page"
(again doesn’t necessarily need any visual change). Technically this would
also work as a span but I believe switching to a link would be a nicer
experience (consistent tabbing through all items in the breadcrumb)

All three improvements are based on the
[https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ Breadcrumb ARIA
authoring practices pattern]. All can technically be done separately if
desired.

--

--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:7>

Django

unread,
Nov 17, 2022, 5:44:39 AM11/17/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: (none)
Type: | Status: new
Cleanup/optimization |

Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* owner: Florian Perucki => (none)
* status: assigned => new


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:8>

Django

unread,
Dec 15, 2022, 4:51:30 PM12/15/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Jerry Wan
Type: | Status: assigned

Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Jerry Wan):

* owner: (none) => Jerry Wan


* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:9>

Django

unread,
Dec 30, 2022, 11:43:51 PM12/30/22
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Jerry Wan
Type: | Status: assigned
Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Jerry Wan):

* has_patch: 0 => 1


Comment:

Link to PR: https://github.com/django/django/pull/16414

--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:10>

Django

unread,
Jan 25, 2023, 3:23:26 AM1/25/23
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Jerry Wan
Type: | Status: assigned
Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* cc: Tom Carrick (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:11>

Django

unread,
Jan 30, 2023, 1:49:25 AM1/30/23
to django-...@googlegroups.com
#34041: Accessibility improvements for admin breadcrumbs
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Jerry Wan
Type: | Status: assigned
Cleanup/optimization |
Component: contrib.admin | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, | Triage Stage: Accepted
landmarks, ARIA |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/34041#comment:12>

Reply all
Reply to author
Forward
0 new messages