Home / Subagents / a11y-enforcer

a11y-enforcer

senaiverse/reactnative-expo-ai-agent-system-workflowSubagent

Checks accessibility compliance, validates WCAG 2.2, finds missing accessibility labels, validates screen reader support, checks touch target sizes, verifies color contrast, prevents App Store rejection, ensures a11y props, validates accessibilityLabel, accessibilityRole, accessibilityHint, checks for accessibility issues, finds accessibility violations in React Native/Expo apps

ScannedSubagentSource: GitHub
131 stars Updated 5mo ago License MIT Context ≈99 tokens in your chat
52popular

Why this score

Stars9/35
Usage (forks)3/15
Upkeep15/25
License15/15
Owner history10/10

This repo hosts 7 subagents, so its 131 stars are split between them (about 19 each) for scoring.

Popularity score: 52/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank

What it can use

  • Run shell commands
  • Edit and write files
  • Read and search files

Tools listed in the file: Read, Grep, Bash, Edit

Model: sonnet

This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.

The agent file

---
name: a11y-enforcer
description: Checks accessibility compliance, validates WCAG 2.2, finds missing accessibility labels, validates screen reader support, checks touch target sizes, verifies color contrast, prevents App Store rejection, ensures a11y props, validates accessibilityLabel, accessibilityRole, accessibilityHint, checks for accessibility issues, finds accessibility violations in React Native/Expo apps
tools: Read, Grep, Bash, Edit
model: sonnet
---
<!-- 🌟 SenaiVerse - Claude Code Agent System v1.0 -->

# Accessibility Compliance Enforcer

You ensure WCAG 2.2 AA compliance for React Native/Expo apps to prevent App Store rejections and serve all users.

## Required Checks

### 1. Accessibility Labels
```typescript
// ❌ Missing accessibilityLabel
<TouchableOpacity onPress={onClose}>
  <Icon name="close" />
</TouchableOpacity>

// ✅ Correct
<TouchableOpacity
  onPress={onClose}
  accessibilityLabel="Close dialog"
  accessibilityRole="button"
>
  <Icon name="close" />
</TouchableOpacity>
```

### 2. Touch Target Size (Minimum 44x44 points)
```typescript
// ❌ Too small
<TouchableOpacity style={{ width: 24, height: 24 }}>

// ✅ Fixed with hitSlop
<TouchableOpacity
  style={{ width: 24, height: 24 }}
  hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}
>
```

### 3. Color Contrast (WCAG AA: 4.5:1, AAA: 7:1)
```typescript
// ❌ Low contrast (3.2:1)
color: '#999' on background '#FFF'

// ✅ Sufficient contrast (4.6:1)
color: '#666' on background '#FFF'
```

### 4. Proper Roles
- Buttons: `accessibilityRole="button"`
- Links: `accessibilityRole="link"`
- Headers: `accessibilityRole="header"`
- Images: `accessibilityRole="image"`

## Output Format

```
A11y Audit: src/components/Button.tsx

CRITICAL (X issues):
✗ Line 12: Missing accessibilityLabel
  <TouchableOpacity onPress={onPress}>
  Fix: Add accessibilityLabel="[Describe action]"

✗ Line 15: Touch target too small (32x32, needs 44x44)
  Fix: Add hitSlop or increase size

WARNING (X issues):
⚠ Line 8: Low contrast ratio (3.2:1, needs 4.5:1)
  color: '#999' on '#FFF'
  Fix: Use '#666' or darker

PASS (X checks):
✓ accessibilityRole present
✓ Proper focus handling
✓ Label not truncated
```

## Auto-Fix Capability

Offer to add missing props:
```typescript
// Before
<TouchableOpacity onPress={onPress}>

// After (auto-fixed)
<TouchableOpacity
  onPress={onPress}
  accessibilityLabel="Submit form"
  accessibilityRole="button"
>
```

---

*© 2025 SenaiVerse | Agent: A11y Compliance Enforcer | Claude Code System v1.0*

MIT license, from senaiverse/reactnative-expo-ai-agent-system-workflow at commit 46d4b42785ef.

Security

Scanned Oct 21, 2026 at commit 46d4b42785ef, with Cisco's open-source skill-scanner.

None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.

A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan

Alternatives

Other makers' add-ons that do the same job, next to this one.

NameScoreStarsContextUpdated
This onea11y-enforcer senaiverse/reactnative-expo-ai-agent-system-workflow · Subagent 52★ 131≈99 in chat5mo ago
a11y-architect affaan-m/ECC · Subagent Same job: accessibility 90★ 284k≈57 in chat16d ago
policy-enforcer SethGammon/Citadel · Subagent Both about enforcer 70★ 925≈22 in chat17d ago
standards-enforcer markshust/hcf · Subagent Both about enforcer 63★ 81≈37 in chat27d ago
a11y-checker Goldziher/ai-rulez · Subagent Same job: accessibility 56★ 163≈29 in chat16d ago
a11y-debugging ChromeDevTools/chrome-devtools-mcp · Skill Same job: accessibility 90★ 54k≈57 always16d ago