frontend release readiness
why
release readiness is a claim about people, not the toolchain. a passing build proves compilation; a lab score proves one synthetic visit under one condition. neither proves a keyboard-only visitor completes the task, a denied state offers recovery, or private data stayed private once deployed. sampling real journeys across the shapes the release depends on is the only evidence matching the claim; recording each finding with route and observed result keeps it auditable. trusting tool output releases the homepage and ships the failures everywhere else.
rule
a frontend is ready to release only when representative user journeys pass a risk-ordered audit in the running environment. build results are input, not proof that a person can discover, understand, operate, and recover from the deployed interface.
no single undifferentiated checklist: define the surfaces that represent the product, inspect each quality boundary with the right evidence, resolve the highest-impact failures first.
choose representative surfaces
audit at least one surface from every shape the release depends on:
| surface | what it can reveal |
|---|---|
| entry or landing page | document metadata, responsive shell, navigation, crawl signals, initial loading cost. |
| content-heavy page | heading structure, reading order, links, media treatment, long-page performance. |
| primary task flow | form semantics, keyboard operation, validation, loading, success, failure recovery. |
| authenticated or personalized page | authorization boundaries, private-data exposure, cache behavior, truthful empty states. |
| not-found and dependency-failure states | recovery paths, status correctness, diagnostics, navigation usability. |
checking only the homepage proves only the homepage. add a surface whenever it introduces a distinct layout, interaction model, data authority, or trust boundary.
audit in risk order
1. document foundation
confirm standards-mode markup, character encoding, language, text direction, viewport behavior, meaningful titles and descriptions, one clear main region, logical headings, semantic controls, stable canonical identity, intentional crawl/index behavior. structure comes first: accessibility tools, search systems, browser behavior, and automation all depend on the document they receive.
2. operability and access
complete the primary journeys using the keyboard. verify visible focus, sensible focus order, accessible names, bound labels and errors, readable contrast, zoom without lost content, reduced-motion behavior, equivalent state announcements. automated scans are a floor; manual operation proves the journey.
deeper contract: accessibility.
3. discovery and sharing
inspect the rendered metadata and public responses, not only source configuration. verify descriptive titles, summaries, canonical URLs, share previews, structured data where it represents a real entity, sitemap coverage, robots rules matching the intended public boundary. crawlable is not the same as useful to index; indexable is not the same as truthfully described.
4. runtime cost and stability
measure the deployed page on representative mobile and desktop conditions: late movement, slow primary content, delayed interaction response, blocking assets, oversized scripts and images, missing dimensions, poor cache policy, main-thread work. record measurements with route, device profile, environment, and time — an unscoped score is not durable evidence.
5. transport and browser security
verify secure transport and redirects, content restrictions, referrer policy, content-type protection, safe cross-origin behavior, trusted third-party assets, no unsafe dynamic execution. exposed secrets, executable untrusted content, broken authorization, and insecure transport are release blockers.
6. privacy and international use
confirm optional tracking waits for required consent, rejection is as usable as acceptance, stored preferences match the stated policy, and sensitive data stays out of URLs, logs, and client storage without an approved reason. verify language metadata, long and translated copy, locale-aware formatting, rtl layout when supported, and interaction without assumptions about english word length or left-to-right direction.
7. resilience and release proof
exercise pending, empty, denied, invalid, dependency-failure, offline where relevant, not-found, and ready states. each state must explain the observed fact and offer only a valid next action. follow truthful product states for state semantics and deployment and UAT for live evidence.
classify findings by user impact
| priority | meaning | release decision |
|---|---|---|
| blocker | prevents a core journey, exposes people or data, violates an enforced obligation, or makes the release materially untrustworthy. | repair before release. |
| high | seriously harms access, discovery, performance, security, or recovery for a meaningful user group. | repair before release unless an accountable owner records a bounded exception. |
| normal | a real quality defect with contained impact and a clear remediation boundary. | assign an owner and completion condition. |
| conditional | valuable only for a supported capability, audience, or platform mode. | apply when that condition is part of the product contract. |
priority belongs to the observed failure in this product, not a universal label from a generic list: a missing caption is a blocker when the video carries required instructions; an install manifest is irrelevant when the product does not promise installation.
evidence record
every finding or pass identifies:
- route and journey;
- viewport, input mode, locale, authorization state when relevant;
- expected contract and observed result;
- evidence source: response, DOM, keyboard pass, screen reader pass, browser measurement, security-header inspection, or durable side effect;
- priority, owner, remediation boundary, verification command or flow.
deduplicate one root cause across surfaces instead of reporting each symptom. rerun focused checks after repair, then repeat the representative journey in the deployed environment.
do not
- claim readiness from typecheck, build, lint, or a single audit score.
- audit only the successful desktop state of the homepage.
- treat every checklist item as mandatory without checking product scope.
- let automated tooling replace keyboard, screen reader, responsive, or user-journey verification.
- accept visual polish while document structure, focus behavior, or error recovery remains broken.
- record a defect without route, observed evidence, impact, and repair owner.
- declare a repair complete before the deployed surface proves it.
good and bad
bad
homepage lighthouse score: 100release: ready
one lab run cannot prove task completion, accessibility, private surfaces, failure recovery, security boundaries, or other route shapes. a release justified only by this score ships broken keyboard journeys, exposed private data, and dead recovery paths to every visitor on every other route — and leaves no evidence to audit after the fact.
good
surfaces: entry, article, sign-in flow, authenticated workspace, not-foundinputs: keyboard and pointer; mobile and desktop; default and long-copy localeevidence: rendered document, accessibility pass, browser measurements, response headers, live task completionresult: blockers fixed; remaining findings have owners and explicit completion conditions
the conclusion is traceable to representative journeys and multiple kinds of evidence; each finding carries route, observed result, owner, and completion condition, so the release claim survives audit and every remaining defect has a repair boundary instead of a hope.