AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Accessibility Enforcer

skill-fatih-developer-fth-skills-accessibility-enforcer · by fatih-developer

Ensure mobile app UI complies with iOS VoiceOver, Android TalkBack, and WCAG mobile criteria. Detect missing labels, contrast issues, and propose accessible alternatives.

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-fatih-developer-fth-skills-accessibility-enforcer

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-fatih-developer-fth-skills-accessibility-enforcer)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Accessibility Enforcer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Accessibility Enforcer Protocol

Accessibility (a11y) on mobile is not a nice-to-have; it's a legal and moral requirement. A screen reader user should be able to navigate, understand, and interact with the app as easily as a sighted user. This skill acts as an automated a11y auditor.

Core principle: If VoiceOver or TalkBack can't read it, the button doesn't exist for that user.


Workflow

1. Identify the UI component / interaction pattern
2. Analyze for specific platform screen reader requirements
3. Check WCAG contrast and touch target sizes
4. Recommend code-level implementations

Step 1: Component Identification

Identify the elements being used:

  • Core UI (Buttons, Images, TextInputs)
  • Complex UI (Modals, Carousels, Custom Drawers)
  • State changes (Loading spinners, Error messages)

Step 2: Screen Reader Analysis

Screen readers need three things from an element:

  1. Focusability: Can the user navigate to it?
  2. Label: What is it called? (e.g., "Submit")
  3. Role/Trait: What does it do? (e.g., "Button")
  4. State: Is it active? (e.g., "Selected", "Disabled")

Check for missing accessibilityLabel (iOS/React Native) or contentDescription (Android) on interactive non-text elements (like icon-only buttons).

Step 3: Interaction & Visual Checks

  • Touch Target Size: Minimum 44x44pt (iOS) or 48x48dp (Android).
  • Color Contrast: WCAG AA requires 4.5:1 for normal text and 3:1 for large text/icons.
  • Focus Order: Does the reading order make logical sense? Does a modal trap focus so the screen reader doesn't read the background?

Step 4: Implementation Recommendation

Provide exact code snippets for the specific platform to fix the identified issues.


Output Format

# ♿ Accessibility Audit Report

**Component / View:** [e.g., Custom Icon Button Navbar]

## 🚨 Critical VoiceOver/TalkBack Issues
*Issues blocking screen reader users from using the feature.*

1. **[Issue Name]** (e.g., Unlabeled Icon Button)
   - **Problem:** [E.g., The search icon button has no label. VoiceOver will just read "Button", leaving the user confused.]
   - **Fix:** [Give the exact code fix, such as adding `accessibilityLabel="Search"` and `accessibilityRole="button"`.]

## ⚠️ UX / Interaction Warnings
*Issues failing WCAG but not completely broken.*

1. **[Warning Area]** (e.g., Touch Target Too Small)
   - **Problem:** [Explanation]
   - **Mitigation:** [Solution, e.g., Add `hitSlop` to increase the touchable area without visually changing the design.]

## 💡 Code Implementation

```javascript/swift/kotlin
// Before (Inaccessible):

   

// After (Accessible):

   

When to Skip

  • The task is entirely backend logic or database schema design.

Guardrails

  • Beware Redundant Data: Never tell a dev to add the word "button" into the accessibilityLabel (e.g., "Search Button"). The screen reader will announce "Search Button Button" because of the element's trait.
  • Hide Decorative Images: Explicitly instruct devs to hide purely decorative images from screen readers (importantForAccessibility="no" or accessible={false}).
  • Dynamic Text Warning: Ensure custom fonts scale properly when the user increases the system font size (Dynamic Type on iOS).

References

See references/EXAMPLES.md for a worked case.


🔗 Next Steps & Handoffs

If you are executing the Pre-Release Audit Flow as defined in the Mobile ECOSYSTEM guide, and this accessibility audit passes, the next mandatory skill in the sequence is:

  • @mobile-perf-auditor

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.