# LLM Agent Guide: ADA/WCAG Accessibility Testing with Cremote ## Purpose This document provides LLM coding agents with concrete, actionable guidance for using Cremote's accessibility testing tools to conduct ADA/WCAG compliance audits. ## Quick Reference ### Tool Selection Matrix | Testing Need | Primary Tool | Secondary Tool | WCAG Criteria | |--------------|--------------|----------------|---------------| | Comprehensive automated audit | `web_run_axe_cremotemcp` | - | ~57% of WCAG 2.1 AA | | Color contrast issues | `web_contrast_check_cremotemcp` | `web_run_axe_cremotemcp` | 1.4.3, 1.4.6 | | Keyboard accessibility | `web_keyboard_test_cremotemcp` | `web_run_axe_cremotemcp` | 2.1.1, 2.4.7 | | Zoom/resize functionality | `web_zoom_test_cremotemcp` | - | 1.4.4 | | Responsive design | `web_reflow_test_cremotemcp` | - | 1.4.10 | | Visual documentation | `web_screenshot_cremotemcp` | - | Evidence capture | | Custom JavaScript testing | `console_command_cremotemcp` | - | Advanced scenarios | ### Standard Testing Sequence ``` 1. web_inject_axe_cremotemcp # Inject axe-core library 2. web_run_axe_cremotemcp # Run comprehensive automated tests 3. web_contrast_check_cremotemcp # Detailed contrast analysis 4. web_keyboard_test_cremotemcp # Keyboard navigation testing 5. web_zoom_test_cremotemcp # Zoom functionality testing 6. web_reflow_test_cremotemcp # Responsive design testing ``` ## Tool Usage Patterns ### Pattern 1: Initial Audit ```json // Step 1: Inject axe-core { "tool": "web_inject_axe_cremotemcp", "arguments": { "timeout": 30 } } // Step 2: Run comprehensive tests { "tool": "web_run_axe_cremotemcp", "arguments": { "run_only": ["wcag2a", "wcag2aa", "wcag21aa"], "timeout": 30 } } // Step 3: Analyze results and run specialized tests based on findings ``` ### Pattern 2: Contrast-Specific Testing ```json // For pages with known or suspected contrast issues { "tool": "web_contrast_check_cremotemcp", "arguments": { "selector": "body", // Test entire page "timeout": 10 } } // For specific sections { "tool": "web_contrast_check_cremotemcp", "arguments": { "selector": ".main-content", // Test specific area "timeout": 10 } } ``` ### Pattern 3: Keyboard Navigation Testing ```json { "tool": "web_keyboard_test_cremotemcp", "arguments": { "timeout": 10 } } // Analyze output for: // - not_focusable: Elements that should be keyboard accessible but aren't // - no_focus_indicator: Elements missing visible focus indicators // - keyboard_trap: Elements that trap keyboard focus ``` ### Pattern 4: Zoom and Responsive Testing ```json // Test zoom levels (WCAG 1.4.4) { "tool": "web_zoom_test_cremotemcp", "arguments": { "zoom_levels": [1.0, 2.0, 4.0], "timeout": 10 } } // Test responsive breakpoints (WCAG 1.4.10) { "tool": "web_reflow_test_cremotemcp", "arguments": { "widths": [320, 768, 1280], "timeout": 10 } } ``` ### Pattern 5: Visual Documentation ```json // Capture baseline { "tool": "web_screenshot_cremotemcp", "arguments": { "output": "/tmp/baseline.png", "timeout": 5 } } // Capture at 200% zoom { "tool": "web_screenshot_cremotemcp", "arguments": { "output": "/tmp/zoom-200.png", "zoom_level": 2.0, "timeout": 5 } } // Capture mobile view { "tool": "web_screenshot_cremotemcp", "arguments": { "output": "/tmp/mobile-320.png", "width": 320, "height": 568, "timeout": 5 } } ``` ## Interpreting Results ### Axe-Core Results ```json { "violations": [ { "id": "color-contrast", "impact": "serious", // critical, serious, moderate, minor "description": "Elements must have sufficient color contrast", "nodes": [ { "html": "

Low contrast text

", "target": [".text-gray"], "failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.2:1 (foreground color: #808080, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1" } ] } ], "passes": [...], // Tests that passed "incomplete": [...], // Tests requiring manual review "inapplicable": [...] // Tests not applicable to this page } ``` **Action Priority:** 1. **Critical/Serious violations** - Fix immediately 2. **Moderate violations** - Fix in current sprint 3. **Minor violations** - Fix when convenient 4. **Incomplete** - Manually review and test 5. **Passes** - Document for compliance ### Contrast Check Results ``` WCAG AA Violations: - p:nth-of-type(3): 3.2:1 (required: 4.5:1) Text: This text has insufficient contrast Colors: rgb(128, 128, 128) on rgb(255, 255, 255) ``` **Remediation:** - Darken foreground color or lighten background - Use contrast ratio calculator to find compliant colors - Test with `web_contrast_check_cremotemcp` after fixes ### Keyboard Test Results ``` High Severity Issues: - not_focusable: Interactive element is not keyboard focusable Element: div[role="button"] - no_focus_indicator: Interactive element lacks visible focus indicator Element: button.submit-btn ``` **Remediation:** - `not_focusable`: Add `tabindex="0"` or use semantic HTML (`