run_accessibility_audit
Test web page accessibility by auditing for compliance with accessibility standards. Use this tool on ARM64 devices to ensure websites are navigable and usable for all users, including those with disabilities.
Instructions
Run an accessibility audit on the current page
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- index.js:843-874 (handler)The main handler function that executes the accessibility audit. It ensures Chromium is running, evaluates JavaScript in the browser context to check for common accessibility issues (images without alt text, unlabeled inputs, missing headings), parses the results, and returns them formatted as text.async runAccessibilityAudit() { await this.ensureChromium(); const result = await this.sendCDPCommand('Runtime.evaluate', { expression: ` const results = []; const imagesWithoutAlt = Array.from(document.querySelectorAll('img:not([alt])')).length; if (imagesWithoutAlt > 0) { results.push(\`Found \${imagesWithoutAlt} images without alt text\`); } const inputsWithoutLabels = Array.from(document.querySelectorAll('input:not([aria-label]):not([id])')).length; if (inputsWithoutLabels > 0) { results.push(\`Found \${inputsWithoutLabels} inputs without proper labels\`); } const headings = Array.from(document.querySelectorAll('h1, h2, h3, h4, h5, h6')); if (headings.length === 0) { results.push('No heading structure found on page'); } JSON.stringify(results.length > 0 ? results : ['Basic accessibility checks passed']); `, returnByValue: true }); const auditResults = JSON.parse(result.result?.value || '[]'); return { content: [{ type: 'text', text: `Accessibility Audit Results:\\n${auditResults.join('\\n')}` }], }; }
- index.js:280-286 (registration)Tool registration in the list returned by ListToolsRequestSchema, including the tool name, description, and empty input schema (no parameters required).name: 'run_accessibility_audit', description: 'Run an accessibility audit on the current page', inputSchema: { type: 'object', properties: {}, }, },
- index.js:379-380 (registration)Dispatch case in the CallToolRequestSchema handler that routes calls to the 'run_accessibility_audit' tool to the runAccessibilityAudit method.case 'run_accessibility_audit': return await this.runAccessibilityAudit();