Flab UIv0.0.2
MobileA2UI

Permissions

When the user can't do something, decide deliberately: hide the control, or disable it with a reason. Never communicate a restriction through faded opacity alone, and never leave the user guessing why an action won't work.

Disabled with a reason

<Tooltip content="You need admin access to invite members">  <Button disabled>Invite member</Button></Tooltip>

The control stays keyboard-focusable while disabled, so the reason is reachable without a mouse. Where the reason must always be visible, pair the control with a Callout instead of relying only on a tooltip.

Reason and next step

Inviting members needs an admin. Ask a workspace owner to grant access.
<Callout tone="info">  Inviting members needs an admin. Ask a workspace owner to grant access.</Callout>

Hide vs disable

  • Hide when the user can never use the action here and cannot request access — showing it is just noise.
  • Disable with a reason when the action may become available, or seeing it helps the user understand the product and how to get access.
  • Give the reason and, where possible, the next step for obtaining access.
  • Opacity is not an explanation. A disabled control must still be understandable.