#35706: Improve admin add/change form top level errors for screen readers
-------------------------------+-----------------------------------------
     Reporter:  Sarah Boyce    |                     Type:  Uncategorized
       Status:  new            |                Component:  contrib.admin
      Version:  5.0            |                 Severity:  Normal
     Keywords:  accessibility  |             Triage Stage:  Unreviewed
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+-----------------------------------------
 I was looking into best practices for "top level" form errors and
 according to the [https://design-system.w3.org/styles/form-errors.html W3C
 Design system] we can make the following improvements...

 == Prefix the word “Error:” to the document’s `<title>`
 Confirmed that this is the first thing announced by screen readers when
 the page loads.
 I think this is especially useful considering we have a "Save and add
 another" button, given you were on the add page and submit using  "Save
 and add another" going to the add page is the "correct" state.

 == Have a summary of the errors at the top of the page ==
 https://design-system.w3.org/styles/form-errors.html has an example of the
 top level note. This is similar to our "Please correct the errors below"

 {{{
 {% if errors %}
     <p class="errornote">
     {% blocktranslate count counter=errors|length %}Please correct the
 error below.{% plural %}Please correct the errors below.{%
 endblocktranslate %}
     </p>
     {{ adminform.form.non_field_errors }}
 {% endif %}
 }}}

 We could (should?) update this to:
 - be above the form title
 - have `tabindex="-1"` to be the first thing read on the page
 - be in a div with `role="alert"` with an `aria-labelledby` attribute set
 for the title
 - also include the individual form errors (which link to the form
 elements) in this summary box

 -----

 I hope the accessibility team can confirm if any of these are not
 necessary or not wanted

 This a bit related to #32819
-- 
Ticket URL: <https://code.djangoproject.com/ticket/35706>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/010701918075e922-ed6875fe-2ba0-4389-8c3a-e4a5cb50e91d-000000%40eu-central-1.amazonses.com.

Reply via email to