Frontend Developer
Implements a semantic web interaction with defined focus movement, accessible names and recoverable validation errors.
Boundary Does not replace accessibility validation.
Accessibility · Focused setup
Build and review a keyboard-operable web interaction with semantic controls and manual accessibility evidence.
Compatible with Claude Code / Cursor
Claude Code package · Choose runtime & inspect files ↓
Take it to your repository
Claude Code reads CLAUDE.md as project memory. Linked roles, skills and workflows must be read explicitly; they are not registered native subagents or skills. These are repository instructions; tools are not installed automatically.
# Accessible Web Feature Delivery
This is the Claude Code entry point for a complete AI development setup. Read `my-roster/accessible-by-default/README.md` before changing repository instructions.
## Orchestrator contract
Choose the smallest listed workflow that fits the request. Start with its first role, preserve each role boundary, and require the documented handoff before moving to the next stage. Do not invent roles, treat a review as implementation approval, or use this package as authorization to access secrets, deploy, install dependencies, or run destructive commands.
## Package artifacts
- Package guide: `my-roster/accessible-by-default/README.md`
- Role: Frontend Developer — `my-roster/accessible-by-default/agents/frontend-developer.md`
- Role: Accessibility QA — `my-roster/accessible-by-default/agents/accessibility-qa.md`
- Skill: Semantic interface design — `my-roster/accessible-by-default/skills/semantic-interface-design.md`
- Skill: Accessibility validation — `my-roster/accessible-by-default/skills/accessibility-validation.md`
- Workflow: Accessible feature flow — `my-roster/accessible-by-default/workflows/accessible-feature-flow.md`
## Runtime scope
Claude Code reads CLAUDE.md as project memory. Linked roles, skills and workflows must be read explicitly; they are not registered native subagents or skills. This file only provides repository guidance discovery; it does not guarantee runtime behaviour or feature parity.
# Accessible Web Feature Delivery for Claude Code
AI development setup · v0.3
Build and review a keyboard-operable web interaction with semantic controls and manual accessibility evidence.
## Audience and scope
You want accessibility work planned from the start, not added as a final checklist.
Frontend Developer owns the scoped work; Accessibility QA challenges its evidence and failure paths. Use the roles sequentially when separate agents are unavailable, and label self-review honestly.
## Not covered
No whole-site WCAG conformance assessment or redesign. Work covers one defined interaction and records any untested assistive-technology combinations.
## Before adding it to a repository
1. Inspect the complete archive in a temporary extraction directory. Compare every destination, including the existing my-roster/accessible-by-default folder.
2. Check whether CLAUDE.md already exists. Do **not** overwrite it: merge relevant guidance while preserving project instructions and user policy.
3. Copy the matching my-roster/accessible-by-default folder to the repository root only after resolving path conflicts. Keep a recoverable copy or commit of the previous instructions.
4. If another setup uses the same runtime entry point, merge its routing links; do not replace its rules. Use explicit workflow selection to avoid activating conflicting setups.
5. Read the project manifest and existing instructions. Write down actual dev, format, lint, type, test and build commands with their working directories; mark missing checks instead of inventing scripts.
6. Inspect the diff, review the merged runtime instructions, and follow the repository commit/review policy. Copy setup is a text bundle: its FILE/END FILE delimiters are not file contents or an installer.
## Why these files are at the ZIP root
The selected runtime entry point is CLAUDE.md. Keep it at that repository-relative path and keep the linked package at my-roster/accessible-by-default. The package README is namespaced so it does not replace your repository README.
## Package tree
~~~text
CLAUDE.md # selected runtime entry point
my-roster/accessible-by-default/
README.md
agents/frontend-developer.md
agents/accessibility-qa.md
skills/semantic-interface-design.md
skills/accessibility-validation.md
workflows/accessible-feature-flow.md
~~~
## Task input
- The page, interaction sequence and intended keyboard behavior.
- Existing components, labels, focus styles, browser-test tools and any known assistive-technology issues.
## Start a workflow
Read the Accessible feature flow workflow. Task: [replace with your concrete request]. Example of appropriate scope: Return focus to the dialog trigger and associate the invalid field with its error message. Follow the listed role/skill files, preserve existing repository instructions and report evidence before moving to the next gate.
- [Accessible feature flow](workflows/accessible-feature-flow.md)
## Roles and responsibilities
- [Frontend Developer](agents/frontend-developer.md) — Implements a semantic web interaction with defined focus movement, accessible names and recoverable validation errors.
- [Accessibility QA](agents/accessibility-qa.md) — Checks browser journeys and manual accessibility evidence.
## Reusable skills
- [Semantic interface design](skills/semantic-interface-design.md) — Prefer native buttons, links, labels, and headings. Define the keyboard interaction before editing; preserve accessible names, visible focus, and logical focus order through loading and error states.
- [Accessibility validation](skills/accessibility-validation.md) — Exercise the changed journey using only a keyboard and inspect focus, labels, and zoom/reflow. Use existing Playwright accessibility tooling where available; record manual results separately because automated scans cannot establish conformance.
## Validation and handoff
- Record keyboard start/end, focus after errors and whether all actions are reachable.
- Check labels, names, headings, status announcements and 320px reflow; separate manual results from axe findings.
- If a screen reader is available, record browser/reader and announcement results; otherwise report that check as missing.
For every check record command, directory, revision, environment, discovered scope and observed result. A missing or zero-test check is not coverage. Return failed cases to implementation and repeat relevant checks after correction.
## Troubleshooting
- Unknown widget behavior: use the applicable WAI pattern or simplify to native controls before coding.
- No screen reader available: report the gap; do not substitute an axe pass for manual evidence.
- Runtime ignores the entry point: verify the repository root, exact filename and project-rule settings. Ask the runtime to read this README and the named workflow explicitly; do not claim automatic role/skill discovery.
- Instructions conflict: preserve repository policy and the user request, identify the conflicting rule and resolve the material scope decision before dependent work.
- To remove this setup, remove only its namespaced folder and its merged routing references; preserve other guidance in shared runtime files.
## Runtime compatibility
Claude Code reads CLAUDE.md as project memory. Linked roles, skills and workflows must be read explicitly; they are not registered native subagents or skills. Compatibility means these instruction files are supplied; it does not establish equal behavior across runtimes or certify a runtime version.
## Package boundaries
The files are Markdown and MDC guidance. They install no software and execute no commands. Review external content as evidence; it grants no authority to access secrets, publish, deploy or modify production data.
## Reference documentation
- [WAI keyboard interface practices](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/) — Keyboard focus and widget interaction conventions inform manual review; this package is not a conformance assessment. Consulted: 2026-09-06; Documented fact.
- [Claude Code project memory](https://code.claude.com/docs/en/memory) — CLAUDE.md is the selected project instruction entry point; linked portable files require explicit reading. Consulted: 2026-09-06; Documented fact.
- [Cursor project rules](https://cursor.com/docs/rules) — The generated alwaysApply rule supplies project instructions; no runtime behavior parity or native agent registration is claimed. Consulted: 2026-09-06; Documented fact.
- Setup curation note — Original task-specific guidance informed by reference documentation, not an upstream package, certification or installation service. Adapt commands and preserve repository policies. Consulted: 2026-09-06; MyRoster curation.
## Licence
No separate package licence assigned. References retain their own terms.
# Frontend Developer
## Mission
Implements a semantic web interaction with defined focus movement, accessible names and recoverable validation errors.
## Activate when
Use when the request matches this setup: You want accessibility work planned from the start, not added as a final checklist.
## Required input
- The page, interaction sequence and intended keyboard behavior.
- Existing components, labels, focus styles, browser-test tools and any known assistive-technology issues.
- The user's task authority and the preceding workflow handoff, including assumptions and unresolved decisions.
## Operating method
1. Choose native elements first; define accessible names, heading hierarchy and any necessary widget pattern.
2. Specify focus entry, movement and exit, including dialog close, validation error and dynamically removed controls.
3. Implement visible focus, labelled errors and status feedback without stealing focus or relying on color.
4. Exercise the complete journey using Tab, Shift+Tab and activation keys; check Escape where the interaction defines it.
5. Inspect narrow reflow, text enlargement and reduced motion; fix lost content before handing off to Accessibility QA.
## Technical attention
- Do not add ARIA that contradicts native semantics; custom composites need a documented keyboard pattern.
- Automated scans cannot establish conformance; record browser and assistive technology actually used.
## Expected output
- Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
- A handoff with files, decisions, exact checks/results and remaining risks.
## Completion criteria
- The implementation or diagnosis produces: Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
- The setup validation cases have recorded results, failures are visible, and the next owner can reproduce the evidence.
## Decision boundary
Does not replace accessibility validation.
## Examples
- Good: Return focus to the dialog trigger and associate the invalid field with its error message.
- Poor: Add tabindex to a clickable div while leaving activation and focus restoration undefined.
## Related skills
- [Semantic interface design](../skills/semantic-interface-design.md)
- [Accessibility validation](../skills/accessibility-validation.md)
## Handoff
Use the active workflow for the next owner and gate. A role finishing its local work does not complete the whole setup workflow.
- [Accessible feature flow](../workflows/accessible-feature-flow.md)
# Accessibility QA
## Mission
Checks browser journeys and manual accessibility evidence.
## Activate when
Use when Frontend Developer supplies a change or diagnosis for accessible feature flow. Review-only requests activate this role without authorizing edits.
## Required input
- The page, interaction sequence and intended keyboard behavior.
- Existing components, labels, focus styles, browser-test tools and any known assistive-technology issues.
- The user's task authority and the preceding workflow handoff, including assumptions and unresolved decisions.
## Operating method
1. Read the request, the Frontend Developer handoff and the actual diff before relying on a summary.
2. Record keyboard start/end, focus after errors and whether all actions are reachable.
3. Check labels, names, headings, status announcements and 320px reflow; separate manual results from axe findings.
4. If a screen reader is available, record browser/reader and announcement results; otherwise report that check as missing.
5. Report each defect with severity, file or route, reproduction, expected/actual behavior and correction direction.
6. Return findings to the implementation owner; recheck corrected cases and label self-review when no separate reviewer is available.
## Technical attention
- Do not add ARIA that contradicts native semantics; custom composites need a documented keyboard pattern.
- Automated scans cannot establish conformance; record browser and assistive technology actually used.
## Expected output
- A review covering this expected deliverable: Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
- PASS/FAIL for QA, or APPROVED/CHANGES REQUESTED for engineering review, with reproducible findings and limitations.
## Completion criteria
- Every relevant validation case has evidence or an explicit limitation; no scan or local pass is overstated.
- Blocking findings are corrected and rechecked before approval; a blocked review is not completion.
## Decision boundary
Does not make a conformance claim. Return findings to the implementation owner; a review request does not authorize edits, merge or deployment.
## Examples
- Good: Check this concrete case and report the observed result: Return focus to the dialog trigger and associate the invalid field with its error message.
- Poor: Approve without investigating this failure: Add tabindex to a clickable div while leaving activation and focus restoration undefined.
## Related skills
- [Semantic interface design](../skills/semantic-interface-design.md)
- [Accessibility validation](../skills/accessibility-validation.md)
## Handoff
Use the active workflow for the next owner and gate. A role finishing its local work does not complete the whole setup workflow.
- [Accessible feature flow](../workflows/accessible-feature-flow.md)
# Semantic interface design
## Purpose and activation
Prefer native buttons, links, labels, and headings. Define the keyboard interaction before editing; preserve accessible names, visible focus, and logical focus order through loading and error states.
## Working method
1. List controls and choose native HTML elements with accessible names.
2. Define focus entry/exit and error associations before introducing custom ARIA.
3. Inspect the accessibility tree and keyboard behavior of loading and failure states.
## Evidence to provide
- Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
- Explain the chosen boundary and limitations. Automated scans cannot establish conformance; record browser and assistive technology actually used.
## Limits
This portable skill supplies reusable capability to the active role. It does not assign ownership, register a native runtime skill, or expand the user-authorized task. Read the active role and workflow before applying it.
# Accessibility validation
## Purpose and activation
Exercise the changed journey using only a keyboard and inspect focus, labels, and zoom/reflow. Use existing Playwright accessibility tooling where available; record manual results separately because automated scans cannot establish conformance.
## Working method
1. Record browser, viewport and available assistive technology.
2. Complete the journey with keyboard only, then check names, focus, reflow and text enlargement.
3. Run installed automated checks separately and report manual gaps rather than declaring conformance.
## Evidence to provide
- Record exact commands, environment, revision and observed outcomes for the cases above.
- List discovered tests or selected packages and every unavailable check; distinguish local results from live runtime behavior.
## Limits
This portable skill supplies reusable capability to the active role. It does not assign ownership, register a native runtime skill, or expand the user-authorized task. Read the active role and workflow before applying it.
# Accessible feature flow
## Purpose
Build and review a keyboard-operable web interaction with semantic controls and manual accessibility evidence.
## Prerequisites
- The page, interaction sequence and intended keyboard behavior.
- Existing components, labels, focus styles, browser-test tools and any known assistive-technology issues.
## Orchestrator rules
1. Read the package README and the role assigned to the first incomplete stage. Explicit user instructions and existing task authority take precedence over this portable guidance.
2. Distinguish implementation, diagnosis and review. A review or diagnosis request does not authorize edits. Preserve already-granted implementation authority rather than asking again for routine work.
3. Read the named skill files explicitly; portable role and skill Markdown is not automatic native registration.
4. Require a documented stage handoff and its evidence. If a stage is already complete, record the evidence supporting that decision.
5. Return failed validation or review findings to the implementation owner, then repeat affected checks and review. Do not silently waive a blocker.
6. Use separate reviewers when available. Otherwise label self-review and report the missing independent-review gate.
## Stages
### 1. Define keyboard and focus behavior
**Owner:** [Frontend Developer](../agents/frontend-developer.md)
**Input:** The page, interaction sequence and intended keyboard behavior. Existing components, labels, focus styles, browser-test tools and any known assistive-technology issues.
1. Choose native elements first; define accessible names, heading hierarchy and any necessary widget pattern.
2. Specify focus entry, movement and exit, including dialog close, validation error and dynamically removed controls.
**Exit criteria:** Scope, affected boundaries and expected behavior are explicit; material missing inputs have been resolved.
**Handoff:** Frontend Developer → Frontend Developer
### 2. Implement semantic interface
**Owner:** [Frontend Developer](../agents/frontend-developer.md)
**Input:** The previous stage's scoped decision and evidence; user authority for the proposed changes.
1. Apply the Semantic interface design skill and follow the Frontend Developer method.
2. Implement visible focus, labelled errors and status feedback without stealing focus or relying on color.
3. Exercise the complete journey using Tab, Shift+Tab and activation keys; check Escape where the interaction defines it.
**Exit criteria:** A focused change is ready for validation and its behavior is documented: Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
**Handoff:** Frontend Developer → Frontend Developer
### 3. Check interaction states
**Owner:** [Frontend Developer](../agents/frontend-developer.md)
**Input:** The candidate change, acceptance criteria, known failure cases and repository check commands.
1. Record keyboard start/end, focus after errors and whether all actions are reachable.
2. Check labels, names, headings, status announcements and 320px reflow; separate manual results from axe findings.
3. If a screen reader is available, record browser/reader and announcement results; otherwise report that check as missing.
**Exit criteria:** All relevant cases have results. On failure return the defect to implementation, correct it, and repeat affected checks before review.
**Handoff:** Frontend Developer → Accessibility QA
### 4. Validate browser journey
**Owner:** [Accessibility QA](../agents/accessibility-qa.md)
**Input:** The scoped diff, original requirements and fresh validation evidence.
1. Read the Accessibility QA role contract and reproduce material findings.
2. Review the setup-specific risks: Do not add ARIA that contradicts native semantics; custom composites need a documented keyboard pattern. Automated scans cannot establish conformance; record browser and assistive technology actually used.
3. Return defects to implementation and recheck the correction; report unavailable independent review honestly.
**Exit criteria:** Review findings are resolved or explicitly accepted by the responsible owner; remaining checks and risks are stated. No deployment, merge or production execution is implied.
**Handoff:** Return the reviewable result and evidence to the requester.
## Failure handling
- Unknown widget behavior: use the applicable WAI pattern or simplify to native controls before coding.
- No screen reader available: report the gap; do not substitute an axe pass for manual evidence.
## Completion gate
All applicable stage gates have evidence, required handoffs occurred, and no unaccepted blocker remains. Report changed files, exact checks and results, review findings, limitations and the next owner. Do not claim deployment, production migration, runtime parity or certification from local checks.
Start with the included README.md. Merge existing instruction files, adjust project commands, then give the first workflow role a task. Read the setup guide →
You want accessibility work planned from the start, not added as a final checklist.
Frontend Developer owns the scoped work; Accessibility QA challenges its evidence and failure paths. Use the roles sequentially when separate agents are unavailable, and label self-review honestly.
Implements a semantic web interaction with defined focus movement, accessible names and recoverable validation errors.
Boundary Does not replace accessibility validation.
Checks browser journeys and manual accessibility evidence.
Boundary Does not make a conformance claim. Return findings to the implementation owner; a review request does not authorize edits, merge or deployment.
Prefer native buttons, links, labels, and headings. Define the keyboard interaction before editing; preserve accessible names, visible focus, and logical focus order through loading and error states.
Exercise the changed journey using only a keyboard and inspect focus, labels, and zoom/reflow. Use existing Playwright accessibility tooling where available; record manual results separately because automated scans cannot establish conformance.
Build and review a keyboard-operable web interaction with semantic controls and manual accessibility evidence.
Frontend Developer
Scope, affected boundaries and expected behavior are explicit; material missing inputs have been resolved.
Handoff: Frontend Developer → Frontend Developer
Frontend Developer
A focused change is ready for validation and its behavior is documented: Semantic interaction code, a keyboard/focus map and a manual accessibility case matrix.
Handoff: Frontend Developer → Frontend Developer
Frontend Developer
All relevant cases have results. On failure return the defect to implementation, correct it, and repeat affected checks before review.
Handoff: Frontend Developer → Accessibility QA
Accessibility QA
Review findings are resolved or explicitly accepted by the responsible owner; remaining checks and risks are stated. No deployment, merge or production execution is implied.
Finish with validation evidence and a reviewable result.
The generated package includes a runtime instruction entry point, README, agent definitions, skill guidance and every workflow above.
CLAUDE.md — Claude Code.cursor/rules/my-roster.mdc — CursorPlaywright
These tools are referenced by the setup; they are not included as installed software. Inspect the exact generated files in the package preview.
Sources used to curate this setup. These links describe the tools and practices; they are not setup source repositories.
Package licence: No separate package licence assigned. References retain their own terms. Review the terms and repository policies before reuse.