@@ -951,14 +951,43 @@ Almost nothing, on purpose. A **handle** (`data-drag-handle`) exists only to dra
951951so it shows the hand; a **source** does not — it drags only once the intent shows,
952952a plain click on it stays a click, and it is usually something else FIRST (a link,
953953a card one opens). The cursor says what an element IS, and the gesture is not the
954- one who knows, so it leaves it alone (` default` , not an I-beam: the text inside
955- cannot be selected either).
954+ one who knows, so it leaves it alone (` default` , not an I-beam: with a mouse the
955+ text inside cannot be selected either — a finger is another matter, see below ).
956956
957957So on a board where a piece is also clickable, the cursor is already spoken for and
958958the affordance has to be said in the piece itself — a grip mark in a corner, a
959959shadow appearing under the pointer, a handle. It is worth deciding, not defaulting:
960960a board one may drag on is worth nothing if nobody tries.
961961
962+ ### The text inside: ` user- select: none`
963+
964+ A press on a source belongs to the drag, and the selection that press would have
965+ made is refused for as long as it lasts — so with a mouse, dragging across the
966+ label of a card never paints it blue.
967+
968+ A finger is another matter. It is asked to hold still, and the browser answers
969+ that same held finger a moment later with a gesture of its own: it picks out the
970+ word under the thumb and keeps the touch for the handles it puts around it. The
971+ grab is then lost, and nothing done at the end of the wait takes it back —
972+ whether a finger MAY select is settled when it lands. Like the iOS callout, it is
973+ a stylesheet, and it has to be true before the press:
974+
975+ ` ` ` css
976+ .token {
977+ user- select: none;
978+ - webkit- user- select: none; /* Safari only took it unprefixed at 17 */
979+ }
980+ ` ` `
981+
982+ **Most of the time that is what you want.** What can be picked up carries a
983+ label rather than a text to read — a token, a row, a card one moves — and the
984+ press is there for the drag: nobody selects the word inside a thing they are
985+ carrying. Keep the selection where the text IS the point (a note one copies from)
986+ and give that one a ` data- drag- handle` : the grip drags, the text stays text.
987+
988+ navi says it on its own in one place only, inside ` [data- drag- on- contact]` , where
989+ there is no wait left to answer the finger with.
990+
962991## Tuning
963992
964993Read off the element or any ancestor carrying the attribute, so a whole list is
0 commit comments