F1.13.4inline reading exceptiondesign

Separation is not absolute; inline actions such as text selection need an exception

Aliases: text selection menu · highlight exception · callout

What it is

After share and contents have been asked to leave the text column, define-on-select, highlight and annotate still have to happen on the letters that were selected. Park Copy in a tab bar and people have to carry the selection to the tool; lose the selection and the object is gone. The inline exception admits that when the object is the span of text, the action returns to the column, against the selection. Separation is the default, not a ban.

The system selection bubble, an ebook highlight menu, a code editor’s lightbulb — the exception at work. They are not a CTA stuffed back into the paragraph. They are commands for this span, hung beside it for a moment.

Why it happens

A text selection is a brief range whose place the user just named. The range has no other entity to sit next to — it is those letters. Commands that leave the selection have to hold “which letters I just marked” in memory, and selection state is easily cleared by a scroll, a blur, a tap elsewhere. So the exception’s geometry is: the menu grows from the selection, does not cover the selection, and leaves when the selection is cancelled. It occupies the reading column on a timer equal to the life of that selection.

The exception is abused when a select pops share, follow, open-the-app — conversions that have nothing to do with this span. That is smuggling in-flow noise back in through the exception.

Where it stops holding

Actions with no selected range (share the whole article, change type size) do not get the exception; they still go to an edge or an on-demand bar. On touch, selection handles and the menu themselves cover lines above and below; that cost is known, and the menu should prefer an empty line above or below the span, not the span itself. A read-only preview that forbids selection has no exception; do not leave a row of resident inline buttons “in case”. A screen reader’s “select” lives in a rotor or a menu; the geometric exception becomes a focus exception — commands follow focus, not pixels.

Applying it

  • Commands that appear after a select are only those that address this span: copy, define, highlight, annotate, speak. Take follow-the-author and open-the-app out.
  • Sit the menu on the selection, flipping to the side that does not cover it; close it when the selection is cancelled or a scroll starts.
  • Do not pre-plant a row of actions at the end of every paragraph because the exception exists. The exception is a layer that appears while a selection is present.
  • How to check: select a word and see whether the menu holds only commands for that word, and whether the span is still visible. Tap outside; the menu should vanish and the column should be clean. A select that pops a conversion unrelated to the word has broken the exception.

Related

  • Same group: F1.13.1 The reading region must stay stable, not interrupted by floating controls · F1.13.2 Buttons mixed into the reading flow cause misses and visual noise · F1.13.3 In long-form reading, park actions at the edge or on a scroll-triggered bar
  • Nearby: F1.08 Overlay anchoring · F1.01 Distance between control and object
  • Search terms: inline reading exception · text selection · callout menu

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/F1.13.4