What this statement covers, and how to read it
This statement covers the Chase Now browser extension, version 1.0.0, and the marketing website at chasenowsavings.com. It does not cover merchant checkout pages: those belong to the retailer, and the in-page progress panel can only be as usable as the page it is drawn on top of.
Accessibility statements are usually written as promises. This one is written as an inventory, because an inventory is checkable and a promise is not. Everything below describes the behaviour of the code that is actually shipping. Where something is missing, it says so and names it, rather than describing the version we intend to build.
Chase Now Labs, Inc. treats a barrier report as a bug report of the same severity as a broken checkout, and accessibility work is part of how we judge whether the product is finished — but we are a small team shipping our first release, and this document reflects that honestly.
Conformance status: self-assessed, not audited
We do not claim conformance with any WCAG level. No formal evaluation against the WCAG 2.2 success criteria has been carried out, by us or by anyone else, so a conformance claim would be a guess dressed up as a measurement.
What we can say is narrower and true: the extension is built from native HTML form controls rather than custom widgets, both of its screens can be operated with the keyboard alone, and we have found and listed the specific places where that is not enough. Treat this as a self-assessment of known behaviour, not independently audited.
An independent audit is something we intend to commission. We are not going to put a date on it here, because a date we cannot keep would be worth less to you than the admission that we do not have one.
What genuinely works today
These are properties of the shipped code, not aspirations.
- Native controls throughout the popup and the options page. Every field is a real
input,selectorcheckboxwrapped in its ownlabel, every action is a realbutton, every group of settings is a realform, and every list is a real list. There are no custom dropdowns, no fake buttons and no custom date picker: the offer expiry field is a native<input type="date">, so it comes with your browser’s own keyboard handling. - Headed, sectioned structure. Both screens are divided into
sectionelements with real headings, so a screen reader’s heading list is a usable table of contents for them. - Both colour schemes follow your system. The popup and options page declare
color-scheme: light darkand ship aprefers-color-scheme: darkpalette, so they follow your operating system rather than forcing one appearance. - A visible focus indicator on text fields and selects — a 2px outline with an offset, never removed without a replacement.
- Numbers line up. Every money figure in the popup and in the progress panel is rendered with tabular numerals, so a column of totals is readable rather than ragged.
- Colour is not the only signal in the chase results. Each attempted code in the popup carries a word or a figure next to it — rejected, no response, applied, or the discount amount — so the green or grey is reinforcement rather than the message itself.
- The in-page panel is dismissible from the keyboard and does not trap you. It is a single small non-modal panel in the bottom-right corner with one control: a real
buttonthat hides it. It does not take focus when it appears, it does not hold focus, and you can Tab straight past it back into the checkout form at any point, including mid-run. It also hides itself a few seconds after a run finishes. - No text as images. Nothing in the extension’s interface renders text into a bitmap, so it stays sharp when magnified.
One behaviour is worth calling out because it moves your focus deliberately: to type a code, Chase Now focuses the merchant’s own coupon field, exactly as clicking into it would. That is unavoidable — a field that is not focused does not accept typed input in many carts — but it means your focus position can change while a chase is running.
Known gaps, named
These are the accessibility defects we know about in version 1.0.0. The list is deliberately specific, so you can tell whether one of them affects you before you install.
- Chase progress is not announced. There is no live region anywhere in the extension. The progress panel and the popup update visually as each code is tried, and a screen reader is told nothing until you go looking. If you cannot see the panel, a chase is silent from start to finish.
- No focus management around the progress panel. It appears without notifying assistive technology, it is appended at the end of the document so it comes last in tab order regardless of where you were working, and hiding it does not return focus to where you came from. It is reachable, but only by tabbing to the end of the page.
- The panel’s close control is labelled only by its glyph. Its accessible name comes from a multiplication sign and a
titleof “Hide”, with no explicit label, so some screen readers will announce it unhelpfully. - No reduced-motion handling in the extension. The panel fades and shifts as it appears, and the progress bar animates its width, regardless of your
prefers-reduced-motionsetting. Nothing flashes and nothing loops indefinitely, but the animation cannot currently be turned off. (The website does honour the setting — see below.) - Colour alone distinguishes working from failed codes in the saved-code library. On the options page, a code that worked is outlined and coloured differently from one that failed, with no text or glyph to say which is which. In the progress panel, a failed code is grey with a strike-through, which is a second signal but not a textual one.
- Buttons rely on the browser’s default focus ring. We style the focus indicator for text fields and selects explicitly, but not for buttons, so how visible their focus is depends on your browser and platform.
- No shortcuts beyond Tab. There is no arrow-key navigation within the code or card lists, no Escape handling, and no skip link inside the popup or options page. Everything is reachable, but on a long code library that means a lot of tab stops.
- Contrast has not been measured. Both palettes were designed to be legible, but no contrast audit has been run against them, so we cannot tell you that every pairing clears 4.5:1.
Practical workaround while the first item is open: the popup lists every attempted code with its outcome as ordinary focusable text, and it reads correctly, so you can read the result of a chase there rather than waiting for the panel to say something.
Keyboard operation, precisely
Everything in the extension can be done without a pointer, using the keys your browser already provides. Tab and Shift+Tab move through the controls in document order; Enter or Space activates a button; Enter submits a form. Because every control is a native element, its keyboard behaviour is the browser’s, not ours — which is the point of building it this way.
That includes the parts that are easy to get wrong elsewhere: enabling a store is a button, so the Chrome permission prompt is triggered from the keyboard like any other; adding a card, recording a bank offer and saving a code are ordinary forms; revoking a store, deleting a card and forgetting a saved code are ordinary buttons in their rows; and the offer expiry uses the native date input, so it accepts a typed date.
What is not there is listed in the gaps above: no arrow-key navigation inside lists, no Escape shortcut, no skip link, and no focus restoration around the in-page panel.
Colour, contrast and motion
Both the popup and the options page follow your system colour scheme rather than imposing one, and no part of the interface is a picture of text, so magnification and browser font-size changes work on real text.
Colour carries meaning in three places. In the chase results it is always accompanied by a word or a number, which is the behaviour we want everywhere. In the saved-code library it is not, and in the progress panel a failed code is distinguished by colour and a strike-through rather than by text. Both of those are listed as gaps above, and both are fixed the same way: by printing the status.
Motion is small — a fade, a slide of a few pixels and a progress bar that grows — and nothing in Chase Now flashes or loops indefinitely, so there is no need for a pause control. But the extension does not yet check prefers-reduced-motion, so if you have asked your system to reduce motion, the extension does not currently honour that. The website does.
The website
chasenowsavings.com is in better shape than the extension on two specific points. It ships a Skip to content link as the first focusable element on every page; it draws a 3px focus outline with an offset on any element focused by keyboard; and it honours prefers-reduced-motion in both directions — the stylesheet collapses animations and transitions to nothing and disables smooth scrolling, and the scroll-reveal script does not run at all, so content that would have animated in is simply present.
The site is built from ordinary headings, lists, links and buttons, has one presentation rather than a theme switcher, uses self-hosted fonts and embeds no third-party widget that could bring its own accessibility problems with it.
Like the extension, it has not been formally audited, and we make no conformance claim for it.
How we test, stated plainly
We would rather tell you what our testing is than imply a rigour we do not have.
The extension’s checkout behaviour is exercised by hand against four static cart pages kept in the repository — a Shopify-shaped cart, a WooCommerce-shaped cart, a European cart that formats its totals with comma decimals, and a deliberately hostile checkout — loaded from disk and driven manually. That is the whole test apparatus.
There is no continuous integration, no automated test suite and therefore no automated accessibility checking. No axe-core run gates a release, because nothing gates a release automatically. There is no per-release screen-reader test matrix, and we have not tested against a documented set of screen reader, browser and operating-system combinations; the gaps listed above were found by reading the code and using the product, not by a structured audit.
This section will change as that changes, and it will describe what exists at the time rather than what is planned.
What we are fixing
The gaps above are not a wish list; they are the work. In rough order of how much difference each one makes:
- A polite live region that announces each attempt and the final result, so a chase is followable without seeing it.
- An explicit label on the progress panel’s close control, and a sensible accessible name for the panel itself.
- Text status on saved codes in the library and on failed codes in the panel, so colour is never the only signal.
- Honouring
prefers-reduced-motionin the extension, as the website already does. - Focus handling around the panel: a predictable way to reach it, and focus returned where it was when it closes.
- An explicit focus indicator on buttons, and a measured contrast pass over both palettes.
We are not attaching quarters to these, because we would be inventing them. What we will do is keep this list accurate: an item leaves it when the fix ships, and a new item joins it when we or you find one.
Report a barrier
If any part of Chase Now or chasenowsavings.com blocks you, tell us. A report from someone actually using the product is worth more than another pass by the person who wrote it.
Email [email protected]. What helps most: the screen or page, what you were trying to do, your assistive technology and its version, your browser and operating system, and what happened instead of what you expected. A rough description is fine; do not spend time making a perfect bug report.
Our commitment: a reply from a person within five business days, not an automated acknowledgement. It will say whether we reproduced the problem, how serious we think it is, and either the fix we are working on or a workaround you can use now. If a barrier stops you completing a task, we will also offer to get it done another way — for example walking you through the exported JSON file rather than the interface that blocked you.
Escalation
If our reply does not resolve the problem, or five business days pass without one, escalate in writing to Chase Now Labs, Inc., 2261 Market St #4718, San Francisco, CA 94114, or email [email protected] with “Accessibility escalation” in the subject line.
You are also entitled to take the matter further. In the United States, complaints about disability discrimination can be filed with the Civil Rights Division of the U.S. Department of Justice. In the European Union, the relevant national enforcement body can receive complaints about this product. In the United Kingdom, the Equality Advisory and Support Service can advise on options under the Equality Act 2010.
We would much rather fix the problem than be reported for it, and a complaint will never be a reason to restrict anyone’s access to Chase Now.
Questions about this document? Write to Chase Now Labs, Inc., 2261 Market St #4718, San Francisco, CA 94114 or email [email protected].
Related: Privacy Policy · Terms of Service · Cookie Policy