How To Scroll
bost.ocks.org
bost.ocks.org
There should be a fairly straightforward Javascript workaround for this, intercepting the spacebar or pgdn keys to scroll the height of the unobstructed viewport instead of the full viewport, but I haven’t seen anyone implement it (I’ve been considering creating my own open-source library for it but I have no experience managing an OSS project).
Still, I wouldn’t consider that ideal, and maybe it’s time for some standards action. Here’s my proposal:
body {
scroll-offset: 72px; // body will page-scroll 72px less than the window height to compensate for the sticky header
}There is. Sort of.
It's a javascript bookmarklet I named "FIXEDFIXER" that lives on my bookmark toolbar:
javascript:(function()%20{%20var%20s,e,i,ee=document.getElementsByTagName('*');%20for(i=0;%20e=ee[i];%20i++)%20{%20s=getComputedStyle(e);%20if%20(s%20&&%20s.position%20==%20'fixed')%20e.style.position='static';%20}%20})();
Changes all elements with "position:fixed" into "position:static". Works like a charm.In my experience this little line of code fixes at least 90% of all my scrolling/coverup/screen estate problems. Sometimes the "position:fixed" element actually disappears, but I've been using this tool for over a year, and I have never had anything disappear that I actually wanted to see, read or use. (funny how that's a lot like the popup-windows on the web of old)
I noticed a couple weeks ago that the New York Times website does this. Maybe not a coincidence that the article's author works there. :)
I don't know if this problem is worth solving, but I've thought about it.
EDIT: why the downvotes? Try it yourself on http://legitmix.com
"This isn't even a problem though." -> "Is this really a problem? I thought that... correct me if I'm wrong!"
Your karma will move in the positive direction almost every time.
Both IE and Chrome show the same behavior. My expectation on sites when I hit space or pagedown is to scroll down mostly one full page, leaving enough to get context of where I left off.This site scrolls past that point so I can't tell where I was.
Firefox on Linux
I just find out that medium.com does it the right way!
I'd like to propose a sixth rule: don't move the goal posts. In other words, don't load additional content dynamically. This violates the user's expectation of when they will be finished scrolling. I find this frustrating, and I doubt I'm the only one.
Thoughts?
I think either we figure out how to use scrolling effectively or we collectively realize it’s a mistake and abandon it as a fad. My personal belief is that we can make it work, and improve the visual presentation without harming usability, but perhaps there are a few more things to figure out.
I'm still sympathetic. There are certainly UI experiences I can't stand. Pages that throw things in my face on hover are my biggest pet peeve. You jump to a page, your mouse happens to land on top of some random thing. You don't click, but it doesn't matter, because it throws a blanket over what you're trying to see because you hovered over something you didn't want to see, and now you have to figure out how to somehow get rid of it.
It's a revolting experience that I see everywhere, but I seem to be the only one who notices that trying to move my mouse to something I DO want to click ends up stepping on a hover-mine, which covers what I was trying to click..., so it's not like I can get anyone else to complain. I feel your pain (even though I LIKE some of these scroll effects.)
But if we were to tell designers to "stop screwing with the user experience", we'd just as likely have every page throwing random things in your face as part of the "standard hover UI" as get rid of it.
We're better off in the end with lots of experiments, seeing what new ideas seem to work, and adding support for those into the evolving Web platform.
[1] https://github.com/circleci/frontend/blob/master/src-cljs/fr...
- Are there general principles you'd emphasize for mapping continuous control domains to discrete content ranges? (Like input rasterization.)
- If you could redesign the user control/input space (keyboards, mice, etc.), what might it look like?
- Ideally, no mapping is necessary; controls should be naturally suited to their application. The problem here is that scrolling is designed for homogeneous content (such as a long column of static text), while web pages increasingly have heterogeneous media. Rather than try to rewire the controls, it’s easier to adapt the content so that it fits the controls we have. By limiting the visual changes and by retaining normal scrolling text, we are less likely to harm usability.
- I’d like to have access to touch events in desktop, for one, so that I could know whether the fingers are down (on track pads and magic mice, e.g.). And I always thought chording keyboards were a cool idea (particularly after observing court stenographers), but never seriously tried one. And maybe some standardization of swipe events on mobile.
As in "don't break scrolling, don't break forward and back navigation, don't break link highlighting, don't break resizing (desktop and mobile), don't break clicking (I kid you not, some websites entice you to click and then can't be bothered to respond), don't break plain text."
I agree with everything in this article, but it should be common sense for a designer/developer/writer. Stop breaking the Internet. Serve up data, not apps, give me some viewing hints if you must, but let me or my browser settings control my viewing experience.
I suppose plain data doesn't make money, which is why all the apps/JS and interaction got added to the page to hijack our attention which could be then monetized.
Because I'm traveling I'm using a cheap 70$ Android. So the phone isnt very fast and the internet connections slow. This makes a good number of "modern", especally SPA news sites completely unusable. Scrolling callbacks constantly freezing the whole interface. It's not per se the fault of using too much javascript – gmail and facebook work pretty well. But if you dont have ressources to optimize your sites fancy js magic please consider not doing it at all.
I dont expect much of my cheap phone. But reading plain text is definitely something i do.
And I agree, even if your scroll .js works perfectly, the callbacks leave a perceptible pause on most phones.
I come from Unix, I'd have expected b or backspace to scroll up a page, been disappointed by browsers numerous times, and just lived without it.
A lifelong unixy sysadmin friend of mine particularly hates browsers and ctrl-w. To him, 'ctrl-w' means 'clear text field', particularly useful for things like password prompts where you can't see what's been written. So he goes to clear a password field in a browser window... and the webpage disappears
Undo: Cmd-Z Redo: Cmd-Shift-Z.
It's not often however you have to send raw characters. Several of my coworkers didn't even know what that particular control sequence did when I quizzed them, so that doesn't surprise me at all.
The feeling of "well, I'm scrolling, but nothing's happening. Am I doing something wrong...oh there it is" can really throw off an otherwise positive content experience.
Don't break accessibility. Hijacking scrolling can easily confuse screenreaders, spiders, old browsers, etc. Especially when you start doing tricks with hiding content in weird ways, etc, etc.