Web Staff Client - Main sections of every screen need to be labeled for accessibility

Bug #1615707 reported by Terran McCanna
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned
3.10
Fix Released
Medium
Unassigned

Bug Description

Screen readers such as JAWS cannot currently distinguish between the different portions of the display - for example, when editing a patron, we visually see a menu across the top, a patron menu, a patron summary, and the patron edit form, but the screen reader sees it all as a single page that runs together. The interface does not provide a way for the JAWS user to get an overview of what is on the page or to navigate easily to the section they wish to access without going through every element one by one.

I think the simplest way to fix this would be to use nested HTML headers (h1, h2, h3) with the sections so that JAWS can create a "table of contents" and allow users to easily jump to the section they need to access.

Revision history for this message
Kathy Lussier (klussier) wrote :

Adding a link to a related bug at https://bugs.launchpad.net/evergreen/+bug/1474874, which also suggests adding HTML headers. I've been hoping to work on that one for a while, and still hope to do so, but haven't had the tuits yet. I'm going to remove myself from assignee field for now in case somebody else wants to take a look at it before I can get to it.

Revision history for this message
Terran McCanna (tmccanna) wrote :

While adding improved headings, a 'Skip to Main Content' link for screen readers would also be useful on most screens:

http://bootstrapdocs.com/v3.0.3/docs/getting-started/#accessibility

description: updated
Revision history for this message
Jane Sandberg (sandbergja) wrote :

The HTML5 schematic elements and aria roles might also prove helpful in making the page structure clearer to browsers and screen readers: https://webaim.org/blog/future-web-accessibility-html5-semantic-tags/

In fact, a combination of approaches, even with some redundancy is probably helpful. On the WebAIM home page (https://webaim.org/), for example, there exist:
* <h1>, <h2>, and <h3> elements
* A "skip to main content" link that appears when you press <Tab>
* <header>, <nav>, <main>, and <footer> elements
* "banner", "search", "main", and "contentinfo" aria roles

Revision history for this message
Jane Sandberg (sandbergja) wrote :

Related to Terran's comment (#2), here is a list of "stylish" skip links: https://bugs.launchpad.net/evergreen/+bug/1615707

Revision history for this message
Tiffany Little (tslittle) wrote :

This was also brought up in the web client accessibility audit this year. From the audit's comments: "There are, virtually, no headings within the site. Without headings, or skip to main content links, attempting to navigate through the page could be tiresome for screen reader and keyboard-only users." And the WCAG section on point: https://www.w3.org/WAI/WCAG21/quickref/?showtechniques=131#bypass-blocks

Revision history for this message
Terran McCanna (tmccanna) wrote :

FYI, in the patch I submitted for https://bugs.launchpad.net/evergreen/+bug/1839372 I added an "sronly" class that allows elements to be added that are readable by screenreaders, but are not visible on screen.

Revision history for this message
Terran McCanna (tmccanna) wrote :

argh, I just realized there's already an "sr-only" class.

tags: removed: webstaffclient
Andrea Neiman (aneiman)
Changed in evergreen:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Stephanie Leary (stephanieleary) wrote :

I will be working on all the things mentioned here individually. This is a patch to address the skip nav link: https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/sleary/lp1615707-staff-skipnav

tags: added: pullrequest
Revision history for this message
Stephanie Leary (stephanieleary) wrote :

I forgot to add a link here to the separate bug and patch for H1 headings:
https://bugs.launchpad.net/evergreen/+bug/1994711

Revision history for this message
Stephanie Leary (stephanieleary) wrote :

Separate bug for the org unit combobox, since it appears just about everywhere: https://bugs.launchpad.net/evergreen/+bug/1999158

Revision history for this message
Stephanie Leary (stephanieleary) wrote :
Andrea Neiman (aneiman)
Changed in evergreen:
milestone: none → 3.next
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Thanks, Stephanie! I looked at the landmarks branch, and the redundant use of <aside>/role="complementary", <nav>/role="navigation", and <main>/role="main" caught my eye.

It looks like my comment #3 is no longer considered a best practice. The Aria in HTML guidance (https://www.w3.org/TR/html-aria/#avoid-specifying-redundant-roles) now says "Avoid specifying redundant roles".

Could you remove role="complementary", role="navigation", and role="main" from your branch?

tags: added: needswork
Revision history for this message
Stephanie Leary (stephanieleary) wrote :

Thanks, Jane! I'm going to postpone fixing these and the other HTML structure patches until we've finished working on Bootstrap 5 (bug #2000482) to avoid further complicating the merge conflicts on that.

Revision history for this message
Stephanie Leary (stephanieleary) wrote :

Updated (redundant roles removed) and rebased.

tags: removed: needswork
Andrea Neiman (aneiman)
Changed in evergreen:
milestone: 3.next → 3.11-beta
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Pushed to rel_3_10 and above. Thanks, Stephanie!

Changed in evergreen:
status: Confirmed → Fix Committed
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.