When designing your user interface, be mindful of the selection-readers


Occasionally, there will be a feature along the lines of "Whenever the user selects some text, we will pop up an X." And then I have to remind them about so-called selection readers.

Selection readers are people who habitually select text in a document as they read it. It can be quite maddening looking over the shoulder of a selection reader, because you will see seemingly-random fragments of text get selected, and for those who are selection-deselection readers, the text will almost immediately get cleared. It's like the entire document is blinking with selections. (Other variations of the selection reader are the double-click reader who double-clicks words on the page, the margin-click reader who clicks in the margin, and the hover reader who merely hovers the mouse without clicking.)

There are a number of theories behind why some people are selection readers.

  • It's a nervous habit to keep one's fingers occupied, similar to spinning a pen.
  • It marks one's place in the document.
  • It gives a sense of accomplishment as one progresses through the document.
  • It helps the eye follow the reading location in the document during a scroll operation.

I am not a selection reader, but I do click in the document with some regularity. I do this for two reasons.

  1. To give focus to the document area, so that scrolling the mouse wheel or hitting PgDn will scroll the document text.
  2. To place the caret inside the viewport.

The second reason needs some explanation.

The caret is the blinking line that shows where your next typed character will be inserted. You can scroll the document so much that the caret goes out of the viewport. For example, if you never click in the document but merely scroll through it, the caret will be at the top of the document, even though you are reading page 25 of 50.

And then you hit PgDn thinking that you're scrolling down one screen, but instead you're going to the middle of page one. Congratulations, you just lost your place and jumped backward 24 pages.

Furthermore, there are some programs which are really twitchy about the caret. If you manage to scroll the caret off screen, they will say, "Sure, go ahead and scroll the caret off screen," but then you breathe on the program funny (say, by switching to another program, then switch back with Alt+Tab), and it says, "Whoa, your caret is waaaaay off screen! Let me help you by scrolling the caret back on screen. No need to thank me. Just helping out."

Of course, what those programs ended up doing is ripping me from page 25 back to page one.

That's why I consciously click in the document a few times after every scroll operation. It's not yet a habitual operation, so I will sometimes forget, and then just my luck, that's the time I accidentally hit PgDn or or Alt+Tab and get teleported backward in the document.

Comments (47)
  1. Joshua says:

    I have been a selection reader. It removes backgrounds from behind HTML text. I don't do that anymore as I now have to squash colors for accessibility.

  2. Andre says:

    I do stuff like that, mostly select random text in the view by double-clicking.

    And then there's "clever" websites that pop up a window when you do that, say a google search for what you double clicked. Stop that! If that had been my intention, I wouldn't even have known of that mis-feature, so clearly it's not what I had in mind.

  3. steven says:

    A similar annoyance is websites that show bits of information and insist on expanding the selection to the entire fragment (usually a textarea) whenever it is clicked. Oftentimes I only need a subsection of that text. Forces me to copy it into Notepad, then select the part that I'm interested, copy that again, then paste it where it needs to go.

  4. John Elliott says:

    I've seen a similar problem to the caret issue on Visual SourceSafe 6.0. Scroll down the results of a search, click on an item, and wham! the scrollbar thumb jumps up to the top again. Yes, I know, I'm using VSS 6.0 so I already have two problems.

    Another reason for selection reading on a website is if the selection colours have a better contrast than whatever colours the website designer has decided are fashionable today.

  5. not an anon says:

    Why do apps (and text controls) not move the text caret when you scroll using the scrollbar?  To me, it'd make somewhat more sense to do that than to leave it behind to surprise a user later…

  6. Muzer_ says:

    I'm a selection reader. It does indeed annoy people. I don't know why I do it, but I'd pretty much guess for some or all of the stated suggestions.

  7. KooKiz says:

    I was a selection reader, mostly because of the need to keep my mouse hand occupied while I read. Now I'm playing with my browser's mouse gestures instead, drawing on the screen while I read.

  8. Twan says:

    not an anon: I know one program that moves the caret when you scroll (emacs), and it annoys the hell out of me. I often scroll up and down to look for something, and then press the left arrow to go back to the caret position. On the very rare case that I would get confused and start typing while the caret is outside the screen, a backspace can fix the mistake. But moving the caret makes me irreparably lose my context.

  9. alegr1 says:

    @not an anon

    Moving the selection with scrolling is very annoying. Some programs (XGIG/Finisar viewer) do that, and it's very bad.

  10. DebugErr says:

    Heh, thank you for the last paragraphs about these "clever" programs scrolling you back after they get focus. I know enough of them. Not unpopular. It's horrible.

  11. Yuri Khan says:

    I am a selection-deselection reader. It annoys the hell out of me when programs do not allow selection at all (some ebook readers), or if their selection is ugly or miscolored (some PDF readers and web sites), or if they pop up something, especially if that causes the text layout to change (Safari Books Online), or if a web site turns links into block elements (which react to clicking within the whole line, not only the visible link area).

    I am also a middle-button scroller. That is, instead of rolling the wheel, I hold down my middle button or wheel, move the cursor out, and the document starts scrolling. And then I get annoyed by programs that do not support middle button scrolling (Chromium, Claws Mail) and websites that replace or interfere with the scrolling mechanics.

    At the same time, I am a middle-button paster. (In X Window System, you can select text and click the middle button to paste this selection, all without modifying the clipboard.) This way, I also get to be annoyed at web application that (a) paste when I want to scroll (Atlassian Confluence), or (b) start scrolling when I want to paste (also Confluence). (No, reading my mind is actually pretty easy: press and release within δ pixels and ε milliseconds should paste, otherwise scroll.)

    Yes, I am easily annnoyed, I know.

  12. Willie says:

    Thanks for looking out for us selection readers! I do it to "mark [my] place in the document."

  13. Macrosofter says:

    Opera browser many years ago had an interesting feature called "Opera Scroll Marker". When it was enabled, vertical scrolling caused special horizontal lines to appear at the edges of the old viewport during the scrolling.

    The solution to the problem of whether PgDn must move caret or scroll the page is ever older: in the Excel Scroll Lock key changes it's mode. Let everything to support Scroll Lock.

  14. DoubleClicker says:

    I'm a doubleclicking reader. For awhile the NYTimes website was my bete noire because they'd pop up a dictionary window on anything I doubleclicked. Thankfully that's gone, but now Medium.com is basically unreadable for me because even a single(!) click anywhere shifts the text to the left and shows a commenting dialog to the right.

  15. Stephan says:

    @Twan: Vim does it too and I have deeply-rooted muscle memory much like yours.

    This is one of those cases where "Yes, they both suck" is the answer to "Vi or Emacs?" and the only reason I put up with it is because nothing else combines the required degree of programmability, lightweightness, and UI minimalism.

  16. I'm a selection reader.  I have no idea why I do it, but I have done so for as long as it's been possible.  I even do it when I'm reading through source code.

    It has made me discover things on random websites.  Like the one where, if you selected an entire page of text, the selected text colour formed a rainbow.

  17. Dave says:

    I often select a sentence or phrase at the bottom of the page before I use the scroll wheel.  It lets me easily see when I've scrolled enough, or come back if something goes wrong.   I sometimes do it at the top before I start reading if the page is jumpy(slow loading pics or ads).  

  18. Thomas says:

    I'm a selection reader and it's the reason I can't use a chrome based browser. The way text selection works is broken and ugly.

  19. Mark Y says:

    Re: programs that scroll to caret on getting foreground.  If there was only one such program, I would dismiss it as a fluke.  But if many programs do this, it demands an explanation.  What thought process convinces whoever implemented it that it's a good idea?  More to the point, doesn't it drive them crazy as they use their own programs?  Don't the users complain?  What gives?

    [Bug: Sometimes (e.g., after changing monitor size), caret is no longer in the viewport. Solution: Force the caret into the viewport. -Raymond]
  20. Christian says:

    Before I had a mouse with three buttons or a scroll wheel I *always* used selection for scrolling! I selected something and moved the mous outside the selected area and depending on how far I moved the scroll speed changed.

    Even today this technique is still useful sometimes if the scrollbar is blocked.

    Also relevant: http://xkcd.com/1172/

  21. SimonRev says:

    Not quite caret related, but for many years one of my biggest pet peeves was the ListView scroll behavior.  Very frequently you would have a ListView you wanted to scroll but didn't have the focus.  So the first thing you do is click the ListView to give it the focus, then start spinning the scroll wheel to get to what you want to see.  Then *wham* two seconds later the ListView scrolls back to the item you selected.  This was very common with Explorer windows.

  22. Douglas says:

    Is there a good reason that mouse wheel messages are sent to the focused window instead of the window under the mouse? This has long been a pet peeve of mine. It's inconsistent. Mouse moves and clicks go to the window under the cursor. Why the inconsistency?

    The biggest problem is that quite often, left-clicking in a window to give it focus so you can scroll invokes some action you didn't want. This has led me to use the middle-mouse button for changing focus, but that also can invoke action (usually the scroll-mode thingy).

  23. Steve D says:

    I'm guilty of selecting a block of text as I read it on occasion, but I think it only occurs when its badly-formatted, such as a wall of text with no paragraph breaks to keep a visual anchor on where I am up to.  Then, I do it for reading and scrolling.

    The other one that annoys me is when I click back to an open email or Word document in the left margin (because it is the part that is visible from behind another window) only for the entire document to be selected on that first click because the click was in the margin.  Grrr!

  24. GregM says:

    Douglas, so that you don't suddenly start scrolling a different window when your cursor drifts outside the window border.  I often find that my cursor drifts when I'm scrolling, and I don't notice it because I'm paying attention to the text and not the cursor.

  25. Chris says:

    Douglas, I've heard (but not confirmed) that Windows 10 now does that. On earlier versions you can use the free "WizMouse" although some apps are a little quirky.

  26. cheong00 says:

    I have seen a common bug… for a lot of applications, they append to their log textbox with codes like:

    txtlog.Text += strNewMessage;

    instead of:

    txtLog.Text.AppendText(strNewMessage);

    I have to quickly do Ctrl-A + Ctrl-C to copy the text to notepad to read it.

    There are times that you want a combo-combo key.

  27. Darryl says:

    Funny I do all of that from time to time.  I also use right click to navigate web pages, back forward.  Sites that disable this are the worst.  

  28. Rob Sharp says:

    Selecting while scrolling is something I do as a self-made accessibility feature. It's vital to my ability, with pretty bad eyes, to track while scrolling as you suggested. Especially helpful with the magnifier on.

  29. alex_sh says:

    I'm not a selection reader, but rather "paragraph-on-top" reader. When I read a long text, I alway scroll it so that current paragraph starts on top of the page. Makes reading a lot easier than when it's somewhere in the middle. Funny, before this article I didn't even notice it.

  30. Jeffrey Bosboom says:

    A more directly relevant xkcd: https://xkcd.com/1271/

  31. Scarlet Manuka says:

    Allow me to add another reason: mouse twitches.

    I don't deliberately select anything while reading, but I sometimes do as a result of mouse twitching. Though most of my mouse twitching is on the right button so it's much more frequent for me to do things like accidentally going back a page in IE, for instance (I do this several times a day). Accidental context menu selections are so much fun…

    You can also get accidental selection in some cases where you miss your target and wind up dragging a little bit outside the edge of the text frame. Depending on the program and where you do it you can select lines or the whole text frame this way.

  32. ender says:

    My first wheel mouse was Genius EasyScroll (which I believe was the first mouse with a scrollwheel), and it's driver made the scrollwheel always scroll the window under pointer. I then had a few more Genius mice, and their drivers did the same thing until about 2001, when they rewrote the support application, making it completely unusable in the process. Then I experimented with a few programs that made the window under pointer scroll until I finally wrote an AutoHotKey script that also replicates a few other features I liked from the old Genius drivers (Alt+Tab with side button+wheel): eternallybored.org/…/AHK

  33. boogaloo says:

    @Raymond I'm not convinced that changing monitor size or even just resizing the window should cause the window to scroll so the caret is visible. Especially if the caret wasn't visible before the resizing.

  34. Ben says:

    I'm a selection reader for place marking, and scroll highlighting. This is especially useful if you want to scroll back to re-read an earlier part of the document. I also use it for Raymonds two reasons.

  35. Brian says:

    I'm on Windows 8.1 and the mouse wheel is only sent to a window if the window has focus AND the mouse cursor is inside the window. Wheeling over a window with focus on a different window doesn't send a message to either window. I actually quite like this behavior. Not sure if it's part of the OS or my mouse driver.

  36. Alex Cohn says:

    @Brian: that's cool indeed

  37. anonymouscommenter says:

    I am very used to the standard behaviour of multiline edit controls on the classic Windows platform, and therefore I find a particular recent Microsoft Word feature not very helpful: if I have the caret somewhere on page 2 and scroll to page 10 (without moving the caret), I expect to get back to page 2 when I press an arrow key. But, instead, Microsoft Word is "helpful" and moves the caret to within the current view, so I lose the previous position of the caret (which I was relying on).

    Fortunately, you can use Shift+F5 and Alt+Ctrl+Z. english.rejbrand.se/…/msword.asp

  38. anonymouscommenter says:

    Is this Selection Readers Anonymous?

    I'm a selection reader and I like to select four rows of text at a time. If the length of the document I read is divisible by four, I'm happy.

  39. GregM says:

    Andreas, unfortunately you can't please all of the people all of the time, and you seem to be in the small minority on this issue.  Fortunately, your desired use case has shortcuts that help out with that.

  40. anonymouscommenter says:

    Raymond: Thanks, it's good to know that there is some sane explanation.  But … ick.  The cure is worse than the disease.

  41. anonymouscommenter says:

    I'm a selection reader. And occasionally Ctrl+A reader.

    I think I could add another reason why one would select the text while reading: as a poor man's accessibility color theme.

  42. Monochrome Wench says:

    I'm guilty of being a selection reader. No idea why I started doing it, but I do find it makes keeping my place slightly easier and I get super frustrated when I can't select text.

  43. anonymouscommenter says:

    @Stephan: That's probably because Vim is (primarily) a console application.  When you scroll, Vim interprets it as moving the cursor around.  Having separate "view" and "edit" cursors would just make a difficult UI worse.  I'd suggest setting a mark (see :help marks) before you start scrolling.  If you need to see multiple parts of a document at once, :split may also be handy.

  44. Skyborne says:

    vim always keeps the cursor onscreen, but also remembers your last insertion point. You can jump back there (re-entering Insert mode) with the `gi` command. I discovered that after *years* of using vim and it's been pretty handy ever since.

    Back on topic, I also frequently select-scroll-unselect because it's easier to track a fast-moving selected blob than plain text, to both scroll quickly and avoid overdoing it.

  45. anonymouscommenter says:

    There's an extension for Firefox called "Right to Click" that lets you disable certain javascript annoyances. You can disable them on demand or permanantly for a specific page. I suspect this will help the selection readers and up and down arrow scrollers. (I use it on sites that grab the up and down arrow for other uses).

  46. anonymouscommenter says:

    There's an extension for Firefox called "Right to Click" that lets you disable certain javascript annoyances. You can disable them on demand or permanantly for a specific page. I suspect this will help the selection readers and up and down arrow scrollers. (I use it on sites that grab the up and down arrow for other uses).

  47. anonymouscommenter says:

    I am also a even a selection writer, but sometimes my mouse hand slips selection reader and sometimes and accidentally moves blocks of the selected text.

Comments are closed.

Skip to main content