keepcalculator

06 Numbers and Powers

Interactive Card UI: Link or Disclosure Button?

Card No. 06·63070 · Updated · Standard formula, shown below

Probability of correct choice 5,000 %
Time to decide (seconds)
30 s
You entered
Number of available actions
2
You entered
You enter
Time to decide (seconds), Number of available actions
You get
Probability of correct choice
Rounding
0 dp

Choose a disclosure button when the card hides or reveals content on the same page; choose a link when the card navigates to another page or resource. This decision hinges on the action’s purpose, not the card’s visual style.

Formula

The calculator above is a heuristic model, not a real-world law. It estimates the probability that a user will make the “correct” choice (link vs. disclosure) based on the number of available actions on a card. The formula is:

P = 100 / (1 + e-(a – 2) * 0.5)

  • P = probability of correct choice (%), 0–100.
  • a = number of distinct actions on the card (e.g., 1 = only “Read more”, 2 = “Read more” and “Share”).
  • e = Euler’s number (~2.718).

This is a logistic curve. When a = 2, P = 50%. When a = 1, P ≈ 37.8%. When a = 3, P ≈ 62.2%. The more actions you add, the higher the chance the user picks the correct one—but only if the actions are clearly labeled. The calculator is a thinking tool, not a usability metric.

Worked Example

Using the default values: a = 2 (two actions on the card).

  1. Compute the exponent: -(2 – 2) * 0.5 = 0.
  2. e0 = 1.
  3. P = 100 / (1 + 1) = 50%.

So with two actions, the model predicts a 50% chance of the correct choice. With one action, it drops to about 38%. With three, it rises to about 62%. This illustrates that ambiguity grows with fewer, less distinct actions.

Background: Why This UI Question Exists

Interactive cards are a staple of modern web and app design. They appear in dashboards, news feeds, product grids, and admin panels. Each card typically contains a title, a snippet, and one or more interactive elements. The core question—link vs. disclosure button—arises because both can look identical: a text link, an icon, or a “Learn more” label. But they trigger fundamentally different behaviors.

Links navigate. Buttons perform an action on the current page. A disclosure button expands or collapses content, toggles a menu, or reveals a tooltip. The Web Content Accessibility Guidelines (WCAG) and common UX practice treat them as distinct. Confusing them leads to broken expectations: users click a link expecting navigation but get an inline expansion, or vice versa.

How Links and Disclosure Buttons Differ

The technical difference is in the HTML and the resulting behavior:

  • Link: an <a href="..."> element. It changes the URL, loads a new page, or jumps to an anchor. Right-clicking gives options like “Open in new tab.” Screen readers announce it as a link.
  • Disclosure button: a <button> element with aria-expanded. It toggles visibility of a related region. It does not change the URL. Screen readers announce it as a button, and the expanded state is communicated.

Visually, you can style both to look identical, but the underlying semantics matter for assistive technology and for user expectations. A link that expands content is a common anti-pattern—it misleads users who expect navigation.

How to Choose: A Decision Framework

Ask these questions in order:

  1. Does the action take the user to a different URL? If yes, use a link. This includes opening a new tab, a modal dialog that loads a separate page (though modals are usually buttons), or an anchor on the same page.
  2. Does the action reveal or hide content that is already in the DOM? If yes, use a disclosure button. This includes accordions, “read more” expansions, and dropdown menus that are part of the card.
  3. Does the action trigger a script that changes the page without navigation? If yes, use a button. Examples: “Add to cart”, “Like”, “Copy code”.
  4. Is the action a hybrid? For example, a card that expands to show a summary and also has a “View full article” link. Use a button for the expansion and a separate link for the navigation.

When in doubt, test with a screen reader. If the element is announced as a link but expands content, it’s wrong.

Common Problems and Misconceptions

Misconception: “Make the whole card clickable.” This is popular but problematic. If the entire card is a link, you cannot have a nested button or link inside it. You also lose the ability to select text. A better pattern is to make the title a link and keep other actions as buttons.

Problem: “Read more” as a link. If it expands text inline, it’s a disclosure button. If it goes to a full article page, it’s a link. Don’t mix them.

Problem: Icon-only buttons without visible labels. Users may not know whether an icon is a link or a button. Provide an accessible name via aria-label or visible text.

Problem: Using onclick on a link. This is a common hack to make a link act as a button. It breaks middle-click, right-click, and keyboard behavior. Use a button instead.

Accessibility and Keyboard Navigation

Links and buttons have different keyboard interactions. Links are activated with Enter. Buttons are activated with Enter and Space. If you use a link as a button, Space won’t work. If you use a button as a link, you lose the ability to open in a new tab via keyboard (though you can add a context menu).

Screen reader users navigate by element type. They might press “B” to jump to buttons or “L” to jump to links. If your card uses a link for an expansion, it won’t appear in the button list. This can cause confusion.

Disclosure buttons must have aria-expanded set to true/false and aria-controls pointing to the region they control. The region should have a role of region or be a standard element like div with an id.

Alternatives and Patterns

Sometimes neither a link nor a disclosure button is the best choice:

  • Card navigation: Make the entire card a link, but ensure no nested interactive elements. This works for simple cards.
  • Modal dialog: Use a button to open a modal, not a link. The modal itself is a separate document flow.
  • Accordion: Use disclosure buttons for each section. The “expand all” control can be a button that toggles all.
  • Tabs: Use buttons with role="tab" and aria-selected. Not links, unless they navigate to separate pages.

For card grids, consider a “card link” pattern: the title is a link, and the rest of the card is not clickable. This avoids nested interaction issues.

Frequently Asked Questions

Can I make a card that is both a link and has a disclosure button?

Yes, but not by making the whole card clickable. Use a link for the title or a “Learn more” text, and a separate disclosure button for expanding a preview. Ensure they are visually distinct (e.g., the button has a chevron icon).

What about “Learn more” – is it a link or a button?

It depends on what it does. If it goes to a new page, it’s a link. If it expands inline text, it’s a disclosure button. Many sites misuse it as a link when it expands content, which is confusing. Use “Expand” for the button.

Does using a button instead of a link hurt SEO?

Links are crawlable; buttons are not. If the action is navigation to important content, use a link. If the action is a pure UI toggle, it doesn’t need to be indexed. For example, an accordion’s expand button doesn’t need SEO value.

How do I style a disclosure button to look like a link?

You can reset the button’s default styles (background, border) and apply the same font and color as your links. But keep the cursor as default or pointer—both are fine. The key is that the behavior is a button, not the look.

Is it okay to use a link with a “#” href for a disclosure?

No. That creates a link that changes the URL (to a hash) and may jump to the top. Use a button with aria-expanded. If you must use a link, prevent the default action and use role="button", but that’s a fallback, not a best practice.

What if the card is in a list and I want the whole row clickable?

Make the row a link, but then you cannot have a nested button. If you need both, use a grid with the title as a link and other actions as buttons. Avoid making the entire card a link if there are multiple actions.

Related

Formula used
in t | Time to decide (seconds) | s | 30 | 0 | 3600
in a | Number of available actions | - | 2 | 1 | 10
out p | Probability of correct choice | % | 100 / (1 + exp(-(a - 2) * 0.5)) * 100 | 0

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →