Care for everyone. Including the way you read, hear, see, move, and think.
RxPulse is built so people who navigate by keyboard, screen reader, voice, or simply with a different rhythm can actually use it. This page documents what's in place today, what we are still working on, and how to tell us when something gets in your way.
We partially conform to WCAG 2.1 Level AA.
"Partial conformance" is the formal phrase under EN 301 549. As of the most recent audit, every marketing page on rx-pulse.com passes the WCAG 2.1 AA color-contrast, ARIA, and structure checks our automated and manual reviews exercise. The remaining backlog items listed below sit on the patient app, which is reviewed under a separate cadence and is not in the scope of the current audit. We treat AA as the floor, not the ceiling, and we measure ourselves against it on every deploy.
The things you'd check if you were running an audit.
Keyboard navigation
Every interactive element is reachable with Tab and operable with Enter or Space. Focus order follows the visual reading order. No keyboard traps.
Color contrast
Body text meets at least 4.5:1 against its background. Large text meets 3:1. Interactive states (hover, focus, active) keep the same contrast minimums.
Visible focus indicators
A coral focus ring lands on every keyboard-focused interactive surface. Never invisible, never display:none.
Screen reader compatibility
ARIA roles and labels reflect what each control actually does. Designed for compatibility with NVDA, VoiceOver, JAWS, and TalkBack. Full screen-reader walkthroughs are scheduled before the next quarterly review.
Descriptive alt text
Every meaningful image has alt text describing what's in it. Decorative images carry empty alt so screen readers skip them cleanly.
Reduced motion
The hero animations, fade-ups, scroll-driven transitions and looping ambient effects all respect prefers-reduced-motion: reduce.
Semantic structure
Pages use a single h1, ordered h2 / h3 hierarchy, and proper landmarks (header, main, nav, footer) so assistive tech can build a useful outline.
Form labels and errors
Every form field has a programmatically associated label. Error messages link to the field they describe and are announced to screen readers.
Tested on every deploy
axe-core runs against the marketing surface in our continuous-integration pipeline. Any new critical or serious violation fails the build.
Transparent about what's still rough.
We don't claim perfection. The honest list of items currently in our backlog:
- 1Patient-app glass cards in dark mode
Some glass-morphism cards in the Pulse patient app use translucent backgrounds that complicate automated contrast detection. Visual contrast passes when measured manually. Resolving by bumping the dark-mode card opacity in our next pass.
- 2Voice-mode dictation accuracy
The Allie voice companion currently transcribes English best. Accents, dysarthric speech, and non-English languages can produce lower-quality transcriptions. We are expanding the supported voice provider set and tuning the fallback chain.
- 3Charts and clinical visualisations
Long-form trend charts in the patient app currently provide a text summary alongside the SVG. We are extending the SVGs themselves with full ARIA descriptions and a downloadable data table fallback.
Audit cadence, written down.
Every PR runs the full axe-core ruleset against the live marketing build. Any new critical or serious violation fails the check and blocks merge.
New surfaces get a keyboard walkthrough and visual contrast check before they ship. Full screen-reader walkthroughs (NVDA, VoiceOver, JAWS, TalkBack) are scheduled before the next quarterly review, with findings feeding the backlog above.
When scope changes, we update this page and stamp the new audit date at the top. No silent rewrites.
What we've tested it actually works with.
The combinations below are part of our regular review. Other reasonably modern browser and assistive technology combinations should also work, please tell us if one doesn't.
| Browser | Operating system | Assistive technology | Status |
|---|---|---|---|
| Chrome (latest) | macOS, Windows, ChromeOS | Keyboard only | Self-checked |
| Safari (latest) | macOS, iOS, iPadOS | VoiceOver | Spot-checked |
| Firefox (latest) | macOS, Windows, Linux | Keyboard only | Self-checked |
| Edge (latest) | Windows | NVDA / Narrator | Scheduled |
| Chrome (latest) | Android | TalkBack | Scheduled |
The dated record of what we've reviewed.
- Self-audit
Two passes shipped today: design polish, then a Notion feedback list with explicit a11y wins.
- Coral as inline body text on white is retired across the marketing surface in favour of plain ink (16:1+) or coral-background pills with dark text. About 100 sites swept. Contrast moves from "passing" to "comfortable" almost everywhere it had been tight.
- Section gaps inside the patient app increased from 32 to 48 px, page wrappers loosened top and bottom, and home modules now sit 20 px apart instead of flush against each other. Targeted at the older end of the user base where less density measurably helps.
- The horizontal scrollers on the patient home (news, recipes, topics, collections) had been silently breaking link clicks because a custom drag implementation was intercepting pointer events. Switched to Embla, which handles drag-vs-click correctly. WCAG 2.1.1 keyboard equivalence restored on carousel cards.
- Accessibility text-size widget redesigned from a +/- button pair into a discrete-step draggable slider with five steps (small to extra-large). Keyboard accessible via arrow keys, respects prefers-reduced-motion, value readout announced. Direct improvement to WCAG 1.4.4 resize text affordance, which the previous control did not visually communicate.
- Back-button on every detail page (news, articles, recipes) now returns to the page the user came from instead of the canonical listing. Reduces orientation cost (WCAG 3.2.3-adjacent), particularly for users with cognitive load constraints who lose the sense of where they are after multiple back presses.
- Community avatars fall back to Google-style initial circles when no photo is on file. Avoids decorative-image-as-content traps (WCAG 1.1.1) and gives screen readers a meaningful aria-label (the person's name) instead of an empty img element.
- Meal plan grocery list moved from inline expansion into a bottom drawer, so the page no longer reflows the rest of its content when the list opens. Helps focus management for keyboard and screen-reader users.
- Three references to .png avatar images on the home page were 404ing while the files on disk are .webp. Fixed.
- Self-audit
Marketing surface fully passes WCAG 2 AA color-contrast, automated coverage extended.
- Cleared the 16 routes that the previous pass had been tracking as known-failure. The cause was two recurring patterns: a coral accent at 2.5:1 on white where it was being used for inline body text, and a faded gray for captions at 2.6:1 on white.
- Coral is now split into three context-appropriate variants: a bright accent for hero decoration only, a darker variant for inline coral text on light backgrounds (5.1:1 on white), and a lighter variant for coral text on dark hero sections (8.1:1 on the inverse surface).
- Inline links inside long-form prose (legal pages, blog detail, insights articles) now underline by default, so the link is recognisable without relying on color alone.
- Several localized marketing routes had been gated behind login by accident, so axe-core was not exercising them. Those pages are public again, axe coverage now includes them, and they pass on the same criteria as the rest of the surface.
- Self-audit
First end-to-end accessibility pass on the marketing surface.
- Eight contrast violations on uppercase eyebrow chips and proof-stat rows, fixed.
- Two glass-card backdrops produced ambiguous contrast, switched to solid backgrounds.
- No alt-text gaps; no keyboard traps; semantic heading hierarchy verified.
- axe-core wired into Playwright with critical and serious as the merge-blocking threshold.
We add an entry every time we run a substantive review. External audits will appear here too once we engage a third party.
Aligned with the major frameworks.
A Voluntary Product Accessibility Template (VPAT 2.5) is available on request.
If you're a payer, provider, or accountable care organization who needs the formal procurement document, email accessibility@rx-pulse.com and we'll send the latest signed version.
How this page itself is maintained.
- First published
- 2026-04-27
- Last reviewed
- 2026-04-29
- Next review
- 2026-07-29
- Prepared by
- RxPulse Engineering
- Methodology
- Self-evaluation. Automated testing with axe-core and Lighthouse on every pull request. Manual review of new pages before they ship.
- Scope
- Marketing surface (all public pages on rx-pulse.com). The patient app is reviewed under separate cadence and will appear here when complete.
Found a barrier? Tell us.
We respond within 5 working days. If something on RxPulse keeps you from doing what you came to do, we want to hear about it, even if it isn't technically a violation.
Within the EU, you can escalate unresolved accessibility concerns to your national enforcement body under EN 301 549 / Web Accessibility Directive. In the United States, complaints can be raised with the Department of Justice (Civil Rights Division) under ADA Title III, or with the appropriate state agency. We would much rather hear from you first so we can fix it directly.