Skip to content

Testing

We default to Test-driven development (TDD) where possible and keep tests focused on one responsibility at a time.

TDD loop

  1. Focus on one responsibility.
  2. RED: define contracts and APIs without implementation.
  3. RED: write exhaustive tests (they should fail initially).
  4. GREEN: implement the minimum code to pass tests.
  5. REFACTOR: improve general code quality.

Why this matters

The loop promotes continuous verification and encourages clean decomposition.

Read more

See TDD: Red, Green, Refactor for a refresher.

Accessibility checks

Accessibility checks are part of testing, not optional polish.

  • Verify keyboard navigation with Tab and Shift+Tab: focus order should be sequential, intuitive, and aligned with WCAG guidance.
  • Use WCAG 2 Overview as the baseline standard reference and validate against WCAG 2.2 AAA.
  • All developers are expected to install and use axe DevTools to catch hidden accessibility issues that are easy to miss manually.
  • In axe DevTools, use these required settings:
    • Best Practices: Enable
    • Accessibility standard: WCAG 2.2 AAA
  • Install links:
  • Run accessibility checks during development, not only before release.
  • Prioritize recurring checks on accessibility-critical workflows:
    • Form-heavy flows (signup, checkout, onboarding, settings).
    • Authentication and account recovery flows (login, MFA, password reset).
    • Navigation patterns (menus, dialogs/modals, tabs) with full keyboard and focus coverage.
    • Search, filtering, and data-heavy interfaces (results pages, tables, pagination).
    • Error handling and validation states (inline errors, toast/alert messages, empty states).
  • Use WAI-ARIA Authoring Practices Guide (APG) as a reference for accessible interaction patterns.

Automation

You can automate a large portion of accessibility checks in CI with axe-based tooling.