Skip to main content
AirMilesCalc
Menu
Accessibility

Accessibility

AirMilesCalc accessibility statement — WCAG 2.1 AA goal, known limitations on the 3D globe and dense data tables, and the reporting channel.

Updated 2026-06-015 min read
Primary sources · 4
  1. [1] Web Content Accessibility Guidelines (WCAG) 2.1W3C Recommendation; sets the four POUR principles (Perceivable, Operable, Understandable, Robust) and 50 success criteria at Levels A, AA, and AAA · World Wide Web Consortium · Recommendation 5 June 2018; current Errata version 2024 https://www.w3.org/TR/WCAG21/
  2. [2] European Accessibility Act (Directive (EU) 2019/882)EU directive on accessibility requirements for products and services; private-sector products & services must comply from 28 June 2025 · EUR-Lex · Effective 28 June 2025 https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32019L0882
  3. [3] Section 508 of the Rehabilitation Act of 1973US federal accessibility standard; aligned with WCAG 2.0 Level AA via the Section 508 ICT Refresh · U.S. Access Board · Refreshed standards effective 18 January 2018 https://www.section508.gov/manage/laws-and-policies/
  4. [4] Accessible Rich Internet Applications (WAI-ARIA) 1.2W3C Recommendation for accessible web applications; defines role / state / property attributes used on the dynamic components on this site · World Wide Web Consortium · Recommendation 6 June 2023 https://www.w3.org/TR/wai-aria-1.2/

AirMilesCalc targets WCAG 2.1 Level AA conformance. Most of the site meets that bar today, with two component categories — the 3D globe visualisation and a handful of wide data tables — where we surface the same information through accessible alternative formats. This page describes what we aim for, what we have shipped, what is still pending, and how to report accessibility issues.

WCAG 2.1 AA
Conformance goal across every page on the site
W3C WCAG 2.1
28 June 2025
European Accessibility Act effective date we are tracking against
Directive (EU) 2019/882
0
Components that block access to the calculator's underlying numbers — every figure is available as text
By design
48–72 h
Typical response time on accessibility reports sent to info@airmilescalc.com
Project policy

What we aim for

AirMilesCalc targets the W3C WCAG 2.1 Level AA conformance level across every page on the site. That covers the Perceivable, Operable, Understandable, Robust principles — semantic HTML, keyboard-operable controls, sufficient colour contrast, resizable text, and content that does not rely on a single sensory channel. We also track compliance with the European Accessibility Act, whose private-sector obligations entered into force on 28 June 2025.

WCAG 2.1 principles and how AirMilesCalc maps to each
PrincipleWhat it meansHow the site addresses it
PerceivableInformation and UI components must be presentable in ways users can perceiveSemantic HTML, ≥ 4.5:1 colour contrast for body text, alt text on images, no information conveyed by colour alone
OperableInterface components and navigation must be operable via keyboard and assistive techNative HTML form controls, <details> / <summary> toggles, skip-to-content link, focus-visible outlines preserved
UnderstandableInformation and operation must be understandablePlain-English copy, every number explained in prose, FAQ blocks with schema.org, consistent navigation
RobustContent must be robust enough to be interpreted by user agents including assistive technologiesValid HTML, ARIA used sparingly and only where native semantics fall short, Next.js App Router server-rendered HTML for graceful no-JS degradation
Source: W3C WCAG 2.1 + AirMilesCalc implementation review

How the site is built for access

The site is implemented in semantic HTML throughout. Headings follow a strict descending order (h1 once per page, h2 for sections, h3 for sub-sections). Every interactive control is either a native HTML element or a <details> toggle — there are no custom JavaScript widgets that would require ARIA shims to be accessible. The mobile navigation in the top header uses native <details> so it works without JavaScript, and the hamburger summary is keyboard-operable by default.

  1. 1
    Skip to main content

    A keyboard-focusable skip link appears at the top-left on first keyboard interaction, jumping past the navigation directly to the &lt;main&gt; element.

  2. 2
    Single h1 per page

    Every route renders exactly one &lt;h1&gt; containing the page's primary topic. Subsections use &lt;h2&gt; and below in strict descending order.

  3. 3
    Form controls have visible labels

    Calculator airport selectors use the combobox pattern with visible labels and announced result counts. Submit buttons are real &lt;button&gt; elements, not styled &lt;div&gt;s.

  4. 4
    Focus visibility preserved

    No global outline: none rule. Default browser focus rings are kept, and on our brand colour they are tightened to a 2px ring at 3:1 contrast against the surrounding background.

  5. 5
    Colour contrast checked

    Body text on white backgrounds runs at 9.4:1 (well above the 4.5:1 AA requirement). Footer text on the dark navy background runs at 7.2:1.

Known limitations

Two component categories on the site present accessibility friction. We have chosen to ship them with documented alternatives rather than remove them, because the alternative path delivers the same information through accessible formats.

Components with known accessibility friction
ComponentWhere it appearsFrictionAccessible alternative path
3D globe (globe.gl, WebGL)Homepage calculator results, /distance/[route] pagesVisualisation is not directly meaningful to screen-reader or low-vision usersThe same route is described in text on the page (origin, destination, distance in miles / km / NM, bearing in degrees and cardinal direction). The globe is decorative; no information depends on it.
Wide DataTables on /privacy and /methodology subpagesCookie inventory; DEFRA factor tables; WGS-84 parameter tablesOn viewports below ~480px the tables require horizontal scrollingTables are wrapped in `overflow-x-auto` so they scroll inside their container rather than triggering page-level scroll. Caption + source text is always rendered alongside the table.
Leaflet airport maps/airport/[iata] right column; /airports/[country] heroMap markers are visual; tooltips are mouseover-drivenBelow every map, the same airports are listed as text links with their IATA codes, coordinates, and route counts. The map is a secondary entry point.
OG image APILinked from `og:image` meta tags; not rendered in-pagePure visual content; not encountered by site users directlyTitle and description meta tags carry the same information in text form for screen readers and crawlers.
Source: AirMilesCalc accessibility audit

How to report accessibility issues

If you encounter a barrier on AirMilesCalc — missing alt text, a keyboard trap, a low-contrast element, a screen-reader announcement that does not match what is visible — email info@airmilescalc.com with “Accessibility” in the subject line. A useful report includes the page URL, the assistive technology and browser you were using, what you expected, and what you actually experienced.

  1. 1
    Capture the URL and AT/browser

    Include the exact URL where the issue appeared, the assistive technology (e.g., NVDA 2024.1, VoiceOver on iOS 18), and the browser name and version.

  2. 2
    Describe expected vs actual

    Write what you expected to hear or see, and what you actually encountered. A short transcript of screen-reader output is gold.

  3. 3
    Send to info@airmilescalc.com

    Email the same address used for general correspondence. Routine accessibility reports get a reply within 48–72 hours; severe barriers are prioritised and patched the same week where feasible.

Standards we map against

We use the following standards as the conformance reference set. Where they overlap, the strictest applicable requirement governs.

Accessibility standards we conform to or track
StandardScopeStatus
WCAG 2.1 Level AAWeb content (primary conformance target)Active &mdash; ongoing audit
EU EAA / Directive 2019/882Private-sector products and services; effective 28 June 2025Tracking &mdash; site falls under &lsquo;e-commerce&rsquo; functional category
Section 508 (US federal ICT)Aligned with WCAG 2.0 AAIndirectly covered by WCAG 2.1 AA conformance
WAI-ARIA 1.2Where ARIA is needed for custom widgetsUsed sparingly; native HTML preferred
Source: W3C; EU; US Access Board

Frequently asked

Is AirMilesCalc fully WCAG 2.1 AA conformant?
We target Level AA across every page and audit annually. As of the last review most of the site meets the bar; the two known-friction component categories (3D globe and the wide tables on /privacy and methodology subpages) are documented above with their accessible alternative paths. We do not claim full conformance without an external audit.
Does the calculator work without JavaScript?
The static reference content (/methodology, /learn, /airports, /privacy, /terms, /about) renders without JavaScript. The interactive Calculator on the homepage and the route 3D globe require JavaScript. If JS is disabled, users can still browse every methodology, learn, and airport page; the calculator output is also available via direct URL like /distance/jfk-to-lhr which renders the same numbers as static HTML.
Can I use keyboard alone to navigate the site?
Yes. Every interactive element is reachable via Tab; the skip-to-content link appears on first Tab press; the mobile navigation uses native &lt;details&gt; so it expands with Enter or Space. The Calculator combobox supports Arrow keys to navigate suggestions and Enter to select.
What about the 3D globe — is that ever going to be screen-reader accessible?
The globe itself is a WebGL visualisation that is fundamentally not directly screen-reader-accessible. We treat it as a decorative element and surface the same information (origin, destination, distance, bearing) as text alongside it. We are exploring an off-screen narrated summary as an additional alternative path.
Where do I report an accessibility barrier?
Email info@airmilescalc.com with 'Accessibility' in the subject. Include the page URL, your assistive technology and browser, what you expected, and what you actually encountered. We reply within 48–72 hours and patch severe barriers the same week where feasible.

Related