Findings from an axe-core 4.10 scan of gitbay.org (v1.29.0, a55ff45) at 1280px and 390px in both colour schemes, checked by hand in a browser, and compared against GitHub, GitLab, Forgejo, Gitea and SourceHut measured the same way. gitbay passes contrast, skip link, landmarks, one h1 per page, focus ring, labelled inputs and works without JavaScript. What it does not pass, ranked by impact:
-
Links in meta text are colour-only (WCAG 1.4.1). Author, sha, milestone, MR and archive links sit in muted text with no underline; link-to-surrounding contrast is 1.07:1 dark and 1.39:1 light against a 3:1 floor. axe
link-in-text-block: 21 nodes on an issue page, 47 on releases, 5 on the issue list, 2 on an MR, 1 each on login, register, landing. Cause:a { text-decoration: none }at style.css:210 with underlines only under.renderedandfooter. -
File view line numbers are 18px targets (WCAG 2.5.8).
.lnlinksboxes are 26.5x18 stacked with no gap; 287 nodes on a 287-line blob.history · blame · rawon the same page are 21px tall. -
Scrolling code blocks cannot take focus (WCAG 2.1.1).
pre.quickstarton the landing page and renderedpre.chromablocks (5 on the repo README at 390px) overflow horizontally with notabindex. -
Below 62rem the issue and MR aside is ordered before the body (style.css:1462,
order: -1). On a 390x900 phone the first screen of an MR is checks, reviews, reviewers, source and target, labels; the description starts about 1000px down. -
File tree clips at 320px (WCAG 1.4.10, the 400% zoom case).
table.treeis 328px wide inside a 320px card that hides overflow, so theupdatedcolumn and the tip-bar sha chip lose their last characters. The page itself does not scroll sideways. -
Unmatched sub-routes 404 as plain text.
/krz/gitbay/mrs/315/filesreturns Go'shttp.NotFound(19 bytes oftext/plain, no layout, no link);/krz/gitbay/issues/99999renders404.html. -
README badge image has no alt text (WCAG 1.1.1, 2.4.4). The org renderer emits
<a href=…><img src=…/></a>with noaltand no link text for a linked image with no description. axeimage-altcritical andlink-nameserious. -
Releases page heading order is h1 then h3 (WCAG 1.3.1). Release titles in releases.html are
<h3>. -
Nothing is compressed on the wire.
Accept-Encodingis ignored: style.css is 67191 bytes as served, 14751 gzipped; the repo page 22 KB where 6 KB would do. -
Theme follows the OS only. Tokens are redefined under
prefers-color-scheme: darkalone; there is no user setting and nodata-themehook. GitHub, GitLab and Forgejo offer light, dark and system. Noforced-colorshandling either.
Details, captures and the per-finding fix are on the findings page; the scan runner is .claude/screenshots/audit/ in the main checkout.
referenced in commit 1a40b22072 by cmc: e2e: web theme show in the read-only command table
2026-09-19 14:26 UTC