EMILY web assistant — Accessibility Conformance Report (VPAT 2.5)

EMILY web assistant — Accessibility Conformance Report

VPAT® Version 2.5 (WCAG 2.2 edition, with Revised Section 508 mapping)

Name of product: EMILY web assistant (Ask EMILY widget, /pages/emily, Start Assistance templates at /pages/assistance-templates, and the store's product/cart pages) at amplifyaccessibility.org
Vendor: Amplify Accessibility Green Tech Coalition, 501(c)(3)
Report date: October 16, 2026
Product version: relay 1.7.0, widget 1.7.2, theme "Trade" with the amp-a11y update of 2026-10-16

Download the Accessibility Conformance Report (VPAT) as PDF (EMILY-VPAT-2.5-WCAG22-508-2026-10-16.pdf)

Evaluation methods used

  • axe-core (Lighthouse-bundled build), run with Playwright on Google Chrome (headless), tags wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa, and section508, at 1280×900 (desktop) and 390×844 (mobile).
  • Keyboard-only checks: scripted Tab walks of 40–60 stops per page, recording a visible focus indicator for each stop; keyboard add-to-cart; quantity +/-; remove; open the EMILY dialog and close it with Esc.
  • Color contrast: axe color-contrast with measured foreground and background colors, re-run after a full page scroll so scroll-reveal animations did not distort the results.
  • Not yet performed: manual screen-reader testing (NVDA, JAWS, VoiceOver iOS), 200% zoom, 320px reflow, text-spacing overrides, testing by users with disabilities. Where a criterion depends on these, it is marked Partially Supports.

Summary (WCAG 2.2 Level A and AA, 55 criteria)

Supports: 18 · Partially Supports: 30 · Does Not Support: 0 · Not Applicable: 7

This report makes no claims about Level AAA. It is not a guarantee of compliance or a legal certification. It reflects only the tests listed above, run on the date above.

Known gaps

  • No manual screen-reader verification yet.
  • One scrollable region inside an open details section on mobile /pages/emily cannot be reached by keyboard.
  • One axe "needs review" item (aria-valid-attr-value) is still open on the tested pages.
  • The signature pad needs drawing; a typed-signature alternative was not verified.
  • Zoom (200%), 320px reflow, and text-spacing were not tested.
  • Shopify-hosted checkout, Shop Pay, and Google Pay buttons are third-party and outside this report. Their focus indicators sit inside closed components.
  • Scroll-reveal fade-in animations make text briefly low-contrast while it animates in. A prefers-reduced-motion override has been added.

Table 1: WCAG 2.2 Success Criteria, Level A and AA

Criteria Conformance Level Remarks and Explanations
1.1.1 Non-text Content (Level A) Partially Supports Automated (axe-core 4.x) found no failures; image-alt, button-name, svg/role-img checks passed. Alt text quality not reviewed by a person; manual screen-reader verification (NVDA/JAWS/VoiceOver) has not been done yet.
1.2.1 Audio-only and Video-only (Prerecorded) (Level A) Not Applicable No prerecorded audio/video content. The only video element is the user's own live camera preview (aria-hidden), not media content.
1.2.2 Captions (Prerecorded) (Level A) Not Applicable No prerecorded synchronized media.
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) Not Applicable No prerecorded synchronized media.
1.2.4 Captions (Live) (Level AA) Not Applicable No live synchronized media.
1.2.5 Audio Description (Prerecorded) (Level AA) Not Applicable No prerecorded synchronized media.
1.3.1 Info and Relationships (Level A) Partially Supports Automated (axe-core 4.x) found no failures; labels, list, aria roles, tab/tablist structure passed; form fields on the templates page have programmatic labels. manual screen-reader verification (NVDA/JAWS/VoiceOver) has not been done yet.
1.3.2 Meaningful Sequence (Level A) Partially Supports Keyboard tab walk (60 stops per page) followed visual order on the tested pages; manual screen-reader verification (NVDA/JAWS/VoiceOver) has not been done yet.
1.3.3 Sensory Characteristics (Level A) Partially Supports No shape/position-only instructions observed in tested flows; not exhaustively reviewed.
1.3.4 Orientation (Level AA) Supports Tested at 1280x900 and 390x844 portrait; layout not locked to an orientation.
1.3.5 Identify Input Purpose (Level AA) Partially Supports Name and email fields present; autocomplete tokens not verified on every personal-data field.
1.4.1 Use of Color (Level A) Partially Supports axe link-in-text-block passed; not manually reviewed for every state.
1.4.2 Audio Control (Level A) Supports EMILY speech starts only after user action and can be stopped (Esc / stop control); no auto-playing audio found.
1.4.3 Contrast (Minimum) (Level AA) Partially Supports Before fixes, real failures found: footer headings #767676 on #1a1a1a (3.83:1) and EMILY Talk label white on #059669 (3.76:1). Both fixed 2026-10-16. After a full scroll-through, axe found 0 contrast failures on /pages/emily, /cart, and the mobile product page. Text inside third-party Shopify payment buttons is not controlled by us.
1.4.4 Resize Text (Level AA) Partially Supports Not tested at 200% zoom in this round.
1.4.5 Images of Text (Level AA) Partially Supports No images of text seen in the widget or chat; marketing images on the site were not reviewed.
1.4.10 Reflow (Level AA) Partially Supports Tested at 390px wide. Not tested at 320 CSS px. axe flagged one scrollable region on the mobile /pages/emily (inside an open details section) that cannot be reached by keyboard.
1.4.11 Non-text Contrast (Level AA) Partially Supports A new 3px blue focus outline with a white halo was added on 2026-10-16. Other control borders were not measured.
1.4.12 Text Spacing (Level AA) Partially Supports Not tested with text-spacing overrides.
1.4.13 Content on Hover or Focus (Level AA) Partially Supports No hover-only popups found in tested flows; not exhaustively reviewed.
2.1.1 Keyboard (Level A) Partially Supports The widget opens, takes input, and closes with Esc. Add-to-cart, quantity +/-, and remove all work by keyboard. Gap: one scrollable region on mobile /pages/emily is not keyboard-focusable (axe scrollable-region-focusable).
2.1.2 No Keyboard Trap (Level A) Supports Tab walks of 40-60 stops on each tested page never got stuck; Esc closes the EMILY dialog.
2.1.4 Character Key Shortcuts (Level A) Partially Supports EMILY uses Shift+Z (talk) and Shift+C (camera), which use a modifier key. Whether they can be turned off or remapped was not verified.
2.2.1 Timing Adjustable (Level A) Supports No time limits found in the widget, templates, or cart (checkout not in scope).
2.2.2 Pause, Stop, Hide (Level A) Partially Supports The announcement-bar slider exists on the site. Its pause control was not verified.
2.3.1 Three Flashes or Below Threshold (Level A) Supports No flashing content found. The camera "flash" element is a capture indicator; it was not measured for flash rate.
2.4.1 Bypass Blocks (Level A) Supports A skip-to-content link is present and was the first tab stop.
2.4.2 Page Titled (Level A) Supports axe document-title passed on all tested pages.
2.4.3 Focus Order (Level A) Partially Supports Before: opening EMILY left focus on the page body, and after an item was added or removed, focus was lost to the body. Fixed 2026-10-16: focus now moves to the chat input when EMILY opens and back to the launcher when she closes; after add or remove, focus moves to the cart heading. manual screen-reader verification (NVDA/JAWS/VoiceOver) has not been done yet.
2.4.4 Link Purpose (In Context) (Level A) Partially Supports axe link-name passed; link wording not manually reviewed.
2.4.5 Multiple Ways (Level AA) Supports Site navigation menu, search, and footer links reach the tested pages.
2.4.6 Headings and Labels (Level AA) Partially Supports Quantity and remove controls are named with the product name (e.g. "Increase quantity for Miracle Spritz ..."). Heading text was not fully reviewed.
2.4.7 Focus Visible (Level AA) Supports Before: 57 of 60 tab stops on /pages/emily, 55 of 60 on templates, 38 of 40 on product, and 37 of 40 on cart had no detectable focus indicator. After the 2026-10-16 fix, 0 of 60 / 0 of 60 / 2 of 40 / 2 of 40 lacked one; the remaining ones are third-party Shopify payment-button custom elements.
2.4.11 Focus Not Obscured (Minimum) (Level AA) Partially Supports Not specifically tested against the sticky header or the floating EMILY button.
2.5.1 Pointer Gestures (Level A) Supports No multipoint or path gestures are needed; the signature pad was not reviewed (see known gaps).
2.5.2 Pointer Cancellation (Level A) Supports Controls are standard buttons that activate on click/up.
2.5.3 Label in Name (Level A) Partially Supports The visible "Talk" label is included in the accessible name "Talk to EMILY"; not checked for every control.
2.5.4 Motion Actuation (Level A) Not Applicable No motion-triggered functions.
2.5.7 Dragging Movements (Level AA) Partially Supports Templates support drag-and-drop uploads; whether a non-drag file picker is offered on every upload was not fully verified. The signature pad needs drawing; a typed alternative was not verified.
2.5.8 Target Size (Minimum) (Level AA) Partially Supports axe target-size passed on tested pages; not measured on every control.
3.1.1 Language of Page (Level A) Supports axe html-has-lang / html-lang-valid passed.
3.1.2 Language of Parts (Level AA) Partially Supports Not reviewed for Spanish or other-language passages.
3.2.1 On Focus (Level A) Supports No context change on focus seen in tab walks.
3.2.2 On Input (Level A) Supports No unexpected context change on input in tested forms.
3.2.3 Consistent Navigation (Level AA) Supports Header, footer, and EMILY launcher are consistent across tested pages.
3.2.4 Consistent Identification (Level AA) Supports EMILY launcher and cart controls are named consistently.
3.2.6 Consistent Help (Level A) Supports The EMILY help launcher appears in the same place on every tested page.
3.3.1 Error Identification (Level A) Partially Supports Error messaging in the templates forms was not tested.
3.3.2 Labels or Instructions (Level A) Partially Supports axe label rule passed; instructions not manually reviewed.
3.3.3 Error Suggestion (Level AA) Partially Supports Not tested.
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) Partially Supports Signed document downloads are generated on the user's device. Review/confirm steps were not formally tested. Checkout is Shopify-hosted and out of scope.
3.3.7 Redundant Entry (Level A) Partially Supports EMILY saves profile details to avoid re-asking; not formally tested.
3.3.8 Accessible Authentication (Minimum) (Level AA) Not Applicable The EMILY web assistant needs no login.
4.1.2 Name, Role, Value (Level A) Partially Supports axe aria-*, button-name, and label passed. Cart quantity buttons and inputs have names. The cart add-to-cart notification was missing a dialog role; this was added via script. One axe "needs review" item (aria-valid-attr-value) is still unresolved. manual screen-reader verification (NVDA/JAWS/VoiceOver) has not been done yet.
4.1.3 Status Messages (Level AA) Supports Before: adding, removing, or changing quantity was not announced. After the 2026-10-16 fix, a polite live region announces it with the cart count and total, for example "Quantity updated. Cart has 2 items, total $49.98." and "Item removed from cart. Your cart is empty." EMILY replies go to a polite live region (#emily-sr-say).

Revised Section 508 Report

Chapter Conformance Level Remarks
Chapter 3: Functional Performance Criteria (302.1–302.9) Partially Supports Usable without vision through a keyboard and a text chat with live-region announcements; voice input is optional and has a typed alternative. Not yet verified by manual screen-reader testing.
Chapter 4: Hardware Not Applicable Web software only.
Chapter 5: Software (501.1 web content) Not Applicable Web content is covered by E205.4 / WCAG above.
E205.4 Accessibility Standard (Web content) Partially Supports See Table 1 (WCAG 2.2 A/AA includes WCAG 2.0 A/AA).
Chapter 6: Support Documentation and Services (602–603) Partially Supports The help content is the EMILY page and the assistant itself. Alternate-format documentation has not been evaluated.

"Voluntary Product Accessibility Template" and "VPAT" are registered service marks of the Information Technology Industry Council (ITI).

Two people shaking hands across a bridge, representing Amplify Accessibility partnership and inclusion.

Amplify Accessibility

Building bridges to independence

Amplify Accessibility Green Tech Coalition advances accessibility, training, and employment for people who are blind or disabled.

Learn about our mission