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).
Amplify Accessibility
Building bridges to independence
Amplify Accessibility Green Tech Coalition advances accessibility, training, and employment for people who are blind or disabled.