Support spacebar users

I scroll with the space bar because I don’t want RSI, it’s faster, more convenient, etc. If I am currently reading near the bottom of the currently loaded chunk of content, I don’t get a full page scroll. The space bar page down action stops at the bottom of the current content, then the next chunk is loaded.

After scrolling I have to guess how far down the screen I need to look to see the next page of content.

I don’t think this is easily fixable, we would need to reserve space for the next chunk that will be loaded.

On top of that (pun intended) you might have trouble with overlays. Each space bar is one “screen”, but that does not factor in any fixed position elements on the page that take up space.

E.g. like right now with the composer up, if I go back to the main window and press space, it’ll still scroll one “screen” which is the vertical height of the browser viewport – but right now the editor and the fixed position topbar are taking up a part of that space.

Wouldn’t this same problem exist on any website that has fixed positon overlays?

Yes, a similar problem exists on other broken sites with fixed position headers and/or footers. I hit space, then scroll up a bit to find where I am up to. Atlassian’s Jira is a huge offender and I have to use that at work every day.

I think the browsers are complicit in that particular example of user hostility, but I’m not sure there’s any good solution for them to implement. The browser would need to somehow detect how big the viewport really is and scroll just that far, but sometimes the scrolling itself means the fixed position overlays move around.

I think the answer is site designers need to be aware of it and just not cover part of their content with irrelevant stuff. And make sure all of the content, or at least “enough” content, is loaded so the browser can do the right thing. That was totally a dig at infinite scrolling, just for you.

Both fixed position headers and footers and Discourse’s infinite scrolling are abuses of the browser’s idea of what a page is, and it’s not surprising that problems result from it. I really like the concept of not having to hit “Next page”, just keep scrolling for more content, but I don’t know how you can display a not-a-page like that in a browser of web pages without problems.

I totally agree with @codinghorror that the position fixed side effect is far more egregious, it kills the usage of this feature completely cause lines are lost. I think longer term post v1, we should just hijack space and implement it ourselves in a less crazy way.

@codinghorror your call if we want to hijack spacebar or not.

perhaps a community PR here is the best way forward.

j k keyboard shortcuts make this much less of an issue on large monitors, even with composer open, I do wonder if we can improve j k so it does not scroll past content, when only half a post is on-screen.

For that, I use the up/down arrows, and then I continue to the next post with j / k again.

Just supplying an already power user strategy I employ regularly when reading topics on Discourse.