E1.08.1links navigate buttons actdesignresearch

Links navigate; buttons act

Aliases: navigation versus action · href vs button · link or button

What it is

A link’s contract is navigation: go to another resource, usually returnable, shareable, openable in a new container. A button’s contract is action: do something in the current context—submit, delete, play, open a panel—without promising a new addressable place. The split is not a visual rule. It is the prediction model for “how the world changes after I press.” Using <a> to submit, or <button> to go somewhere, swaps parts on that model.

Why it happens

Browsing history teaches that underlined or in-prose words take me elsewhere, and that Back works; a filled control changes data here. Once the prediction exists, habits follow: links are long-pressed, opened in a new tab, copied; buttons are mashed and treated as submit. An action built as a link invites “delete in a new tab,” or Back as undo of a POST that already happened. Navigation built as a button will not be copied, will not be prerendered, and the session history may ignore the “jump.” Underneath, a link has an href as a resource id and a button does not; the semantics merely translate that engineering fact into a model of consequences.

Studying it

Give the same visual two implementations (real link / real button) for “go to details” and “delete this item.” Allow new tabs, Back, copy.

Independent variables: role, whether the task is navigation or action, whether a new-tab gesture is available. Dependent variables: attempts to new-tab or copy, Back used as undo, verbal reports of a wrong expectation.

A lab that strips browser chrome (no new tab) cannot measure the navigation contract. Test in a real browser, not a chromeless WebView demo.

Where it stops holding

In a single-page app many “jumps” do not replace the document; if they still change an addressable location (the URL), treat them as links. Opening a dialog or a drawer is not navigation, however large the content; use a button. A download is sometimes a link (an addressable file) and sometimes a button (a report generated on the spot)—ask whether the resource can be fetched on its own. A “link that looks like a button” may be styled as a button if the role remains navigation. The contract is the distinction; appearance is the next question.

Applying it

  • If it changes the URL or opens another resource, use a link. If it submits, deletes, toggles, or opens a transient panel, use a button.
  • In review ask “should Back undo this?” If yes, it is probably an action; if no, and a history entry should remain, it is probably navigation.
  • Do not click-script a div into either role; neither contract appears automatically.
  • Verify with a long-press or a right-click. If “Open in New Tab / Copy Link” appears and those commands make sense, the role is a link. If they are meaningless or absent, the role should be a button.

Related

  • Within the group: E1.08.2 A semantic mismatch breaks assistive technology · E1.08.3 Swapping appearance misleads expected consequences
  • Adjacent: E1.16 Link and button semantics · G4 Cross-page flow · J5.02 Accessibility tree and roles
  • Search terms: link versus button · navigation versus action · href

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/E1.08.1