[Django] #32819: Django forms - fields’ help text and errors should be associated with input

54 views
Skip to first unread message

Django

unread,
Jun 5, 2021, 7:51:17 PM6/5/21
to django-...@googlegroups.com
#32819: Django forms - fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud | Owner: nobody
Colas |
Type: Bug | Status: new
Component: | Version: 3.2
contrib.admin | Keywords: accessibility, ui,
Severity: Normal | forms
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 1 |
-------------------------------------+-------------------------------------
With Django’s default field rendering, all field errors are rendered as a
list above the field’s label, and help text is rendered after the field’s
form element. Example with `as_p`:

{{{
<ul class="errorlist">
<li>This field is required.</li>
</ul>
<p>
<label for="id_duration_required">Duration required:</label>
<input type="text" name="duration_required" required=""
id="id_duration_required">
<span class="helptext">Help</span>
</p>
}}}

One problem for screen reader users is that the association between the
errors and the field, and between the help text and the field, is only
communicated visually. This is a failure of either WCAG 2.1 level A
[https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html
SC 1.3.1: Info and Relationships], or
[https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions SC
3.3.2: Labels or Instructions]. More importantly, it just makes it harder
than necessary for screen reader users to make use of help text, and to
identify error messages.

The fix is relatively straightforward – using `aria-describedby`, as
documented in the (non-normative)
[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA1.html ARIA1 Using the
aria-describedby property to provide a descriptive label for user
interface controls] technique. Here is another well-known accessibility-
oriented UI library that implements this technique: [https://design-
system.service.gov.uk/components/text-input/#error-messages GOV.UK design
system – text input with error message].

Here is what implementing `aria-describedby` would look like in the same
example as above:

{{{
<div class="errorlist" id="id_duration_required_errorlist">
<p>This field is required.</p>
</div>
<p>
<label for="id_duration_required">Duration required:</label>
<input type="text" name="duration_required" required=""
id="id_duration_required" aria-describedby="id_duration_required_errorlist
id_duration_required_helptext">
<span class="helptext" id="id_duration_required_helptext">Help</span>
</p>
}}}

We have additional `id` attributes, `aria-describedby`, and `errorlist` is
no longer a `<ul>`. Result in VoiceOver:

Screen recording of the VoiceOver text-to-speech output, announcing the
field label, then error message, then help text.

Unfortunately I tried to have this with the `errorlist` kept as a `ul`,
but it wasn’t announced by VoiceOver. I haven’t heard of this limitation
before so am not sure why that might be the case – I’d appreciate others
taking a look if possible.

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

Django

unread,
Jun 5, 2021, 7:51:48 PM6/5/21
to django-...@googlegroups.com
#32819: Django forms - fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage:
forms | Unreviewed
Has patch: 0 | Needs documentation: 0

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

* Attachment "email-required-ariadescribedby.gif" added.

Screen recording of the VoiceOver text-to-speech output, announcing the
field label, then error message, then help text.

--

Django

unread,
Jun 5, 2021, 7:54:23 PM6/5/21
to django-...@googlegroups.com
#32819: Django forms - fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: Bug | Status: new

Component: contrib.admin | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage:
forms | Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Description changed by Thibaud Colas:

Old description:

New description:

[[Image(https://code.djangoproject.com/raw-attachment/ticket/32819/email-
required-ariadescribedby.gif)]]

Unfortunately I tried to have this with the `errorlist` kept as a `ul`,
but it wasn’t announced by VoiceOver. I haven’t heard of this limitation
before so am not sure why that might be the case – I’d appreciate others
taking a look if possible.

--

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

Django

unread,
Jun 5, 2021, 8:13:17 PM6/5/21
to django-...@googlegroups.com
#32819: Django forms - fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: Bug | Status: new
Component: Forms | Version: 3.2

Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage:
forms | Unreviewed
Has patch: 0 | Needs documentation: 0

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

* component: contrib.admin => Forms


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

Django

unread,
Jun 7, 2021, 12:00:45 AM6/7/21
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: nobody
Type: Bug | Status: new

Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
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


Comment:

Thanks. Ideally, we should avoid changing `<ul>` to `<div>`. Maybe `<ul>`
could be wrapped by `<div>`.

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

Django

unread,
Jun 10, 2021, 4:33:03 PM6/10/21
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Hasan
| Ramezani
Type: Bug | Status: assigned

Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 0 | Needs documentation: 0

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

* owner: nobody => Hasan Ramezani
* status: new => assigned


Comment:

I created a draft [https://github.com/django/django/pull/14515 PR].

@Mariusz, Could you please check it and let me know if I choose the right
direction to fix the problem? If so, I can continue with test adjustment.
@Thibaud, It would be great if you can if it will produce your desired
output.

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

Django

unread,
Sep 13, 2021, 3:22:55 AM9/13/21
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: (none)
Type: Bug | Status: new

Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 0 | Needs documentation: 0

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

* owner: Hasan Ramezani => (none)
* status: assigned => new


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

Django

unread,
Nov 29, 2021, 3:11:12 AM11/29/21
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner:
| PriyanshuGarg26
Type: Bug | Status: assigned

Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 0 | Needs documentation: 0

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

* owner: (none) => PriyanshuGarg26


* status: new => assigned


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

Django

unread,
Oct 7, 2022, 10:31:26 AM10/7/22
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Nimra

Type: Bug | Status: assigned
Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 0 | Needs documentation: 0

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

* owner: PriyanshuGarg26 => Nimra


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

Django

unread,
Dec 24, 2022, 8:27:39 AM12/24/22
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Nimra
Type: Bug | Status: assigned
Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 0 => 1
* has_patch: 0 => 1


Comment:

[https://github.com/django/django/pull/16185 PR]

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

Django

unread,
Jun 1, 2023, 11:18:57 AM6/1/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner:
| gregorjerse

Type: Bug | Status: assigned
Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

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

* owner: Nimra => gregorjerse


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

Django

unread,
Jun 2, 2023, 6:20:12 AM6/2/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Gregor
| Jerše

Type: Bug | Status: assigned
Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Gregor Jerše):

* needs_better_patch: 1 => 0


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

Django

unread,
Jun 2, 2023, 6:35:14 AM6/2/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: assigned
Component: Forms | Version: 3.2
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak):

[https://github.com/django/django/pull/16920 PR]

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

Django

unread,
Jun 2, 2023, 10:20:29 AM6/2/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: assigned
Component: Forms | Version: dev

Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Gregor Jerše):

* version: 3.2 => dev


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

Django

unread,
Jun 2, 2023, 2:53:40 PM6/2/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 0 => 1


Comment:

Note that the PR focuses on solving this issue for `help_text`.

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:13>

Django

unread,
Jul 6, 2023, 2:03:51 AM7/6/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0

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

* needs_better_patch: 1 => 0

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:14>

Django

unread,
Jul 6, 2023, 2:55:32 AM7/6/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: closed
Component: Forms | Version: dev
Severity: Normal | Resolution: fixed

Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"966ecdd482167f3f6b08b00f484936c837751cb9" 966ecdd4]:
{{{
#!CommitTicketReference repository=""
revision="966ecdd482167f3f6b08b00f484936c837751cb9"
Fixed #32819 -- Established relationship between form fields and their
help text.

Thanks Nimra for the initial patch.

Thanks Natalia Bidart, Thibaud Colas, David Smith, and Mariusz Felisiak
for reviews.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:15>

Django

unread,
Aug 1, 2023, 1:29:21 PM8/1/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: new

Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0

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

* status: closed => new
* resolution: fixed =>


Comment:

Reopening as the errors case still requires fixing.

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:16>

Django

unread,
Aug 2, 2023, 2:11:33 AM8/2/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: Gregor
| Jerše
Type: Bug | Status: new

Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
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


--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:17>

Django

unread,
Nov 14, 2023, 3:27:46 AM11/14/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned

Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0

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

* owner: Gregor Jerše => David Smith


* status: new => assigned

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:18>

Django

unread,
Nov 16, 2023, 7:27:18 AM11/16/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
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:"292f1ea90f90ff140617299a25884c8fda24aa64" 292f1ea9]:
{{{
#!CommitTicketReference repository=""
revision="292f1ea90f90ff140617299a25884c8fda24aa64"
Refs #32819 -- Used auto_id instead of id_for_label as unique identifier
for the field.

`id_for_label` is blank for widgets with multiple inputs such as radios
and multiple checkboxes. Therefore , `help_text` for fields using these
widgets cannot currently be associated using `aria-describedby`.
`id_for_label` is being used as a guard to avoid incorrectly adding
`aria-describedby` to those widgets.

This change uses `auto_id` as the unique identified for the fields
`help_text`. A guard is added to avoid incorrectly adding
`aria-describedby` to inputs by checking the widget's `use_fieldset`
attribute. Fields rendered in a `<fieldset>` should have
`aria-describedby` added to the `<fieldset>` and not every `<input>`.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:19>

Django

unread,
Nov 16, 2023, 7:27:40 AM11/16/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
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:"7f0275d8cb6a590fa5e157cadeba776e9a790121" 7f0275d8]:
{{{
#!CommitTicketReference repository=""
revision="7f0275d8cb6a590fa5e157cadeba776e9a790121"
[5.0.x] Refs #32819 -- Used auto_id instead of id_for_label as unique
identifier for the field.

`id_for_label` is blank for widgets with multiple inputs such as radios
and multiple checkboxes. Therefore , `help_text` for fields using these
widgets cannot currently be associated using `aria-describedby`.
`id_for_label` is being used as a guard to avoid incorrectly adding
`aria-describedby` to those widgets.

This change uses `auto_id` as the unique identified for the fields
`help_text`. A guard is added to avoid incorrectly adding
`aria-describedby` to inputs by checking the widget's `use_fieldset`
attribute. Fields rendered in a `<fieldset>` should have
`aria-describedby` added to the `<fieldset>` and not every `<input>`.

Backport of 292f1ea90f90ff140617299a25884c8fda24aa64 from main
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:20>

Django

unread,
Nov 17, 2023, 12:10:42 AM11/17/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | 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/32819#comment:21>

Django

unread,
Nov 17, 2023, 3:01:34 AM11/17/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | 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:"557fa51837a57534f8ca486133a412547a98a37e" 557fa51]:
{{{
#!CommitTicketReference repository=""
revision="557fa51837a57534f8ca486133a412547a98a37e"
Refs #32819 -- Added aria-describedby test for widgets with custom id.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:22>

Django

unread,
Nov 17, 2023, 3:01:34 AM11/17/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | 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:"eec7e9ba894a7815d289ba7446eeead488fe0e33" eec7e9ba]:
{{{
#!CommitTicketReference repository=""
revision="eec7e9ba894a7815d289ba7446eeead488fe0e33"
Refs #32819 -- Established relationship between form fieldsets and their
help text.

This adds aria-describedby for widgets rendered in a fieldset such as
radios. aria-describedby for these widgets is added to the <fieldset>
element rather than each <input>.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:23>

Django

unread,
Nov 17, 2023, 3:02:00 AM11/17/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------

Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
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


--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:24>

Django

unread,
Dec 15, 2023, 8:34:22 AM12/15/23
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0

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

* has_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:25>

Django

unread,
Jan 8, 2024, 3:26:05 PM1/8/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 0 => 1


Comment:

Setting as patch needs improvement because the docs for when a custom
`aria-describedby` is given definitely needs more details/clarification
about what the user should do to properly customize the attribute for help
text and errors.

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:26>

Django

unread,
Apr 30, 2024, 2:28:59 AM4/30/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by David Smith):

* needs_better_patch: 1 => 0

Comment:

[https://github.com/django/django/pull/18113 PR] to avoid adding `aria-
describedby` to `hidden` inputs.
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:27>

Django

unread,
Apr 30, 2024, 5:11:13 AM4/30/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by Sarah Boyce <42296566+sarahboyce@…>):

In [changeset:"c187f5f9242b681abaa199173e02066997439425" c187f5f9]:
{{{#!CommitTicketReference repository=""
revision="c187f5f9242b681abaa199173e02066997439425"
Refs #32819 -- Avoided adding 'aria-describedby' to hidden inputs.

Hidden elements are not visible for both accessibility tools and browsers
presentation layer. This change therefore only reduces the size of the
generated HTML.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:28>

Django

unread,
May 16, 2024, 12:35:55 PM5/16/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:29>

Django

unread,
Dec 1, 2024, 4:12:33 AM12/1/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by David Smith):

* needs_better_patch: 1 => 0

Comment:

[https://github.com/django/django/pull/18871 PR] to add an `id` to
`ErrorList`
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:30>

Django

unread,
Dec 2, 2024, 6:50:03 AM12/2/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:31>

Django

unread,
Dec 4, 2024, 3:33:07 AM12/4/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:32>

Django

unread,
Dec 4, 2024, 4:56:14 AM12/4/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:33>

Django

unread,
Dec 5, 2024, 4:24:49 AM12/5/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by Sarah Boyce <42296566+sarahboyce@…>):

In [changeset:"edd74c3417fa3a0b29295012ff31dbe44843303c" edd74c34]:
{{{#!CommitTicketReference repository=""
revision="edd74c3417fa3a0b29295012ff31dbe44843303c"
Refs #32819 -- Added id to ErrorList class and template.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:34>

Django

unread,
Dec 5, 2024, 4:25:15 AM12/5/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

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

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:35>

Django

unread,
Dec 9, 2024, 5:00:05 AM12/9/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by Thibaud Colas):

Amazing! One step closer to fully accessible forms 😌
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:36>

Django

unread,
Dec 17, 2024, 6:04:55 AM12/17/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Comment (by Sarah Boyce <42296566+sarahboyce@…>):

In [changeset:"1e05431881d64e5e009cd9a709225744c05a48f1" 1e05431]:
{{{#!CommitTicketReference repository=""
revision="1e05431881d64e5e009cd9a709225744c05a48f1"
Refs #32819 -- Added aria-describedby property to BoundField.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:37>

Django

unread,
Dec 20, 2024, 9:45:05 AM12/20/24
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Accepted
forms |
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* needs_better_patch: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:38>

Django

unread,
Jan 2, 2025, 5:49:42 AMJan 2
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: assigned
Component: Forms | Version: dev
Severity: Normal | Resolution:
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce):

* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:39>

Django

unread,
Jan 2, 2025, 10:40:48 AMJan 2
to django-...@googlegroups.com
#32819: Fields’ help text and errors should be associated with input
-------------------------------------+-------------------------------------
Reporter: Thibaud Colas | Owner: David
| Smith
Type: Bug | Status: closed
Component: Forms | Version: dev
Severity: Normal | Resolution: fixed
Keywords: accessibility, ui, | Triage Stage: Ready for
forms | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 1
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce <42296566+sarahboyce@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"987854ba44b497b195536199f8f6d1dc440a43ca" 987854ba]:
{{{#!CommitTicketReference repository=""
revision="987854ba44b497b195536199f8f6d1dc440a43ca"
Fixed #32819 -- Added aria-describedby to fields with errors.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32819#comment:40>
Reply all
Reply to author
Forward
0 new messages