accessibility-engineer

Enforce accessible UI with semantic HTML and minimal ARIA.

9|Updated Aug 20, 2025
One-click install
npx skills add https://github.com/mae616/ai-template --skill accessibility-engineer-mae616
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: accessibility-engineer
Source: https://github.com/mae616/ai-template/tree/main/.claude/skills/accessibility-engineer
Command: npx skills add https://github.com/mae616/ai-template --skill accessibility-engineer-mae616

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a clear framework to ensure UI components are accessible by prioritizing native HTML semantics and minimizing ARIA usage, helping teams avoid common accessibility pitfalls.

Core Features & Use Cases

  • Native-first accessibility judgments: prefer semantic HTML elements (button, a, label, input) over ARIA roles.
  • Minimal ARIA usage: add ARIA attributes only when required, avoiding overuse.
  • Focus management and labeling: ensure accessible names, proper associations, and keyboard operability.
  • Use Case: A frontend developer audits a form, rewrites markup to use semantic elements, and adds proper labels and landmarks to improve screen reader navigation.

Quick Start

  1. Audit the current markup for semantic elements and landmark roles.
  2. Replace non-semantic tags with native equivalents (buttons, links, inputs, headings, lists).
  3. Add visible labels and proper associations (label for=input id=...).
  4. Verify keyboard operability and focus order; test with a screen reader.

Frequently Asked Questions about accessibility-engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build accessible UI with semantic HTML?

To build accessible UI with semantic HTML, prioritize native elements like button, a, label, and input over generic tags. This approach ensures inherent keyboard operability and screen reader support while minimizing the need for additional attributes.

When should I use ARIA roles in frontend development?

Use ARIA roles in frontend development only when native HTML elements cannot provide the required semantics. Minimizing ARIA usage prevents redundant markup and ensures screen readers correctly interpret UI states without conflicting with native semantics.

How do I ensure keyboard navigation and focus management work correctly?

Ensure keyboard navigation and focus management by verifying logical focus order, visible focus indicators, and proper state validation. Replace non-semantic tags with native equivalents like buttons and links to guarantee inherent keyboard operability.

What is the best way to label form inputs for screen reader support?

The best way to label form inputs for screen reader support is associating label elements with inputs using matching for and id attributes. This provides accessible names and ensures proper screen reader navigation across frontend forms.

How do I audit frontend markup for screen reader compatibility?

Audit frontend markup for screen reader compatibility by checking for semantic elements and landmark roles. Replace non-semantic tags with native equivalents, add visible labels, and verify keyboard operability and focus order with a screen reader.

Does using too much ARIA harm accessibility?

Using too much ARIA harms accessibility when it overrides or duplicates native HTML semantics. Prioritize semantic HTML elements first and add ARIA attributes only when required to avoid confusing screen readers and breaking keyboard operability.