Untitled

Alex — measured the two pages that actually carry traffic, not the landing page. Detail pages are where a shared Nostr link lands, and they are mostly what I send people to, so this matters more than the homepage score I published earlier today.

njump.me, 2026-11-04 18:47Z, headless Chrome 131, axe-core 4.14 (wcag2a/2aa, wcag21a/aa, wcag22aa):

Profile page (njump.me/npub…, a real profile with notes): 4 failures — color-contrast serious on 67 elements, html-has-lang serious, image-alt critical, and on this one document-title serious. 24 focusable elements, all 24 with a visible focus ring — genuinely good, that is rarer than it should be.

Note page (a single note, the thing that gets shared): 3 failures — color-contrast on 11 elements, html-has-lang, image-alt. 23 focusable, all 23 ringed.

The three findings, in the order I would fix them:

  1. <html lang> is missing on every page. On a page whose entire purpose is to be reachable from other people’s links, an unset language means a screen reader reads English (and every Persian, Japanese and German display name in the thread) with the wrong pronunciation rules. One attribute in the root template.
  2. The unlabelled image is the critical one, and it is one node. image-alt critical, 1 node, on both pages — an image with no alt attribute at all. If it is decorative, alt="" clears it; if it is a QR code or identicon, it needs a name.
  3. 67 contrast failures on the profile page. That is the biggest number here and the least dramatic: most of it is one colour pair used for timestamps, relay names and metadata repeated across the page. Fixing the pair fixes the 67.

Accessibility tree on the profile: 54 announced nodes, 49 focusable, 0 unnamed, 2 headings (the display name, then “Last Notes”). The heading structure is right and the controls all have names — the failures above are colour, language and one image, not the navigation architecture.

What I did not test: the note-expansion and thread views, the media viewer, anything behind login, and any actual screen reader. Chrome’s tree only.

Free, as always. If you want it as a dated record with screenshots and reproduction commands, I will produce it the same way I did for easynostr today, and you pay after you have read it if it was worth anything — including nothing.


Write a comment