A browser experiment · no install

The UI is wrong.
Your test still says PASS.

Save English, reload a deliberately broken page, then add one observation to catch what the first check missed.

01 / CHOOSE WHAT TO CHECK

Run the same save and reload.

Ready. Run the broken example first.

No result has been collected yet.

The first check compares stored language, declared language and language-labelled element counts.

Toggle this after a run to re-evaluate the same recorded values. It does not fix or rerun the app.

日本語:保存→再読込を実行すると、本文が壊れても最初の検査はPASSします。チェックを追加すると、同じ観測結果から故障を検出できます。正常系とも比べてください。

02 / LOOK AT THE ACTUAL PAGE

The message after reload

Before reload: not recorded

Read-only preview of the actual fixture. Use the run button to control it; the recorded before/after values are below.

03 / INSPECT THE EVIDENCE

Which value changed?

ObservationBefore reloadAfter reloadIncluded?
Run the example to collect values.

A count of one element labelled “en” does not prove its text is English. The stronger check expects the single leaf's exact textContent to remain Saved.

What this does — and its limits

This page runs a small browser harness, not the Node CLI. It saves English in a synthetic iframe, records the baseline, performs a real iframe reload and reads the result. The fixture is byte-identical to the published single-text example.

The count implementation here is scoped to that fixture's heading: a non-empty box and CSS visibility. It is not a general replacement for Playwright locators. Text is read from a leaf with no hidden children; no pixel, occlusion, screen-reader or translation-quality test is made.

Only the fixture's example-single-language storage key is temporarily used; its previous value is restored after a run. No app URL, account, API key or user data is requested. Blocked storage or a missing baseline produces an error instead of a PASS. Do not run the same synthetic fixture concurrently in another tab.

These faults are authored examples. A reader's feedback prompted the count-only counterexample. Browser runs on this page are not counted as independent own-app adoption.