prime-reportstream icon indicating copy to clipboard operation
prime-reportstream copied to clipboard

Fix 508 accessibility issues on the website

Open jillian-hammer opened this issue 7 months ago • 1 comments

Problem statement

The ReportStream website is 508 compliant (i.e. we meet the baseline accessibility requirements). After running some additional automated tests as part of ticket Follow up from "SPIKE: What work (if any) needs to be done surrounding 508 Compliance #17983, we discovered additional issues can be addressed to make our site even more accessible.

What you need to know

WAVE results

1. No heading structure

Description: The page has no headings. No <h1>-<h6> elements are present in the page. Why it matters: Headings (<h1>-<h6>) provide important document structure, outlines, and navigation functionality to assistive technology users. What to do: Provide a clear, consistent heading structure, generally one <h1> and sub-headings as appropriate. Except for very simple pages, most web pages should have a heading structure.

2. No page regions

Description: No page regions or ARIA landmarks were found. No header, nav, main, footer, or aside HTML regions, or banner, navigation, main, or contentinfo landmark roles were present in the page. Why it matters: Regions and ARIA landmarks identify significant page areas. Most web pages should have regions defined, particularly for the main content area. What to do: If the page has visual regions or significant page areas, ensure the regions are defined with header, nav, main, footer, etc. elements.


ARC toolkit results

1. Missing ID

image.png

Description: A relationship attribute (such as <label for="...">, or an ARIA attribute such as aria-controls="...") is pointing to a non-existent id.

  • 1A. Missing id “about”: <button data-testid="navDropDownButton" class="usa-accordion__button usa-nav__link" aria-expanded="false" aria-controls="about" type="button"></button>

  • 1B. Missing id “getting started”: <button data-testid="navDropDownButton" class="usa-accordion__button usa-nav__link" aria-expanded="false" aria-controls="getting started" type="button"></button>

2. Multiple header landmarks

image.png

Description: The page contains two or more ARIA role="banner" landmarks or HTML <header> elements. Read more: 2.4.1 Bypass Blocks

  • 2A. <header class="usa-banner__header"></header>
  • 2B. <header data-testid="header" class="usa-header usa-header--basic _Navbar_124fp_1443 _NavbarDefault_124fp_1598"></header>
  • 2C. <header class="usa-prose"></header>

3. Missing bypass methods

image.png

Example from USWDS

Description: The page appears to be missing common methods used to bypass blocks of content, such as a "skip to main content" link. Guidance from USWDS: Add a skip navigation link before the header. Include skip navigation links to allow those using screen readers to bypass long navigation lists. Make sure you include an id at the beginning of your main content and that it matches the skip navigation link. Find more information on skip navigation links at WebAIM.

4. Accessible text does not contain visible text

image.png

Description: The accessible name of the control (which is exposed to assistive technologies) does not contain the visible text. Read more: 2.5.3 Label in Name

  • <a class="usa-link" title="Home" aria-label="Home" href="/"></a>

Acceptance criteria

  • [ ] WAVE issue: 1. No heading structure fixed
  • [ ] WAVE issue: 2. No page regions fixed
  • [ ] ARC issue: 1. Missing ID fixed
  • [ ] ARC issue: 2. Multiple header landmarks fixed
  • [ ] ARC issue: 3. Missing bypass methods fixed
  • [ ] ARC issue: 4. Accessible text does not contain visible text

jillian-hammer avatar May 01 '25 18:05 jillian-hammer

ready for refinement / backlog prioritization @chris-kuryak @davidcalabrese0324 @victor-chaparro

jillian-hammer avatar May 01 '25 18:05 jillian-hammer