Compliance

Accessibility

Last updated

The Daily Oracle aims to meet WCAG 2.1 Level AA across every page on this site and inside the daily-ritual web app. This page is reviewed and updated as we test, ship and improve.

Last reviewed: .

Our standard

We target the Web Content Accessibility Guidelines (WCAG) 2.1, Level AA, published by the W3C. Where individual surfaces can comfortably meet Level AAA criteria (body-text contrast, focus indication, font sizing), we apply those too.

What we’ve done

Semantic structure

  • Every page uses the standard landmarks <header>, <nav>, <main>, and <footer> so screen readers can navigate by region.
  • One <h1> per page; heading levels are used in logical, descending order.
  • A “Skip to the Oracle” link is the first focusable element on every page.
  • The hidden engine bay that powers the app is marked aria-hidden="true" and inert so assistive technologies ignore it entirely.

Keyboard & focus

  • Every interactive element is reachable with the Tab key in source order.
  • Focus rings are 3 px solid, high-contrast cyan on dark, deep-blue on light, with a 3 px offset and rounded corners.
  • Modal dialogs and the first-run coachmark trap focus and restore it to the trigger on close.
  • The Esc key always closes any open modal or menu.
  • No element is reachable only by mouse.

Colour, contrast & theme

  • Body text contrast: ≥ 7:1 (AAA) on both dark and light themes.
  • Gold buttons: 8.4:1 (ink text on antique-gold).
  • Light-mode gold accent: 4.9:1 (AA) — deliberately darker than the dark-mode gold so the same token always meets AA.
  • No information is conveyed by colour alone — status badges always include a label.
  • A high-contrast preset is applied automatically when the OS signals prefers-contrast: more.
  • Light and dark themes both pass independent contrast audits; the OS preference (prefers-color-scheme) drives the default.

Motion & animation

  • The ambient breathing halo, page-entry animation, and wheel spin are all gated by prefers-reduced-motion; when reduced motion is requested they snap directly to their final state.
  • No content auto-scrolls, auto-plays sound, or flashes.
  • Hover lifts are limited to a soft shadow swap; no parallax, no horizontal carousels.

Forms & inputs

  • Every input has a programmatically-associated <label>.
  • Required fields are marked semantically (required) and visually with a short note above the field.
  • Inputs render at 16 px font-size on mobile so iOS does not zoom on focus.
  • Error messages appear inline next to the field they describe, not only via colour.
  • The contact form ships with a honeypot field to keep the visible form free of CAPTCHA friction.

Sizing & touch targets

  • Tap targets in the app: ≥ 48 px.
  • Tap targets elsewhere on the site: ≥ 44 px.
  • Text is fluid (clamp()-based) and reflows cleanly down to 320 px viewport width and up to 200% browser zoom.
  • The page never causes horizontal scroll on standard viewports.

Live regions & status

  • The Fortune’s Wheel spin announces “The wheel is turning…” and then the result via a polite live region.
  • The daily reveal is wrapped in an aria-live="polite" container so the three signs are announced together.
  • Form submission states (success, error) are also announced as live status messages.

Images & media

  • Every meaningful image has a descriptive alt attribute; decorative images use alt="" or aria-hidden="true".
  • The Fortune’s Wheel canvas carries a textual aria-label describing what it is.
  • Embedded video, where used, ships with captions when the source upload was captioned; we do not embed uncaptioned video on the marketing site.

Testing & assistive technologies

We test with the following combinations, on the most recent two major versions of each browser:

  • VoiceOver on macOS Safari and iOS Safari.
  • NVDA on Windows Firefox and Chrome.
  • TalkBack on Android Chrome.
  • Keyboard-only navigation, Windows High Contrast Mode, and the Forced Colors media query.
  • Automated checks: axe-core, Lighthouse Accessibility audit, and the W3C Markup Validator on representative pages.

Known limitations

  • The decorative Fortune’s Wheel canvas exposes a textual fallback but cannot be navigated with arrow keys. The reveal text below the canvas is fully accessible and remains the canonical reading.
  • Embedded video sometimes lacks captions if the source upload was uncaptioned. We are progressively replacing those.
  • PDF downloads, where used, are reviewed for accessibility before publication, but some legacy documents may still need remediation. Tell us and we will reissue.

Alternative formats

If a page is hard for you to read or use, we’ll provide an alternative format on request — plain-text, large-print, or a phone walk-through. There is no cost.

Feedback — tell us about a barrier

If you find a barrier on this site, please tell us. Choose “An accessibility report” on the Contact page, or write directly to winner@yourdailyoracle.com.

We aim to acknowledge accessibility reports within two business days and to ship a fix within fifteen business days — sooner if the barrier blocks core use of the site.

Enforcement

If we cannot resolve an accessibility issue to your satisfaction, you can raise it with your local regulator: the U.S. ADA, the Accessible Canada Act, the EU Web Accessibility Directive, or the equivalent in your jurisdiction.