1 of 31

Using WAVE to Reduce Accessibility Errors in Primo VE, Primo NDE, and Esploro

Blake Galbreath

Asst Head Systems and Tech Ops

Washington State University

June 2, 2026

2 of 31

WAVE = suite of web accessibility evaluation tools

"The WAVE Chrome, Firefox, and Edge extensions allows you to evaluate web content for accessibility issues directly within your browser.

​

Because the extension runs entirely within your web browser, no information is sent to the WAVE server. This ensures 100% private and secure accessibility reporting. The extension can check intranet, password-protected, dynamically generated, or sensitive web pages.

​

Because the WAVE extension evaluates the rendered version of your page, styles and dynamically-generated content from scripting can be evaluated."

3 of 31

How to use the browser extension tool

  • Install the browser extension
  • Click on the browser extension in list of browser extensions
  • Control + Shift + U on a keyboard
  • Right-click > WAVE this page

4 of 31

General Tips

  • Move the Styles slider to OFF to more easily see where the problem is
  • Click on red Error button/image to reveal explanatory text (Reference) and underlying html (Code) behind Error
  • Close out items that are not specifically Errors, to focus on biggest problems

5 of 31

Primo VE

6 of 31

LibGuide Search Widget: Empty Form Label

7 of 31

What is it?​ (Search Widget Form Label)

Empty form label

  • A form label is present, but does not contain any content.

​

Example:

<label for="primoQueryTemp"></label>

8 of 31

What to do? (Search Widget Form Label)

Several ways to fix empty form labels

  • Add text to a <label> element that is intended to be visible to sighted users
  • Add text to a <label> element that is intended to be used via screen reader only
  • Add aria-label to <input> element that is intended to be used via screen reader only

9 of 31

LibGuide Search Widget: Added "Content"

<label for="primoQueryTemp">Search the WSU Libraries:</label>

10 of 31

VE Search Results: Broken ARIA References

11 of 31

What is it? (VE Search ARIA References)

Broken ARIA reference

  • An aria-labelledby or aria-describedby reference exists, but the target for the reference does not exist.

​

Example: aria-labelledby=

  • alma99343862292801451titleForAccessibilityAvailabilityLine0
  • alma99343862292801451availabilityLine0
  • alma99343862292801451newWindowNote0

​

  • But only the first two have IDs defined elsewhere

12 of 31

What to do? (VE Search ARIA References)

I don’t believe it is possible to add IDs to VE page, so ticket

  • SF#08394689: sent to Development on 3/20

13 of 31

Primo NDE

14 of 31

NDE Homepage: Contrast Errors

15 of 31

What is it?​ (NDE Contrast Errors)

Very low contrast (1:1)

Very low contrast between text and background colors.

​

WCAG 2.0 level AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text.

WCAG Level AAA requires a contrast ratio of at least 7:1 for normal text and 4.5:1 for large text.

16 of 31

NDE Homepage: Contrast Error Locations

  • Next Discovery Experience BETA
  • Ask Anything
  • Advanced Search

​

  • Skip to Main menu links *role="presentation"*
  • Skip to Search bar links *role="presentation"*

17 of 31

Add Background Color

/*Search Bar Container WSU Crimson*/

.custom-search-bar-container {

    background-color: #981e32;

}

​

  • Next Discovery Experience BETA
  • Ask Anything
  • Advanced Search

18 of 31

Skip links

/*Adjust skip links*/

.skip-h2-button[_ngcontent-ng-c2651061227] {

    background-color: white !important;

    color: black;

}

​

  • Skip to Main menu links *role="presentation"*
  • Skip to Search bar links *role="presentation"*

​

19 of 31

NDE Search: Empty Form Labels

20 of 31

What is it?​ (NDE Search Form Labels)

Empty form label

  • A form label is present, but does not contain any content.

​

Example:

<label class="mdc-label" for="mat-mdc-checkbox-1-input"></label>

21 of 31

What to do? (NDE Search Form Labels)

I don’t believe it is possible to add Content to label on NDE page, so filed a ticket

  • SF#10631063: only recently submitted

​

22 of 31

NDE Ask Anything: Missing Form Label

23 of 31

What is it? (NDE Ask Anything Form Label)

Missing form label

  • A form control​ does not have a corresponding label.

24 of 31

What to do? (NDE Ask Anything Form Label)

<label for="query" style="display: none;">Enter your query here</label>

​

  • Content is not empty this time! But is being hidden by "display: none"
  • Replace with <label for="query" style="visually-hidden;">Enter your query here</label>
  • SF#10631056

​

25 of 31

Esploro

26 of 31

Esploro Homepage: Low contrast

27 of 31

What to do? (Esploro Low Contrast)

Unlike in Primo, customers have little control over styling in Esploro (can only choose a primary, secondary, tertiary color)

  • SF#08398081: "issue has been fixed and is scheduled to be part of the June 2026 release"
  • However, we elected to hide this section anyway

​

28 of 31

Esploro Search: 96 Empty Form Labels!

29 of 31

What to do? (Esploro Form Labels)

I don’t believe it is possible to add Content to label on Ex Libris page, so filed a ticket

  • SF#08389791: "issue has been fixed and is scheduled to be part of the June 2026 release"

​

30 of 31

Works consulted

31 of 31

Questions