io.github.rog0x/a11y
Alt text, headings, contrast, ARIA for AI agents
Open source Open in the app JSON README (API)
About
Alt text, headings, contrast, ARIA for AI agents
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- rog0x
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.0.2
- Last push
- 2026-03-21T20:22:24Z
- Repository state
- ativo
- Language
- TypeScript
- License
- NOASSERTION
- Added
- 2026-08-29 04:01:19
- Updated
- 2026-08-29 04:01:19
- Origin id
io.github.rog0x/a11y
README
# mcp-a11y-tools
Web accessibility analysis tools for AI agents, served over the Model Context Protocol (MCP).
## Tools
### check_alt_text
Analyze images in HTML for missing, empty, or low-quality alt text.
- Detects missing `alt` attributes
- Identifies decorative images (`alt=""` with `role="presentation"`)
- Flags low-quality alt text (e.g., "image", "photo", filenames)
- Checks linked images, `<input type="image">`, and `<area>` elements
### check_heading_hierarchy
Validate heading structure for proper nesting and content quality.
- Verifies h1-h6 order with no skipped levels
- Ensures a single `<h1>` per page
- Detects empty, too-short, or too-long headings
- Supports `role="heading"` with `aria-level`
- Returns a visual tree of the heading outline
### check_color_contrast
Check WCAG 2.x contrast ratio for foreground/background color pairs.
- Calculates precise contrast ratio per WCAG relative luminance formula
- Reports AA and AAA compliance for normal and large text
- Accepts hex (`#fff`, `#ffffff`), `rgb(r,g,b)`, and named colors
### validate_aria
Validate ARIA attributes on HTML elements.
- Detects invalid ARIA roles
- Checks for missing required ARIA properties per role
- Flags redundant ARIA roles that match native semantics
- Warns about `aria-label` on non-interactive elements
- Catches `aria-hidden="true"` on focusable elements
### check_form_accessibility
Audit form elements for accessibility compliance.
- Verifies every input has an associated label (explicit, implicit, or ARIA)
- Checks radio/checkbox groups for `<fieldset>` and `<legend>`
- Flags placeholder text used as the only label
- Suggests `autocomplete` attributes for personal info fields
- Detects duplicate IDs that break label association
## Setup
```bash
npm install
npm run build
```
## Usage with Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"a11y-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-a11y-tools/dist/index.js"]
}
}
}
```
## License
MIT