EaseWeb accessibility
Accessibility guides for coding agents: fixes with working code, test steps, contrast checks. EN/JA
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- HIGH
- MEDIUMen before_building
- INFOen before_building
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"easeweb": {
"url": "https://easeweb.dev/mcp"
}
}
}Puntos de conexión remotos
https://easeweb.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (5)
🟢before_building(request, locale, limit)
Call BEFORE designing or building any interactive component or screen: menus, dialogs, carousels, tabs, forms, drag and drop, custom controls, cards, tables, charts, animation. This includes wireframes, mockups and prototypes. Takes the request in the user’s own words and returns the guides that apply with the requirements to build in from the start (keys, roles and names, focus, what is announced), working reference code, and the checks split into what the agent can confirm and what a person must. When the request itself breaks a rule (autoplay with no pause, a placeholder as the only label, a div as a button, hover-only menus, removed focus outlines, disabled zoom), it returns a version that keeps what the user wanted and passes, plus one sentence to say to the user. Do not refuse such a request, and do not build the failing version quietly.
Esquema de entrada
{
"type": "object",
"properties": {
"request": {
"type": "string",
"maxLength": 1000,
"description": "What the user asked for, in their words, e.g. \"autoplaying hero carousel\", \"custom dropdown with search\", \"カード全体をクリックできる一覧\""
},
"locale": {
"type": "string",
"enum": [
"en",
"ja"
],
"description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
},
"limit": {
"type": "integer",
"description": "Guides to return at most (default 6, max 12)"
}
},
"required": [
"request"
]
}🟢find_fix(query, locale, limit)
Search the Learn guides by words, component name, tag, ARIA attribute or WCAG number (1.4.3, SC 2.1.1, JIS 達成基準, EN 301 549 9.x). Returns for each matching topic: the problem, the fix in one line, how to test it, the guide link, and the criterion in WCAG, EN 301 549, Section 508 and JIS X 8341-3 terms. Topics with no guide yet come back as "in progress". Use it when a finding, a complaint, a failing check or a question names a problem.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "Words, a tag, an ARIA attribute or a WCAG number"
},
"locale": {
"type": "string",
"enum": [
"en",
"ja"
],
"description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
},
"limit": {
"type": "integer",
"description": "Topics to return at most (default 8, max 20)"
}
},
"required": [
"query"
]
}🟢get_guide(slug, locale)
The full guide as Markdown, the same as easeweb.dev/learn/<slug>.md: what happens, why it fails, who it affects, what automation misses, the Before and After code, how to verify, and the limits. Also returns the After code as plain text with its marks (recommended, not enough on its own, the rule of thumb behind it). Get the slug from find_fix or before_building.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 100,
"description": "The guide slug, e.g. \"native-buttons\""
},
"locale": {
"type": "string",
"enum": [
"en",
"ja"
],
"description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
}
},
"required": [
"slug"
]
}🟢test_steps(slug, query, locale)
Call AFTER building or fixing something, and before telling the user it is done. For a guide (by slug) or a component (by query) returns the pass criteria, the checks the agent can run itself, the checks only a person can do (which keys to press and what should happen, as a two-minute script), the guide’s limits, and a Playwright regression test skeleton. Hand the person’s checks to the user as written; never report them as done.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 100,
"description": "A guide slug from find_fix or before_building"
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Or a component or problem in words, when the slug is unknown"
},
"locale": {
"type": "string",
"enum": [
"en",
"ja"
],
"description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
}
}
}🟢check_palette(pairs, tokens, level, locale)
Call when choosing or changing colours, a palette or design tokens, before they are used in a design or in code. Takes colour pairs (foreground and background, with text size in px and weight when the foreground is text, or use: "non-text" for control borders, icons and focus rings) or a set of named tokens, in hex, rgb() or hsl(). Returns each pair’s contrast ratio, pass or fail against WCAG 1.4.3 (text) and 1.4.11 (non-text) at AA or AAA, the nearest passing shade of the same hue, and the guides that apply. It checks values, not rendered pages: text over images, real focus states and forced colors stay with the audit.
Esquema de entrada
{
"type": "object",
"properties": {
"pairs": {
"type": "array",
"maxItems": 50,
"description": "Colour pairs to check",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "What the pair is, e.g. \"body text\", \"primary button border\""
},
"foreground": {
"type": "string",
"description": "Text, icon or border colour: #767676, rgb(118 118 118), hsl(0 0% 46%)"
},
"background": {
"type": "string",
"description": "What it sits on"
},
"size": {
"type": "number",
"description": "Font size in CSS px, when the foreground is text"
},
"weight": {
"type": "number",
"description": "Font weight (400, 700), when the foreground is text"
},
"use": {
"type": "string",
"enum": [
"text",
"large-text",
"non-text"
],
"description": "text (default), large-text, or non-text for control boundaries, icons and focus indicators (3:1)"
}
},
"required": [
"foreground",
"background"
]
}
},
"tokens": {
"type": "object",
"description": "Or named tokens { \"ink\": \"#1b1b1b\", \"paper\": \"#fff\" }, up to 12; every combination is checked as text",
"additionalProperties": {
"type": "string"
}
},
"level": {
"type": "string",
"enum": [
"AA",
"AAA"
],
"description": "Conformance level to check against (default AA)"
},
"locale": {
"type": "string",
"enum": [
"en",
"ja"
],
"description": "Language of the answer and the guides: en (default) or ja. Japanese answers cite JIS X 8341-3:2016."
}
}
}Comunidad
Evidencia