# ORBIT PAIRS

A self-contained 4x4 memory game demo built with plain HTML, CSS, and JavaScript.

## Open the game

Double-click `game/index.html` or open the file directly in a modern browser. No server, build step, package installation, or internet connection is required.

## How to play

- Select any card, then select a second card.
- Matching cards stay revealed; nonmatching cards turn back over.
- The timer starts with the first move, and the move counter updates after each two-card attempt.
- Use `Tab` to enter the board, arrow keys to move between cards, `Home` or `End` to reach its ends, and `Enter` or `Space` to select a card.
- Reduced-motion preferences disable decorative and card animations.

## Limitations

- This is a public demonstration, not a production game or an account-based experience.
- The deck is randomized for each new game only; progress is not saved.
- No network requests, analytics, cookies, local storage, packages, external assets, or paid services are used.
- JavaScript must be enabled for play.

## Accessibility follow-up

Independent QA found that hidden cards exposed their symbol names in `aria-label`, which revealed matching pairs to screen-reader users. The label behavior was revised so hidden cards announce only “Card N, hidden”; a symbol name is exposed only after that card is selected or matched. A subsequent follow-up added a persistent `aria-label="New orbit"` to the header restart button so it remains named when its visible text is hidden on narrow screens. No automated checks or browser launches were run after this follow-up, by explicit request.

## Checks

No automated checks or browser launches were performed for this exercise, by explicit request. The implementation was authored for independent browser, keyboard, and accessibility testing.
