"Load more nominees" is a link to ?cursor=, which is a real navigation, and a
navigation scrolls to the top of the document. That is the wrong top. The
standings sit below the masthead, the standfirst and the stats, so a reader who
had scrolled to the foot of the list to reach the control was thrown back to the
hero, several screens above a list that had silently changed under them. Both
links carry #leaderboard now and the section has the id to match, so a page
opens on its own first row. No script and no scroll handler: the hash is the
platform's answer to this, and it survives a reload and a shared URL, which a
noscroll flag plus a manual scroll would not.
Paging forward was also a one-way door. ?cursor= replaces the rows rather than
appending to them, so this is page two rather than more of page one, and the only
route home was the browser's own back button on a URL that survives a reload. A
reader could sit on page four reloading and never see rank 1 again. "Back to the
top 38" appears from the second page on, and the load knows which page it is on
because the cursor it returns is the next one and says nothing about the
current: onFirstPage is decided on the server, so the control is right in the
SSR pass rather than appearing at hydration.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com