Browse documentation

Initial consent-controls browser verification

On this page 4 sections

18 October 2026. These are recorded manual Chromium checks of the fictional local example, not an automated cross-browser suite or a WCAG/legal audit.

Requirements exercised: REQ-PRODUCT-MOBILE, REQ-PRODUCT-A11Y, REQ-EU-FAIR-CHOICE, REQ-ES-CHOICE, and the local interaction portion of REQ-EU-CONSENT. Runtime failure and lifecycle scenarios run separately in packages/notabenda/test/consent.test.mjs.

Observed

The initial checks below used the earlier visual theme. The refreshed defaults and updated mobile measurements are recorded in website and design verification; screenshots now show that refreshed theme.

The visible initiated-request counter demonstrates the sample integration path; it is not a packet capture or an audit of arbitrary host scripts. Lifecycle unit tests assert loader invocation and cleanup/abort boundaries directly. The example's only optional work is a local synthetic fetch and a removable localStorage item.

Reproduce

Run npm run dev, then visit /choices or /dark/choices. A fresh local origin starts with no choice. Use preferences to grant one purpose, reload, and open a second tab to withdraw. Review the matching privacy/cookie pages: they describe the optional sample items and the preference-memory items. Check consent storage/expiry and integration lifecycles through the headless API tests rather than fabricating browser evidence.

Screenshots: initial phone notice, phone drawer, alternate theme.

Still required before release

WebKit/Firefox and physical iOS/Android; 360-width and full breakpoint matrix; 200–400% zoom and large text; long translations and RTL; forced-colors and contrast audit; virtual keyboard/safe areas; screen-reader and full keyboard review; no-JS/blocked-script execution checks; network/storage inspection of real adapters and embeds; SPA/BFCache/navigation flows; lifecycle failures surfaced through the UI; and regional applicability/wording review. The product and legal requirements remain partial for these reasons.

Long-copy and direction hardening

Later checks and fixes are recorded in controls-layout.md. Long headings now wrap with Close reachable; enlarged action labels stack when needed. Normal layouts retain fixed header/actions, while constrained layouts and browsers without resize observation use whole-dialog scrolling. This extends the initial Chromium width, keyboard and RTL evidence above; the remaining zoom/platform/assistive-technology items are still open.