Accessibility Statement

Last updated: May 14, 2026 (Phase 18)

Our Commitment

GainTally is committed to providing a usable and accessible experience for all visitors, including those with disabilities. We believe that access to clear, unbiased clean energy information should not be limited by disability — whether you navigate by keyboard, use a screen reader, rely on voice control, or have low vision.

This site targets WCAG 2.2 Level AA conformance across all 20 calculators and platform pages. We additionally target select Level AAA Success Criteria as part of ongoing Phase 17 and Phase 18 enhancements. We audit continuously using automated tooling and manual review, and we document known issues transparently below.

Standards We Target

Our conformance target is the Web Content Accessibility Guidelines (WCAG) 2.2, published by the World Wide Web Consortium (W3C).

WCAG 2.2 Level AA (full conformance target)

All 20 calculators and platform pages are designed to meet WCAG 2.2 Level AA. Phase 17 added 9 new 2.2-specific Success Criteria to our audit scope: 2.4.11 Focus Not Obscured (Minimum), 2.4.12 Focus Not Obscured (Enhanced), 2.4.13 Focus Appearance, 2.5.7 Dragging Movements, 2.5.8 Target Size (Minimum), 3.2.6 Consistent Help, 3.3.7 Redundant Entry, 3.3.8 Accessible Authentication (Minimum), and 3.3.9 Accessible Authentication (Enhanced).

WCAG 2.2 Level AAA (opt-in, Phase 17 + Phase 18)

  • 2.4.12 Focus Not Obscured (Enhanced) — The focused element is fully visible and not partially hidden by sticky UI elements. Our sticky header and mobile bar implement scroll-padding-top to prevent obscuring.
  • 3.3.7 Redundant Entry — Calculator inputs persist via localStorage across pages. The email opt-in form remembers previous submissions using a sentinel cookie to avoid asking subscribers to enter their email again.
  • 3.3.9 Accessible Authentication (Enhanced) — Not applicable. GainTally has no user login or authentication flow.
  • 1.4.6 Contrast (Enhanced) — Text and images of text maintain a minimum 7:1 contrast ratio. Dedicated AAA contrast tokens (text-body-aaa, text-muted-aaa, text-chart-tick) are applied across platform pages and calculator result panels.
  • 1.4.8 Visual Presentation — Users can select foreground and background colors via dark mode toggle. Text is not fully justified. Main content columns are constrained to a readable width (max-w-[80ch]).
  • 2.1.3 Keyboard (No Exception) — All content and functionality is operable by keyboard without exception. Interactive card links expose focus styles via group-focus utilities alongside group-hover.
  • 2.3.3 Animation from Interactions — Motion-triggered animations respect the prefers-reduced-motion media query. Recharts draw animations and accordion transitions disable on motion-sensitive preference.
  • 2.4.9 Link Purpose (Link Only)— All link text is descriptive without relying on surrounding context. Generic labels (e.g., “Read more”) carry explicit aria-label attributes.
  • 3.1.3 Unusual Words — Technical terminology is defined in the Glossary (130+ defined terms). The Abbr component provides inline glossary links for key phrases.
  • 3.1.4 Abbreviations — All abbreviations are wrapped with the HTML <abbr title="..."> element (26-entry definitions map). The Abbr component is applied consistently across Methodology, state, and compare pages.

Reading Level — SC 3.1.5

We target a lower secondary education reading level (Flesch-Kincaid Grade ≤ 9) for editorial content across calculator and informational pages. A manual readability spot-check (Phase 18) assessed five representative pages: the About page (estimated Grade 8–9), two compare pages (Grade 9–11), and two state guide pages (Grade 10–11). State and compare pages use longer sentences to convey technical precision; this is characteristic of professional informational web content.

Supplemental content exemption: The Methodology page contains mathematical formulas, pseudo-code, and scientific notation that require technical reading proficiency (estimated Grade 12+). Per WCAG 3.1.5, this qualifies as supplemental content — a version requiring less advanced reading ability is not feasible for formula documentation. The Glossary (130+ plain-language definitions) and the inline Abbr abbreviation expansion component serve as supplemental support for technical terminology throughout the site.

How We Test

Automated testing — axe-core

We run axe-core (via the @axe-core/playwright integration) against 35 pages on every pull request and every push to the main branch. Our axe tag set includes wcag2a, wcag2aa, wcag21aa, wcag22aa, and best-practice. Any new violation causes the CI build to fail, preventing regressions from reaching production.

Manual testing

  • Keyboard-only navigation (Tab, Shift+Tab, Arrow keys, Enter, Escape)
  • Screen reader spot-checks: NVDA on Windows, VoiceOver on macOS and iOS, TalkBack on Android
  • Color contrast verification at 4.5:1 (normal text)
  • Mobile viewport testing at 320 px, 375 px, and 768 px widths
  • Browser zoom at 200% (text reflow, no horizontal scroll on 320 px)
  • 9 new WCAG 2.2 Success Criteria manually audited in Phase 17 baseline

Known Issues

The following issues are tracked and carried forward. They are formally recorded in our internal decisions log and will be re-evaluated in Phase 18 (production audit).

Color contrast — chart legend text

Some chart legend labels rendered by Recharts may not meet the 4.5:1 contrast ratio in specific color-blindness scenarios. Recharts renders legend text with its own default color system, which limits direct override capability. As a mitigation, every chart provides an equivalent accessible data table (visually hidden, available to screen readers) containing the same information. We plan to address legend styling in Phase 18.

aria-hidden-focus — decorative icons

Decorative SVG icons within some buttons are marked aria-hidden="true" while the parent button remains focusable. axe-core flags this pattern, though manual review confirms every such button has a visible accessible name or aria-label that is read by screen readers. This is a carrying decision pending Phase 18 production audit.

Browser & Assistive Technology Compatibility

Supported browsers

Latest two stable releases of Chrome, Safari, Firefox, and Edge. We do not actively support Internet Explorer.

Screen readers tested

  • NVDA + Firefox / Chrome (Windows)
  • VoiceOver + Safari (macOS, iOS)
  • TalkBack + Chrome (Android)

All 20 calculators are fully operable by keyboard alone. Focus indicators meet WCAG 2.2 SC 2.4.11 (minimum) and 2.4.13 (focus appearance): a 2 px teal outline with at least 3:1 contrast against adjacent colors.

Reduced Motion Support

We respect the prefers-reduced-motion media query across all animations. When this preference is detected, translate and scale animations are disabled on both the CSS layer (Tailwind utilities) and the JavaScript layer (Recharts chart draw animations). Opacity transitions are preserved, as they do not trigger vestibular symptoms. Skeleton pulse animations are replaced with a static gray background. See our Methodology page for further details.

Third-Party Certification

GainTally has not obtained an independent third-party accessibility audit or certification (such as a VPAT or formal conformance report) as of this writing. A full independent audit is planned following the Phase 18 production launch. In the meantime, we rely on continuous automated CI checks and manual review as described above.

Report an Accessibility Issue

If you encounter an accessibility barrier on this site, we want to know. Please email us at [email protected] with a description of the issue and the URL where you encountered it. We aim to respond within 5 business days and to address confirmed barriers in the next scheduled release cycle.

When reporting, please include the assistive technology and browser version you are using, if available — this helps us reproduce and fix the issue faster.

This accessibility statement reflects our current conformance target and known limitations. It does not constitute a legally binding conformance claim. We update this statement as our accessibility posture evolves.