frontend-accessibility
Skill3 starsChanged 13 days agoMITView on GitHub
Analyze a frontend codebase for accessibility issues and implement verified improvements across UI components, pages, styles, forms, navigation, media, and interaction patterns.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- ai-enhanced-engineer/aiee-skillstheir own version, first seen Nov 1, 2026
- lammersbjorn/sane-nexttheir own version, first seen May 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- ai-enhanced-engineer/aiee-skills★ 4same name
- lammersbjorn/sane-next★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- astro-expertSkill
- bulma-expertSkill
- code-reviewSkill
- nuxt-expertSkill
- performance-optimizerSkill
- security-auditSkill
- seo-auditSkill
- systematic-debuggingSkill
- update-documentationSkill
- vue-expertSkill
- web-designSkill
- website-analyzerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
66 rules. About 0 are common, 64 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈64
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Use when user asks to:
- Distinctive: line 32
Add automated accessibility tests.
- Distinctive: line 39
Use project's stated accessibility target when exists.
- Distinctive: line 41
If none specified, use as practical baseline:
- Distinctive: line 54
No WCAG conformance claim from code review or automated test alone.
- Very specific: line 62
Use native controls (button, a, input, select, textarea, dialog) + semantic landmarks before adding ARIA.
- Distinctive: line 77
Never remove focus indicators without equally visible replacement.
- Distinctive: line 133
Do not assume framework, directory, or testing tool exists.
- Distinctive: line 150
If scope unclear, inspect code and identify smallest useful scope before asking questions.
- Distinctive: line 198
Do not add landmarks or headings solely to satisfy checklist.
- Distinctive: line 204
All interactive functionality available by keyboard.
- Very specific: line 212
No positive tabIndex without strong, documented reason.
- Distinctive: line 234
Check that controls have:
- Distinctive: line 258
No redundant accessible names that make screen-reader output verbose or confusing.
- Distinctive: line 262
Check that forms provide:
- Distinctive: line 277
No placeholder text as only label or instruction.
- Distinctive: line 292
No alt text repeating nearby visible text unnecessarily.
- Distinctive: line 308
Use project's design tokens when available.
- Distinctive: line 312
Test or inspect behavior at:
- Distinctive: line 340
No flashing creating risk.
- Distinctive: line 360
No large or frequently changing regions in assertive live regions.
- Distinctive: line 376
Check that media provides, where relevant:
- Distinctive: line 386
No assumption browser-native media controls meet every project requirement.
- Distinctive: line 432
Use existing tooling + conventions when possible.
- Distinctive: line 453
Add or repair keyboard behavior.
- Distinctive: line 454
Add visible focus styles.
- Distinctive: line 456
Add accessible names to controls.
- Distinctive: line 461
Use native browser validation features where appropriate.
- Distinctive: line 462
Add accessible alternatives to pointer-only interactions.
- Distinctive: line 463
Remove incorrect or redundant ARIA.
- Distinctive: line 479
Add tests when repository has suitable infrastructure.
- Distinctive: line 497
No brittle tests dependent on implementation details when user-visible behavior testable instead.
- Distinctive: line 501
Run most relevant available checks:
- Distinctive: line 519
Test with browser zoom.
- Distinctive: line 520
Test with reduced motion.
- Distinctive: line 522
Test at mobile and desktop viewport sizes.
- Distinctive: line 523
Verify error and loading states.
- Distinctive: line 524
Verify color not only means of conveying information.
- Distinctive: line 526
If screen reader or browser unavailable, state not tested.
- Distinctive: line 534
Remove accidental formatting churn.
- Distinctive: line 535
Verify visual behavior not unintentionally changed.
- Distinctive: line 536
Check ARIA attributes match actual behavior.
- Distinctive: line 537
Check keyboard interactions do not conflict with browser behavior.
- Distinctive: line 538
Check focus styles remain visible.
- Distinctive: line 539
Check tests validate meaningful behavior.
- Distinctive: line 540
Check no accessibility claim exceeds available evidence.
- Distinctive: line 544
Use following severity guidance unless project has own classification.
- Distinctive: line 589
When analyzing without implementing, report findings using table:
- Distinctive: line 604
No vague findings like "improve accessibility" without specific location + remediation.
- Distinctive: line 623
No success criterion assignment when evidence insufficient.
- Distinctive: line 627
When using third-party component:
- Distinctive: line 630
Verify how it is configured in repository.
- Distinctive: line 631
Check whether project wraps or overrides it.
- Distinctive: line 632
Avoid duplicating functionality already correctly provided.
- Distinctive: line 633
Document limitations that cannot be fixed at consumer level.
- Distinctive: line 634
Consider upgrading or replacing dependency only when explicitly requested or clearly necessary.
- Distinctive: line 635
Do not patch generated vendor files.
- Distinctive: line 641
If components or styles generated:
- Distinctive: line 644
Update source rather than generated output.
- Distinctive: line 647
Add or update design-system contract when shared accessibility behavior changes.
- Distinctive: line 655
Remove animations without considering their meaning and feedback.
- Distinctive: line 656
Add accessibility overlays or automatic remediation scripts as substitute for fixing UI.
- Distinctive: line 663
Remove content from accessibility tree merely to pass automated tests.
- Distinctive: line 669
Use commands appropriate for repository + environment.
- Distinctive: line 680
No destructive commands or commands that discard user changes.
- Distinctive: line 684
After completing work, report:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Frontend Accessibility
Purpose
Analyze + improve frontend codebase accessibility. Interfaces usable with:
- Screen readers.
- Keyboard-only navigation.
- Voice control.
- Switch devices.
- Screen magnification.
- Reduced-motion preferences.
- High-contrast or forced-colors settings.
- Different zoom levels and viewport sizes.
- Users with cognitive, visual, auditory, or motor disabilities.
Use when user asks to:
- Audit frontend accessibility.
- Fix accessibility issues.
- Improve WCAG compliance.
- Make component or page accessible.
- Add keyboard navigation.
- Improve screen-reader support.
- Fix color contrast, focus, forms, modals, menus, tables, media, or semantic HTML.
- Review accessibility regressions.
- Add automated accessibility tests.
- Prepare accessibility remediation plan.
Focus: frontend code + user-facing behavior. No legal/certification claims unless user explicitly requests qualified assessment with supporting evidence.
Accessibility Baseline
Use project's stated accessibility target when exists.
If none specified, use as practical baseline:
- WCAG 2.2 Level AA principles.
- Semantic HTML before ARIA.
- Complete keyboard operability.
- Visible and predictable focus.
- Meaningful accessible names and descriptions.
- Sufficient color contrast.
- Support for zoom and responsive layouts.
- Respect for user preferences (reduced motion).
- Clear form instructions, errors, and status messages.
- Compatibility with common assistive technologies.
No WCAG conformance claim from code review or automated test alone. Accessibility requires testing with real assistive technologies + representative users.
Core Principles
- Inspect before editing. Understand framework, component architecture, design system, routing, styling conventions, test setup.
- Prefer native HTML.
Use native controls (
button,a,input,select,textarea,dialog) + semantic landmarks before adding ARIA. - Use ARIA only when necessary. ARIA must accurately reflect behavior + state. No ARIA to compensate for incorrect semantics when native HTML suffices.
- Fix behavior, not only markup.
Element not accessible merely because it has role, label, or
tabIndex. Verify interaction, focus, state changes, announcements. - Preserve existing functionality. A11y improvements must not break visual behavior, routing, form submission, responsive layouts, or supported browsers.
- Avoid unnecessary changes. Focused, reviewable changes. No refactoring unrelated code during a11y fix.
- Treat visible focus as required. Never remove focus indicators without equally visible replacement.
- Do not rely on color alone. Convey meaning via text, icons with accessible names, patterns, structure, non-color indicators.
- Test both automated and manually observable behavior. Automated tools catch only subset of problems.
- Document limitations honestly. Record what checked, what could not be checked, which issues need manual assistive-technology testing.
Required Workflow
1. Establish Repository Context
Inspect repository before making changes.
Identify:
- Frontend framework + version.
- Rendering model: client-side, server-side, static, or hybrid.
- Component library + design system.
- Styling approach.
- Routing solution.
- Form + validation libraries.
- State-management approach.
- Existing accessibility utilities.
- Test frameworks + scripts.
- End-to-end testing setup.
- Linting + formatting rules.
- Browser support targets.
- Existing accessibility documentation + policies.
Look for:
package.jsonpnpm-lock.yamlyarn.lockpackage-lock.jsonvite.config.*next.config.*nuxt.config.*angular.jsonastro.config.*src/app/pages/components/tests/e2e/playwright.config.*cypress.config.*eslint.config.*.storybook/storybook/
Do not assume framework, directory, or testing tool exists. Discover first.
2. Understand the Request
Translate request into concrete accessibility tasks.
Determine:
- Which pages, components, flows, or user journeys in scope.
- Whether request concerns specific WCAG criterion.
- Whether goal is analysis only or implementation.
- Which users or assistive technologies relevant.
- Whether visual design changes allowed.
- Whether new dependencies may be added.
- Whether accessibility tests expected.
- Whether change is bug fix, audit, refactor, or release requirement.
If scope unclear, inspect code and identify smallest useful scope before asking questions.
3. Map the User Interface
Identify key user journeys + interactive surfaces:
- Application shell.
- Header and navigation.
- Main content and landmarks.
- Sidebars and menus.
- Search.
- Authentication flows.
- Forms and validation.
- Dialogs and drawers.
- Tabs, accordions, carousels, disclosures.
- Data tables.
- Lists and virtualized content.
- Tooltips and popovers.
- Toasts and live regions.
- Loading, empty, error states.
- Drag-and-drop or sortable interfaces.
- Media players.
- Infinite scrolling and pagination.
- Custom controls.
- Mobile-specific interactions.
Prioritize critical flows + shared components. Defect in shared component may affect entire app.
4. Perform a Static Accessibility Review
Inspect implementation for following categories.
4.1 Document Structure and Semantics
Check for:
- Meaningful page title.
- Logical heading hierarchy.
- One clear primary page heading where appropriate.
- Semantic landmarks (
header,nav,main,aside,footer). - Correct list, table, section semantics.
- Appropriate buttons versus links.
- Avoidance of clickable non-interactive elements.
- Decorative elements hidden from assistive technology.
- Appropriate language declarations.
- Skip link or equivalent bypass mechanism where useful.
- Duplicate or ambiguous landmark names.
Do not add landmarks or headings solely to satisfy checklist. Must reflect actual content structure.
4.2 Keyboard Accessibility
Check that:
- All interactive functionality available by keyboard.
- Interactive elements reachable in logical order.
- No keyboard trap.
- Custom controls support expected keys.
- Menus, dialogs, tabs, accordions, carousels implement appropriate keyboard behavior.
- Focus moves predictably when UI state changes.
- Focus restored appropriately when overlays close.
- Disabled/unavailable controls behave consistently.
- No positive
tabIndexwithout strong, documented reason. - Hover-only functionality has accessible equivalent.
- Drag-and-drop has keyboard-accessible alternative.
4.3 Focus Management
Check for:
- Visible focus indicator.
- Sufficient focus contrast against adjacent colors.
- Focus styles not clipped or hidden.
- Correct focus placement when opening dialogs/menus.
- Focus trapping only where appropriate (esp. modal dialogs).
- Focus restoration after closing overlays.
- Focus behavior after route changes.
- Focus behavior after dynamically inserting content.
- Avoidance of unexpected focus stealing.
Focus management must match interaction model. Must not disorient users.
4.4 Names, Roles, and States
Check that controls have:
- Programmatically determinable role.
- Accessible name.
- State reflecting current UI state.
- Accessible description when additional context necessary.
- Correct relationships between labels, controls, descriptions, errors.
Review relevant attributes:
aria-labelaria-labelledbyaria-describedbyaria-controlsaria-expandedaria-pressedaria-selectedaria-currentaria-disabledaria-invalidaria-livearia-modalaria-hidden
No redundant accessible names that make screen-reader output verbose or confusing.
4.5 Forms
Check that forms provide:
- Explicit labels for all controls.
- Correct label-control associations.
- Instructions before input when needed.
- Clearly identified required fields.
- Correct input types + autocomplete tokens.
- Useful constraints + input modes.
- Inline validation understandable without relying on color.
- Programmatic association between errors and fields.
- Summary for multiple errors when appropriate.
- Error focus/announcement behavior that does not disorient users.
- Preservation of entered values after validation failures.
- Accessible status for asynchronous validation.
No placeholder text as only label or instruction.
4.6 Images and Non-Text Content
Check that:
- Informative images have concise, meaningful alternative text.
- Decorative images use empty alt or hidden appropriately.
- Functional images describe action, not only visual.
- Complex images have appropriate long description or nearby explanation.
- SVGs have accessible name when they convey meaning.
- Icons used as controls have accessible names.
- Icon-only controls have visible or programmatic context.
- Images do not contain essential text without accessible equivalent.
No alt text repeating nearby visible text unnecessarily.
4.7 Color, Contrast, and Visual Presentation
Check for:
- Text contrast.
- Non-text contrast for controls, focus indicators, meaningful graphical objects.
- Error, success, warning, selected states not relying only on color.
- Readability at increased text spacing.
- Content usable at high zoom.
- Layouts not requiring two-dimensional scrolling for ordinary content.
- Text not unintentionally truncated.
- Sufficient target size + spacing for controls.
- Compatibility with forced-colors/high-contrast modes where relevant.
Use project's design tokens when available. No arbitrary colors conflicting with design system.
4.8 Responsive and Zoom Behavior
Test or inspect behavior at:
- Small mobile widths.
- Large desktop widths.
- Increased browser zoom.
- Text-only zoom when applicable.
- Different text lengths.
- Large system fonts.
- Portrait and landscape orientations.
- Reduced available height.
Check for:
- Clipped content.
- Hidden controls.
- Overlapping dialogs.
- Unreachable horizontal content.
- Broken focus indicators.
- Menus inoperable on small screens.
- Sticky elements obscuring focused content.
4.9 Motion and Timing
Check for:
- Respect for
prefers-reduced-motion. - Avoidance of unnecessary animation.
- User controls for pausing, stopping, hiding moving content where applicable.
- No flashing creating risk.
- Sufficient time to read or complete timed interactions.
- Avoidance of auto-advancing content without controls.
- Reduced-motion behavior for route transitions, modals, carousels, loading states.
Reduced-motion implementation must preserve meaning + usability, not simply remove all feedback.
4.10 Dynamic Content and Announcements
Check that:
- Loading states communicated appropriately.
- Async success/error messages announced when necessary.
- Live regions used sparingly.
- Updates do not interrupt users unnecessarily.
- Toasts accessible, persist long enough to be consumed.
- Newly rendered content has logical reading + focus order.
- Infinite scrolling has alternative (pagination or load-more control).
- Route changes provide appropriate page title + focus context.
No large or frequently changing regions in assertive live regions.
4.11 Tables and Data-Dense Interfaces
Check that:
- Tabular data uses table semantics.
- Header cells correctly associated.
- Captions or accessible names provided where needed.
- Sortable columns expose their state.
- Responsive table behavior remains understandable.
- Data not communicated only through visual position or color.
- Virtualized tables preserve appropriate semantics + keyboard access.
4.12 Media
Check that media provides, where relevant:
- Captions.
- Transcripts.
- Audio descriptions.
- Keyboard-accessible controls.
- Visible + programmatic names for controls.
- Pause, stop, volume controls.
- Non-visual alternative for essential information.
No assumption browser-native media controls meet every project requirement.
5. Analyze Shared Components and Abstractions
Pay special attention to shared components:
- Buttons.
- Links.
- Form fields.
- Inputs.
- Selects.
- Dialogs.
- Menus.
- Tabs.
- Accordions.
- Tooltips.
- Alerts.
- Toasts.
- Tables.
- Icons.
- Layout primitives.
Determine whether accessibility behavior implemented:
- In shared component.
- In individual consumers.
- Through third-party library.
- Through design-system contract.
- Through browser-native behavior.
Fix at lowest appropriate shared layer when safely improves all consumers. Avoid making shared component more restrictive if existing consumers depend on documented behavior.
6. Review Existing Tests and Tooling
Inspect existing accessibility coverage:
- Unit tests.
- Component tests.
- Storybook stories.
- Playwright or Cypress tests.
- Axe or equivalent scans.
- ESLint accessibility rules.
- Visual regression tests.
- Manual testing checklists.
- CI accessibility checks.
Use existing tooling + conventions when possible.
Passing automated scan is not proof of full accessibility. Automated tools commonly miss:
- Poor interaction design.
- Incorrect focus movement.
- Inadequate keyboard behavior.
- Unclear wording.
- Poor screen-reader announcements.
- Missing context.
- Inaccessible dynamic workflows.
- Problems caused by real content.
7. Implement Fixes
Implement smallest complete solution.
Preferred approaches:
- Replace non-semantic clickable elements with native controls.
- Associate labels, descriptions, errors correctly.
- Add or repair keyboard behavior.
- Add visible focus styles.
- Correct heading and landmark structure.
- Add accessible names to controls.
- Repair dialog focus management.
- Respect reduced-motion preferences.
- Improve status and error announcements.
- Fix responsive and zoom behavior.
- Use native browser validation features where appropriate.
- Add accessible alternatives to pointer-only interactions.
- Remove incorrect or redundant ARIA.
Avoid:
- Adding
role="button"to non-button when realbuttonusable. - Adding
tabIndex="0"without implementing complete keyboard behavior. - Hiding content from screen readers merely to silence test.
- Using
aria-labelto conceal missing visible labels. - Making all content
aria-live. - Removing focus outlines.
- Solving contrast issues by changing colors without checking all states.
- Introducing keyboard shortcuts conflicting with assistive technology.
- Adding inaccessible custom widgets when native control sufficient.
8. Add or Update Tests
Add tests when repository has suitable infrastructure.
Tests may cover:
- Accessible names and roles.
- Label and error associations.
- Keyboard activation.
- Focus movement and restoration.
- Dialog behavior.
- Menu and disclosure state.
- Tab selection and navigation.
- Reduced-motion styles or behavior.
- Live-region updates.
- Basic automated accessibility scans.
- Critical user journeys.
Tests verify behavior, not merely presence of ARIA attributes.
No brittle tests dependent on implementation details when user-visible behavior testable instead.
9. Validate the Changes
Run most relevant available checks:
- Unit tests.
- Component tests.
- End-to-end tests.
- Accessibility scans.
- Linting.
- Type checking.
- Build commands.
- Storybook tests.
- Visual regression tests.
- Documentation or design-system checks.
Perform manual checks when applicable:
- Navigate changed flow with only keyboard.
- Confirm focus visible.
- Confirm dialogs and menus manage focus correctly.
- Test with browser zoom.
- Test with reduced motion.
- Inspect content with screen reader when available.
- Test at mobile and desktop viewport sizes.
- Verify error and loading states.
- Verify color not only means of conveying information.
If screen reader or browser unavailable, state not tested.
10. Review the Diff
Before finishing:
- Inspect final diff.
- Confirm only relevant files changed.
- Remove accidental formatting churn.
- Verify visual behavior not unintentionally changed.
- Check ARIA attributes match actual behavior.
- Check keyboard interactions do not conflict with browser behavior.
- Check focus styles remain visible.
- Check tests validate meaningful behavior.
- Check no accessibility claim exceeds available evidence.
Accessibility Issue Severity
Use following severity guidance unless project has own classification.
Critical
Issues blocking access to essential content or functionality:
- Keyboard trap.
- Essential workflow unavailable without pointer.
- Modal that cannot be closed or exited by keyboard.
- Authentication or checkout inaccessible to assistive technology.
- Content or controls completely hidden from relevant user group.
High
Issues significantly impairing use:
- Missing labels on important form controls.
- Incorrect focus management in dialogs or navigation.
- Unusable keyboard navigation.
- Severe contrast failures on primary content or controls.
- Errors that cannot be identified or corrected.
Medium
Issues reducing usability but with workaround:
- Poor heading structure.
- Missing descriptions.
- Incomplete status announcements.
- Inconsistent focus styling.
- Incorrect but non-blocking ARIA state.
Low
Issues with limited impact:
- Minor terminology inconsistencies.
- Redundant accessible descriptions.
- Non-critical decorative content handling.
- Small improvements to supporting documentation or examples.
Severity reflects user impact, not implementation complexity.
Reporting Findings
When analyzing without implementing, report findings using table:
| Severity | Location | Issue | User impact | Recommended fix | Verification |
For each finding:
- Identify file and component.
- Describe user-facing problem.
- Explain which users may be affected.
- Reference WCAG criterion only when mapping reasonably supported.
- Provide concrete remediation.
- State how fix can be verified.
- Distinguish confirmed issues from items requiring manual testing.
No vague findings like "improve accessibility" without specific location + remediation.
WCAG Mapping Guidance
Map to WCAG only when relationship clear. Examples:
- Missing form labels: WCAG 1.3.1 and 3.3.2 may be relevant.
- Missing keyboard operation: WCAG 2.1.1 may be relevant.
- Keyboard trap: WCAG 2.1.2 may be relevant.
- Missing visible focus: WCAG 2.4.7 or 2.4.11 may be relevant.
- Missing page title: WCAG 2.4.2 may be relevant.
- Unclear link purpose: WCAG 2.4.4 may be relevant.
- Insufficient contrast: WCAG 1.4.3 or 1.4.11 may be relevant.
- Color-only communication: WCAG 1.4.1 may be relevant.
- Missing text alternatives: WCAG 1.1.1 may be relevant.
- Missing captions: WCAG 1.2.2 may be relevant.
- Unexpected context changes: WCAG 3.2.1 or 3.2.2 may be relevant.
- Missing error identification: WCAG 3.3.1 may be relevant.
No success criterion assignment when evidence insufficient. Mention relevant principle or user impact instead.
Third-Party Components
When using third-party component:
- Inspect its documented accessibility behavior.
- Verify how it is configured in repository.
- Check whether project wraps or overrides it.
- Avoid duplicating functionality already correctly provided.
- Document limitations that cannot be fixed at consumer level.
- Consider upgrading or replacing dependency only when explicitly requested or clearly necessary.
- Do not patch generated vendor files.
Third-party library accessibility claim is not proof that project's usage is accessible.
Generated and Design-System Code
If components or styles generated:
- Identify source of truth.
- Update source rather than generated output.
- Regenerate artifacts only if repository conventions require it.
- Review generated diff for unexpected changes.
- Add or update design-system contract when shared accessibility behavior changes.
Safety and Change Boundaries
Unless explicitly requested, do not:
- Change product behavior unrelated to accessibility.
- Redesign visual interface.
- Remove animations without considering their meaning and feedback.
- Add accessibility overlays or automatic remediation scripts as substitute for fixing UI.
- Claim legal compliance or certification.
- Claim compatibility with specific screen reader without testing it.
- Introduce new dependencies without checking project conventions.
- Modify backend behavior.
- Disable lint rules globally.
- Silence accessibility warnings without understanding and documenting reason.
- Remove content from accessibility tree merely to pass automated tests.
- Make destructive changes to user data or configuration.
- Discard existing user changes.
Suggested Inspection Commands
Use commands appropriate for repository + environment. Examples:
pwd
find . -maxdepth 3 -type f | sort
git status --short
rg -n "aria-|role=|tabIndex|onKeyDown|onKeyUp|onClick|outline|focus|prefers-reduced-motion" src app pages components
rg -n "<img|<svg|<button|<a |<input|<select|<textarea|dialog|menu|tablist|tabpanel" src app pages components
rg -n "axe|jest-axe|accessibility|playwright|cypress|storybook" package.json .github src tests e2eNo destructive commands or commands that discard user changes.
Final Response
After completing work, report:
- Concise summary of analysis or fixes.
- Files changed.
- Accessibility areas addressed.
- Tests and validation commands run.
- Manual checks performed.
- Tools or assistive technologies unavailable.
- Remaining issues, limitations, or assumptions.
- Findings requiring design, product, or specialist review.
Use format:
## Accessibility work completed
- Fixed keyboard access for the account menu.
- Added an accessible name and description to the search form.
- Corrected dialog focus trapping and focus restoration.
- Added component tests for keyboard navigation and dialog behavior.
## Files changed
- `src/components/AccountMenu.tsx`
- `src/components/SearchForm.tsx`
- `src/components/Modal.tsx`
- `tests/accessibility/account-menu.spec.ts`
## Validation
- Ran: `npm test`
- Ran: `npm run lint`
- Ran: `npm run build`
- Ran: `npx playwright test`
- Manually checked keyboard navigation and browser zoom.
## Limitations
- A screen reader test was not performed because none was available.
- No formal WCAG conformance claim is made.Final response must not claim accessibility check, screen-reader test, or validation performed unless actually performed.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

