Repository navigation
Point external links at their final URL (no redirect hops) - #64
Merged
Merged
Conversation
The homepage grid emits the tile as <a><picture><img alt=...>, so the img's alt IS the link's accessible name. home.js fell back to alt="" when a stem had no alt.json caption, which makes the image decorative and leaves the <a> nameless for screen readers and agents. 12 of 158 stems have no caption yet, and the homepage draws 12 at random, so this surfaced intermittently: the mobile Lighthouse run drew two of them and failed both `link-name` (accessibility 93) and `agent-accessibility-tree` (agentic-browsing 67), while the desktop run drew none and scored 96/100. Fall back to the stem, matching photos.js:274, so a missing caption can never produce a nameless link again. Backfilling the 12 captions via scripts/gen-alt-text.py is the follow-up quality fix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Current Chrome rejects a bare `focusgroup` attribute with "focusgroup requires a recognized behavior token (toolbar, tablist, radiogroup, listbox, menu, menubar)". The demo toolbar carried the bare attribute, so the one page on the site that exists to demonstrate focusgroup was demonstrating it dead: no single tab stop, no arrow-key movement, and a console error on every load. Use focusgroup="toolbar" to match the element's role, and update the copy, which still described the pre-token syntax. This was the only site-authored console error across all 53 HTML pages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Traced every outbound link's redirect chain. Each hop is a DNS + TLS + RTT the visitor pays before they see anything, so link to where they actually land: twitter.com/oddhash -> x.com/oddhash (2 hops) instagram.com/aadharsh.hif -> www.instagram.com/... (1 hop) archetype.fund -> www.archetype.fund/ (1 hop) creativecommons.org/.../4.0 -> .../4.0/ (1 hop) creativecommons.org/.../2.0 -> .../2.0/ (1 hop) rfc-editor.org/rfc/rfc5861 -> rfc-editor.org/info/rfc5861/ (1 hop) linkedin.com/in/<me>/ -> linkedin.com/in/<me> (1 hop) Also fixes a dead link: en.wikipedia.org/wiki/Planar_magnetic_loudspeaker is a 404; the article is Magnetostatic_loudspeaker. serendipity.js builds attendee Instagram URLs, so canonicalizing the base there drops a hop from every generated profile link too. Left alone deliberately: song.link is Odesli's cross-platform router, so redirecting IS its job, and head-fi/darko only redirect for bot user-agents. Verified: re-tracing every user-facing external link now reports 0 hops except those two by-design cases. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Understanding-first reviewThis is a prompt, not a score or merge gate. Before approving, reconstruct the change:
For docs and dependency changes, a compact answer is enough. For behavior or production changes, include the causal path and one concrete counterexample. The author’s claim card belongs in the PR description; this prompt is for the reviewer’s independent reconstruction. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
aadhar-sh | 00efc29 | Jul 22 2026, 02:23 PM |
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.
Traced the redirect chain of every outbound link on the site. Each hop is a DNS lookup, TLS handshake and round trip the visitor pays before anything renders, so the fix is to link where they actually land.
twitter.com/oddhashx.com/oddhashinstagram.com/aadharsh.hifwww.instagram.com/aadharsh.hifarchetype.fundwww.archetype.fund/creativecommons.org/licenses/by-sa/4.0.../4.0/creativecommons.org/licenses/by/2.0.../2.0/rfc-editor.org/rfc/rfc5861rfc-editor.org/info/rfc5861/linkedin.com/in/<me>/linkedin.com/in/<me>The Twitter one is the big win: it appears in the desktop icons and in the footer of all 34 garage and LWE pages, and it was costing two hops each time.
Also a dead link fixed:
en.wikipedia.org/wiki/Planar_magnetic_loudspeaker404s. The article isMagnetostatic_loudspeaker. Two links in/lwe/drivers.Generated links too:
serendipity.jsbuilds attendee Instagram URLs from handles, so canonicalizing the base drops a hop from every profile link it emits.Deliberately left alone
song.linkis Odesli's cross-platform router. Redirecting is its entire purpose, and the bare-domain hop I traced is only thepreconnecttarget.Verified
Re-traced every user-facing external link: 0 hops everywhere except the two by-design cases above.
Needs your input (not in this PR)
beliapp.com/users/aadharsh404s (confirmed in a real browser, it serves the generic marketing page). It is your profile, so I cannot guess the right URL. It appears in the desktop icons and every page footer.mkit.makechain.net/streamingno longer resolves (ERR_NAME_NOT_RESOLVED), linked from/garage/chunks. The repo atgithub.com/officialunofficial/mkitis still up if you want to repoint there.🤖 Generated with Claude Code