Accessibility

Fitness Tracker is designed with accessibility in mind. We're working hard to build an experience that works for everyone — including screen reader users, keyboard navigators, and anyone who just prefers clarity and simplicity.

Accessibility standards

Accessibility is baked into Greg Hluska Consulting development practices and is part of the Fitness Tracker development process. This is how we incorporate accessibility into the product and everything we do.

Tooling & Testing

We use a mix of automated tools and manual techniques to identify accessibility issues and improve user experience across platforms.

  • Lighthouse audits
    We regularly run Lighthouse to check for color contrast issues, missing ARIA roles, and other common problems.

  • Siteimp Synthetics
    Automated tests simulate real user flows (like tabbing through a page or triggering a modal) to help catch regressions.

  • Screen reader testing
    We manually test with NVDA (Windows) and VoiceOver (iOS) to hear how our content sounds in the real world.

  • Keyboard navigation
    We test all pages and components using only a keyboard to ensure focus states and tab order make sense.

  • ESLint a11y plugin
    In our React projects, we use code-level linting to catch accessibility issues before they ship.

  • Storybook accessibility
    We’re integrating the @storybook/addon-a11y plugin so we can review individual components in isolation.


Accessibility Checklist

Each component and page goes through a set of simple but important checks:

  • Headings follow a clear semantic hierarchy — there's always just one <h1>, and it's placed meaningfully.
  • All images include alt text with descriptions that work for screen reader users.
  • ARIA roles and labels are used sparingly, and only when native HTML doesn’t get the job done.
  • Buttons, toggles, and links are keyboard-navigable and clearly labeled.
  • Foreground and background colors meet or exceed WCAG AA contrast ratios.
  • A final accessibility-focused review is done for each component using a generative assistant to flag issues and offer suggestions.

A Word of Honesty

This is a journey. I’m still learning — and I know I haven’t gotten everything right yet.

There may still be things that don’t work well for everyone (like oversized icons, inconsistent tab order, or missing labels). If you find something that needs attention, I’d be grateful to hear about it.

Please reach out via the contact form.

Thank you for helping me build a more inclusive web, one step at a time.