Skip to content

Commit bef3d92

Browse files
feat: golden-standard a11y, mobile, pedagogy, perf & security pass
Re-applies the full multi-agent audit fixes (45 verified findings): Accessibility (measured Lighthouse 100): - role=status live regions; non-live transcripts so results aren't re-read - dedicated --accent-text / --on-accent tokens fix light-theme AA contrast - thead/tbody + scope=row tables; sr-only labels; diff highlight - forced-colors support; focus-visible coverage; skip link to <main> Mobile: - 44px touch targets (coarse pointer), 16px inputs (no iOS zoom) - safe-area insets, 100dvh, signer-grid capped on small screens - narrow-screen header guard Pedagogy / UX: - explicit G_T equality reveal with MATCH/NO-MATCH in sign/verify + aggregate - live rogue-key forgery + Proof-of-Possession defense (Section D) - onboarding step hints, Reset buttons, message-change invalidation - honest deterministic pairing-count metric (2n vs 2) Performance (FCP 0.8s, LCP 1.0s, CLS 0): - lazy dynamic import of @noble/curves (code-split, 93kB -> 35kB main) - chunked async keygen/sign with progress; interaction-triggered warm-up - inlined CSS to drop the render-blocking request Crypto correctness: - quantum security: Shor breaks ECDLP (not "64-bit"); co-CDH/ROM, easy-DDH - message-augmentation pairing count; same-message assumption note Robustness: - aggregate race fixed via pre-await snapshot + try/finally - error handling around all crypto calls Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 3e1c08f commit bef3d92

3 files changed

Lines changed: 1065 additions & 275 deletions

File tree

index.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,18 @@
99
})();
1010
</script>
1111
<link rel="icon" type="image/svg+xml" href="/crypto-lab-pairing-gate/favicon.svg" />
12-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
12+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
13+
<meta
14+
name="description"
15+
content="Interactive BLS12-381 demo: generate keypairs, sign and verify with real pairing arithmetic, and watch many signatures aggregate into one."
16+
/>
17+
<meta name="color-scheme" content="dark light" />
18+
<meta name="theme-color" content="#0a0e1a" media="(prefers-color-scheme: dark)" />
19+
<meta name="theme-color" content="#f8fafc" media="(prefers-color-scheme: light)" />
1320
<title>Pairing Gate — BLS12-381 Signatures &amp; Aggregation</title>
1421
</head>
1522
<body>
16-
<a class="skip-link" href="#section-a">Skip to content</a>
23+
<a class="skip-link" href="#main-content">Skip to main content</a>
1724
<div id="app"></div>
1825
<script type="module" src="/src/main.ts"></script>
1926
</body>

0 commit comments

Comments
 (0)