Closes #232. One change per finding, in the issue's order:
p a, .syscomment aare underlined;.repotitle a,p.title a,.pathbar a,.pager aand button/chip links are not..chroma .lnlinksis a 24px inline block. chroma's own LineLink rule (outline: none) is dropped from the served palette, so line numbers keep the site's focus ring.history · blame · rawget 6px/4px padding.focusableBlocksaddstabindex="0"to every rendered<pre>(markdown, org, highlighted blobs); the landing quickstart block carries it in the template.- The
order: -1on.withaside .asideunder 62rem is gone. table.tree td.namewraps under 40rem instead of overflowing the card.mux.HandleFunc("/", s.notFound)after the route table.imageAltnames an org image with no alt after its file (build.svg→alt="build"); the wrapping link gets its name from it.- Release titles are
h2, sized as before. compressedgzipstext/*, JSON, Atom and SVG responses for clients that accept it, deciding on the content type when headers are final; git transport and binaries pass through.style.cssgoes from 67 KB to 17 KB on the wire.web theme show|set system|light|dark(migration 0057,users.theme), an Appearance section on/settings,data-themeon<html>.themedCSSservesstyle.csswith the dark block guarded by:root:not([data-theme="light"])and repeated under:root[data-theme="dark"]; the source keeps one block for the token tests. The syntax palettes are scoped the same way.
Rescanned a local instance with axe-core 4.10 in both schemes at 1280, 390 and 320px: repo, issues, issue, blob, log, landing and login report zero violations (baseline: 21 link-in-text-block on an issue, 287 target-size on a blob, scrollable-region-focusable, image-alt, heading-order). The one node left is the 404 page's 64px numeral, --faint with a --line stroke, which axe reads at 1.4:1; unchanged, it is drawn as a picture on purpose.
Unit tests for the store, control command, served stylesheet, 404 fallback, gzip and the HTML post-processing; e2e/theme_test.go covers the command and the account form. Parity and Users wiki pages and the CHANGELOG are updated.