Skip to main content
Glama

Touch targets

check_touch_targets
Read-only

Check target sizes and spacing against WCAG 2.2 SC 2.5.8 (24 by 24 CSS px, or a smaller target with enough spacing), the 44px guidance for iOS and the web, and 48dp for Android. Pass targets as a list of {name, width, height, gap, inline} or text lines like 'Save button 40x32 gap=8'. Returns pass or fail per guideline with advice.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "check_touch_targets"
  }
}

Input Schema

NameRequiredDescriptionDefault
textNoOr lines like 'Close icon 32x32 gap=4'
targetsNoTargets to check

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is a pure read-only, closed-world check, so the description isn't obliged to cover safety. It still adds real value by disclosing the pass/fail-per-guideline-plus-advice return shape and the actual thresholds and the 'smaller target with enough spacing' nuance, which annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: the check and its standards, then the accepted input forms, then the return shape. Each sentence carries information an agent needs, and the purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly supplies the return contract (pass or fail per guideline, with advice), and it documents both mutually optional input paths. The only gap is that it doesn't say what happens if neither text nor targets is supplied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by giving concrete input syntax ('Save button 40x32 gap=8' / 'Close icon 32x32 gap=4') and by tying the gap field to the spacing-based exemption in SC 2.5.8. That clarifies the semantics of gap and inline rather than merely restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Check target sizes and spacing') and names the exact rule set it applies: WCAG 2.2 SC 2.5.8, 44px iOS/web, 48dp Android. It is trivially distinguishable from siblings like check_contrast, which measure a different property.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear when this check applies by enumerating the standards it encodes, and it explains both accepted input modes so an agent knows how to feed it. It does not name any exclusion or alternative tool, but no sibling overlaps meaningfully with touch-target sizing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources