Selecting Text
On the minutiae of selecting text on your computer, there are multiple methods. Anchored, unanchored, etc.
It's an issue that just seems to linger, as Pierre Igot explores:
In several of Apple's text editors or applications with text editing tools (probably all based on the same underlying text editing engine), including Mail, TextEdit, but also Pages, Excel, etc., there is a total disconnect between the orientation of the mouse selection and the orientation of selection expansions with the cursor keys.
Why is this problem so vexing? I think the solution lies in defining the reference point. The problem exists because once a selection is made, it becomes ambiguous where the reference point, or focus lies. Does it lie at the end of the current selection? Or the beginning?
If this reference point was highlighted, it would be trivial for users and developers to solve this conundrum. Arrow keys would expand or contract the selection from the reference point.
So something like this:
becomes something like this:
The dark orange indicates the reference point for the selection. It also attempts to clarify the fact that the reference point can operate line by line (with the ↑ or ↓ keys) or character by character (using ← and →).
But where should the reference point be placed initially? At the end or the beginning of the selection? A logical solution would be to place the reference point at the end of the selection, as if while you're creating the selection you're dragging the reference point as you go. When finished, you can press either the ↑ or ← key one time to change the reference point to the beginning of the selection, like so:
From there, the existing shift-arrow combination would expand or contract the selection from that point.
If the ↓ or → keys are pressed when the reference point is at the end of the selection (or if the ↑ or ← keys are pressed when the reference point is at the beginning), then the entire highlight is removed and the cursor moves in that direction; exactly what happens now if the arrow keys are pressed without the shift modifier.
This method guesses from which direction the user likely intends to add to or remove part of the selection, but makes this assumption observable and gives people the tools to change it. It disambiguates the problem while offering more control and flexibility over text selection.