Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aria-mcpSuggest the best ARIA role for a custom searchable dropdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aria-mcp
A Model Context Protocol (MCP) server providing comprehensive access to the W3C WAI-ARIA specification. Designed for accessibility professionals, developers, and AI agents to query ARIA roles, states, properties, and accessibility requirements.
Quick Start
Add to your MCP client configuration:
That's it! No cloning, no building - just add the config and start querying ARIA.
Features
Complete ARIA 1.3 Specification Data: Roles, states, properties, and their relationships
Role Validation: Check attribute validity for specific roles
Accessibility Guidance: Name requirements, landmarks, live regions
Smart Suggestions: Get role recommendations based on UI component descriptions
Works Locally & Remotely: stdio transport for local use, Netlify Functions for remote deployment
Available Tools
Tool | Description |
Role Information | |
| Get detailed information about a specific ARIA role |
| List all ARIA roles, optionally filtered by category |
| Search for roles by keyword in name or description |
| Get the inheritance hierarchy for a role |
States & Properties | |
| Get details about an ARIA state or property |
| List all ARIA states with descriptions |
| List all ARIA properties, optionally global only |
| List all global ARIA states and properties |
Validation | |
| Validate if attributes are allowed for a role |
| Get required attributes for a role |
| Get prohibited attributes for a role |
Role Relationships | |
| Get required parent context for a role |
| Get required child elements for a role |
Accessible Name | |
| Check accessible name requirements for a role |
| List all roles that require an accessible name |
Specialized Queries | |
| List all ARIA landmark roles with usage guidance |
| List interactive widget roles |
| List live region roles with politeness levels |
Guidance | |
| Get role suggestions based on UI component description |
| Get ARIA specification version and statistics |
| Get information about this MCP server |
Installation
Configure Claude Desktop
Add this to your Claude Desktop MCP settings (~/Library/Application Support/Claude/claude_desktop_config.json):
Configure Cursor
Add to your Cursor MCP settings:
Usage Examples
Query a Role
Returns complete information about the button role including:
Description and purpose
Category (widget, landmark, etc.)
Required/supported/prohibited attributes
Name requirements
Parent/child role requirements
Validate Attributes
Checks if each attribute is valid, required, or prohibited for the role.
Get Role Suggestions
Returns suggested roles (combobox, listbox) with usage guidance.
List Landmarks
Lists all ARIA landmark roles with best practices for page structure.
Data Source
This MCP server uses data parsed directly from the W3C ARIA repository, which is included as a Git submodule.
Updating the Data
To update to the latest ARIA specification:
This will:
Pull the latest changes from the W3C ARIA repository
Re-parse the specification to regenerate
data/aria-data.json
Manual Parsing
To regenerate the data without updating the submodule:
Project Structure
Deployment to Netlify
This project is configured for Netlify deployment.
Deploy via GitHub
Push this repository to GitHub
Connect to Netlify via the dashboard
Netlify will automatically build and deploy
Using the Remote Server
Once deployed, configure your MCP client:
Use Cases
For Accessibility Professionals
Quick Reference: Look up role requirements without leaving your IDE
Validation: Verify ARIA usage in code reviews
Training: Help team members understand ARIA semantics
For Developers
Real-time Guidance: Get role suggestions while building components
Attribute Validation: Catch invalid ARIA usage early
Documentation: Access spec details without browser context switching
For AI Agents
Code Generation: Generate accessible components with correct ARIA
Code Review: Validate ARIA usage in pull requests
Accessibility Audits: Check for missing or incorrect attributes
ARIA Specification Coverage
100 Roles: All roles from WAI-ARIA 1.3
10 States: Dynamic values that change with user interaction
43 Properties: Static or rarely-changing characteristics
Role Categories: widget, composite, document, landmark, liveRegion, window, abstract
Contributing
Fork the repository
Create a feature branch
Make your changes
Run
npm run parseif modifying the parserSubmit a pull request
License
MIT