Use when deciding which browsers, OS versions and devices to test: a three-tier matrix built from traffic data, quarterly re-tier reviews, a published support policy and test budget, or the case for dropping an old browser. The Playwright, Selenium Grid and cloud-grid skills run it.
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Budget reference for browser-matrix-strategy-reference: decide how
large a compatibility matrix the team can afford and publish that
commitment - tier-1 (must work; per-PR) vs tier-2 (must work;
nightly) vs tier-3 (should work; pre-release) vs unsupported, with
example budgets per product type, the matrix-size cost / coverage
trade-off, and "what we support" external templates. The main skill's
tier heuristics pick WHICH browsers belong in each tier; this
reference caps HOW MANY and publishes the policy.
Without an explicit budget, "compatibility" creeps:
A compatibility budget is a deliberate decision: which configurations the team commits to support, at what tier, with what consequences for unsupported configurations.
Four tiers signal engineering investment, not user importance - a low-traffic configuration under contractual obligation may still be Tier 1:
Full definitions and CI cadence: compatibility-budget-tiers.md.
Worked starting budgets for a modern web app, an internal SaaS, an open-source library, and a mobile native app are tabulated in compatibility-budget-tiers.md. Copy the closest template and adjust each combo's tier against your telemetry (§6).
The budget directly affects CI cost:
CI cost = N_tier1 × per_PR_cost + N_tier2 × nightly_cost + N_tier3 × manual_review_costFor a typical web product (5 Tier 1 configs + 2 Tier 2 + 4 Tier 3):
A team's CI budget caps the total; the budget shapes the matrix.
Publish externally (docs, marketing, README):
# Browser / OS support
We officially support:
## Tier 1 (per-release tested)
- Chrome (current + 1 prior major version)
- Edge (current)
- Safari (current + 1 prior major version)
- iOS Safari (current + 1 prior major version)
- Chrome on Android (current)
## Tier 2 (nightly tested; bugs fixed within 1 release)
- Firefox (current)
## Tier 3 (best-effort; bugs may take longer to fix)
- Firefox on Android
- Samsung Internet
## Unsupported
- Internet Explorer 11 - last supported v1.4.0 (EOL 2025-12-31).
- Chrome < version 100 - security vulnerabilities; not supported.
- Older mobile OSes - see mobile platform support table.
If you experience an issue on a Tier 3 or unsupported configuration,
please open an issue but understand the priority is lower.The external statement sets user expectations; the internal tiers guide engineering.
Browsers / OS / runtime versions evolve; the budget needs review:
| Trigger | Action |
|---|---|
| New major OS / browser release | Add to Tier 1; re-evaluate older. |
| Tier 3 configuration generates >5 issues | Promote to Tier 2 OR retire to unsupported. |
| Tier 1 configuration generates 0 issues / quarter | Consider demoting (controversial - get team consensus). |
| Vendor announces EOL | Move to unsupported on EOL date. |
If the team has analytics on browser / OS distribution, use it:
| Browser | % of users (last 30d) | Recommended tier |
|---|---|---|
| Chrome 130 | 42% | Tier 1 |
| Chrome 129 | 18% | Tier 1 |
| Safari 18 | 15% | Tier 1 |
| iOS Safari 18 | 10% | Tier 1 |
| Edge 130 | 5% | Tier 1 / 2 |
| Firefox 132 | 4% | Tier 2 |
| Chrome 128 and older | 3% | Tier 3 |
| Other (long tail) | 3% | Tier 3 |
The 80/20 rule: if a configuration has <1% usage, Tier 3 or unsupported. If <0.1%, unsupported.
A mid-size web app team caps its browser scope:
Cost check (§3): 6 Tier 1 combos on per-PR smoke stay inside the CI budget while 4 Tier 2 combos run once nightly. The team publishes the §4 support statement listing the three tiers plus the unsupported set, then calendars the §5 quarterly review. Result: cross-browser scope is capped at 10 committed combos behind a documented, defensible support policy.
These are different:
wcag-compliance-reporter in the qa-accessibility plugin).A user with a screen reader on Tier 1 Chrome should have Tier 1 accessibility experience. The two budgets compose.
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| No documented budget | Compatibility creeps; surprise costs. | Author per §2 + publish per §4. |
| Tier 1 = "everything we can test" | CI cost explodes. | Tier 1 should be the minimum-viable; promote consciously. |
| Unsupported = "we don't talk about it" | Users assume support exists; complaints surprise. | Explicit unsupported list (§4). |
| Quarterly review missed | Budget stale; supports end-of-life software. | Calendar invite (§5). |
| User-agent telemetry ignored | Tier 1 list doesn't match reality. | Use telemetry (§6). |
| Same budget across product variants | A B2B SaaS doesn't need the same browser support as a consumer site. | Per-product budget (§2 examples). |
playwright-testing (references/browser-matrix.md) - the
bundled-engine runner this budget configures.github-actions-test-jobs (in the qa-ci-integration plugin,
references/os-matrix.md) - sibling for the OS / runtime matrix.mobile-device-matrix-toolkit (in the qa-mobile plugin) - mobile-specific equivalent.wcag-compliance-reporter - accessibility compliance complement to the compatibility budget.