diff --git a/docs/live-testing.md b/docs/live-testing.md
index 6b0b5a3..2d68191 100644
--- a/docs/live-testing.md
+++ b/docs/live-testing.md
@@ -56,3 +56,5 @@ The earlier smoke baseline followed the [WordPress live runner](https://github.c
After login, the test waits for authenticated report data for the mapped URL before opening the report panel, matching the WordPress flow. Diagnostic fields are independently filtered by the reporter; they contain no raw response fields, account text or URLs.
Report identity is checked against the exact `url` parameter on the SDK polling request. Like WordPress, the response must be authenticated, error-free, include a nonnegative numeric issue count and a nonempty `mainUrl`; that response field is not assumed to equal the crawled page URL.
+
+The test opens the Accessibility results section before asserting the documented image-alternative rule. Safe result diagnostics report only whether the category, target issue, alert, running/recheck controls or nested frames are present/visible. Setup and result diagnostics are merged through the same allowlist; no result text or URLs are retained.
diff --git a/tests/browser/result-navigation.spec.js b/tests/browser/result-navigation.spec.js
new file mode 100644
index 0000000..0d63feb
--- /dev/null
+++ b/tests/browser/result-navigation.spec.js
@@ -0,0 +1,22 @@
+const { test, expect } = require('@playwright/test');
+
+async function fixture(page, expanded, issue) {
+ await page.setContent(`
+ ${issue ? '