On phones the label under each project name showed its subcategory, and names like "General", "Synchronous", or "Core" only make sense under their category heading, so the home and group tables showed vague labels.
Co-Authored-By: Claude <noreply@anthropic.com>
Comparisons treat dataclasses as the default for class boilerplate and attrs as the upgrade for validators, converters, and slots.
Co-Authored-By: Claude <noreply@anthropic.com>
The payment methods listed card via Open Collective first, ahead of the options sponsors are pointed to first.
Co-Authored-By: Claude <noreply@anthropic.com>
- machine-learning.md: the Prophet docs moved from facebook.github.io/prophet
(now 404) to meta.github.io/prophet, matching the github.com/meta/prophet
entry in README.md.
- web-apis.md: the Django Ninja routers guide is at /guide/routers/, not
/guides/routers/ (404).
The sitemap lastmod test failed wherever the global git config enabled commit signing with an unreachable key, because the test strips every GIT_* variable and so dropped any override that disabled signing.
Co-Authored-By: Claude <noreply@anthropic.com>
An explicit httpx.HTTPTransport makes httpx ignore HTTPS_PROXY, so the fetch failed with a DNS error wherever outbound traffic must go through a proxy.
Co-Authored-By: Claude <noreply@anthropic.com>
An entry link like /categories/caching/#entry-diskcache did not open its row when only the hash changed on an already-loaded page (editing the URL, back/forward), because the row-opening logic ran only on initial load.
Co-Authored-By: Claude <noreply@anthropic.com>
The test ran main.js against a hand-built fake page, so any new browser API main.js used at page load broke it with a TypeError unrelated to entry links.
Co-Authored-By: Claude <noreply@anthropic.com>
font-display: optional gives the web fonts only ~100ms; on a cold cache, or once GitHub Pages' max-age=600 expires and the font must revalidate, they miss that window and the whole page view renders in Georgia/Avenir Next until reload.
Co-Authored-By: Claude <noreply@anthropic.com>
The jump links sat 17.6px above the hero's bottom edge, tighter than the 20px above the topbar, so the hero looked cut short. Bottom padding goes from 1.1rem to 1.75rem; the comment justifying the smaller bottom no longer applies.
On phones the "Top ↑" header button was wider than the row arrows, so it set the arrow column's width and left a wide gap between the downloads number and the arrow.
Co-Authored-By: Claude <noreply@anthropic.com>
On phones the row arrow was centered in its column, leaving a wider gap on the right edge than on the left.
Co-Authored-By: Claude <noreply@anthropic.com>
On phones (max-width 680px) the "N projects" count beside each group heading on category pages crowded the heading into a narrow column.
Co-Authored-By: Claude <noreply@anthropic.com>
The "Browse by category" markup was duplicated in index.html and category.html, and the two copies had drifted.
Co-Authored-By: Claude <noreply@anthropic.com>
Group pages rendered "Browse by category" with a plain div heading instead of the homepage's details/summary, so the two-column grid never applied, the arrow showed but did nothing, and the list didn't collapse on phones.
Co-Authored-By: Claude <noreply@anthropic.com>
Google Fonts loaded async with display=swap, so every first paint showed Georgia and Avenir Next and then visibly switched to the web fonts mid-read.
Co-Authored-By: Claude <noreply@anthropic.com>
Removing .search from the :focus-visible list left the focused search field with Chromium's default blue outline, and its translucent focus border measured 1.65:1 against the page, below WCAG 1.4.11's 3:1.
Co-Authored-By: Claude <noreply@anthropic.com>
Paint containment on the opened row's details clipped anything drawn outside its box, cutting off the focus outline of links at its edges.
Co-Authored-By: Claude <noreply@anthropic.com>
Tags are inline links, which CSS transforms do not apply to, so the tag press rule and its transform transition never had any effect.
Co-Authored-By: Claude <noreply@anthropic.com>
Table cells faded their border color over 180ms, so opening a row left the old divider visible between the row and its newly shown content before it faded out.
Co-Authored-By: Claude <noreply@anthropic.com>
On the home page, opening a row showed the description instantly while the details below it slid in, so one open state moved in two ways.
Co-Authored-By: Claude <noreply@anthropic.com>
Sponsor, sponsorship, call-to-action, and table-note paragraphs could end on a lone word, unlike their peers.
Co-Authored-By: Claude <noreply@anthropic.com>
Arrow glyphs on rows, jump links, sort headers, and the category toggle, plus the search icon, were exposed to assistive tech, adding noise to every row and link name.
Co-Authored-By: Claude <noreply@anthropic.com>
Text inputs match :focus-visible on click, so the search field showed the accent outline on top of its own tinted focus border.
Co-Authored-By: Claude <noreply@anthropic.com>
Each tag's tap area overlapped the next tag's and, with both insets plus min-height set, grew downward only, sitting off-center.
Co-Authored-By: Claude <noreply@anthropic.com>