Repository navigation
Reduce web startup payload and fix accessibility defects - #74
Merged
Merged
Conversation
Load experiments on demand, bound Activity work to its visible tail, and fix measured contrast, keyboard focus, hint dismissal, reduced motion and shortcut control findings. Add manifest transfer budgets and an axe/browser guard with mutation evidence.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Warum
The workbench eagerly loaded every experiment (827,696 bytes JavaScript / 265,995 gzip at e009022). Browser audits found low-contrast text and incorrectly named chain links; keyboard users could lose their place when inline forms closed or explanations covered content.
Was
Load Hash lab, Chain lab and Leaderboard on demand; prepare only the visible Activity tail and retain it during mining progress. Fix contrast in both themes, inline focus return, hoverable/dismissible explanations, skip navigation, mixed pointer/focus holds and reduced-motion scrolling. Settings can disable the existing M shortcut for assistive input.
Add initial-transfer budgets (255 KiB JS / 25 KiB CSS gzip) and an axe/keyboard browser check in PR CI and after automatic publication. No server or proof-rule changes.
Verify
Baseline and after measurements use the same M5 Chrome/WebKit method, with Chrome CPU slowed 4x. On the unchanged baseline, new regression checks reproduce the focus/hint/hold defects and all-40-versus-visible-12 Activity work. The corrected checks pass. The 24-view browser matrix has zero axe violations after the fixes; 90-second 360px Auto-mine checks report no browser errors or active workers after Pause. Bundle and axe guards reject deliberately broken disposable fixtures. Exact-head CI passed at
692c92534b9a4330ceddb94d64d0752b7f607d13: Web checks and Server checks. Integrated peer-owned PR75 cancellation check without relaxing its zero-attempt/hash assertions. Final integrated initial gzip: 253,956 bytes JS and 22,757 bytes CSS. Automatic publication and read-only domain acceptance follow the bound merge.Released and accepted
Final release
a3fe5b5ab649b3f57b20d89ac82dee191fd23f86passed automatic publication, exact index comparison and live browser/quality acceptance. Follow-up PR76 fixes the production CSP instrumentation and first-visit focus occlusion discovered during release acceptance. Independent read-only live matrix: 24 Chrome/WebKit cases, zero axe violations and no horizontal overflow; initial labs deferred. Focus checks also pass on short viewports. Live initial gzip: 254,339 bytes JS and 22,830 bytes CSS. No live blocks submitted.