affordance-false-and-anti

Fix UI elements that look interactive but are not, and design clear disabled states.

8|3|Updated May 3, 2026
One-click install
npx skills add https://github.com/Deibler/universal-design-principles --skill affordance-false-and-anti-deibler
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: affordance-false-and-anti
Source: https://github.com/Deibler/universal-design-principles/tree/main/plugins/interaction-and-control-principles/skills/affordance-false-and-anti
Command: npx skills add https://github.com/Deibler/universal-design-principles --skill affordance-false-and-anti-deibler

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Users lose trust when they tap elements that look interactive but do nothing (false affordance), or when they hit disabled buttons with no explanation of why (anti-affordance). This Skill provides concrete patterns to eliminate misleading visual treatments and design disabled, read-only, and permission-locked states that clearly communicate unavailability. ## Core Features & Use Cases - False-affordance detection and fixes: Identify button-styled cards, hover states on inert elements, underlined non-link text, and decorative animation that falsely signals interactivity, with CSS/HTML fixes. - Disabled-state design: Implement disabled controls with visual demotion, cursor: not-allowed, aria-disabled, and explanations of why the action is unavailable. - Read-only and locked field treatment: Style read-only inputs to signal "data, not control" while keeping values selectable, and mark permission-locked fields with lock icons and hints. - Use Case: While reviewing a checkout page, you find the submit button silently disabled and several content cards styled like buttons. Use this Skill to restyle the inert cards neutrally and add an inline hint explaining the disabled button's precondition. ## Quick Start Review this checkout form for false affordances and improve the disabled submit button so users understand why it is unavailable.

Frequently Asked Questions about affordance-false-and-anti

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix UI elements that look clickable but are not?▼

Strip interactive-looking treatments from inert content: remove borders, drop shadows, and hover responses from non-clickable cards, and reserve underlines for actual links. Use neutral backgrounds or uniform connectedness (tinted regions) instead of button-like elevation.

Should I disable a submit button until the form is valid?▼

Silently disabling a button leaves users hunting for what is wrong. Better options are keeping the button enabled and showing validation errors on click, or pairing the disabled button with an inline hint explaining the unmet precondition.

What CSS should a disabled button have?▼

A disabled button needs visual demotion (lower opacity, neutral background), cursor: not-allowed, no hover response, and the disabled attribute plus aria-disabled="true" for assistive technology. Optionally add a tooltip or adjacent text explaining why.

How do I style read-only input fields differently from editable ones?▼

Give read-only inputs a neutral background, muted border, and cursor: text so values remain selectable for copying, and remove the focus outline to avoid implying editability. Unlike disabled fields, readonly fields stay focusable and are included in form submission.

Why do users keep tapping decorative elements on my page?▼

Animated or elevated decorative elements attract attention, and users interpret attention as interactivity. Audit animations on non-interactive content, and ensure any attention-drawing element either does something on click or stops mimicking a control.