All skills
Skillintermediate
aria fix
Fix ARIA attributes and accessibility issues in web components.
Claude Code Knowledge Pack7/10/2026
Overview
Fix ARIA attributes and accessibility issues in web components.
Steps
- Read the target component and identify accessibility issues.
- Apply ARIA fixes by category:
- Roles: Add
roleattributes to custom interactive elements. - States: Add
aria-expanded,aria-selected,aria-checkedfor stateful components. - Properties: Add
aria-label,aria-describedby,aria-labelledby. - Live regions: Add
aria-livefor dynamic content updates.
- Roles: Add
- Fix interactive element accessibility:
- Add
tabIndex={0}to custom interactive elements. - Add keyboard event handlers (
onKeyDownfor Enter/Space). - Ensure focus is visible with proper styling.
- Trap focus in modal dialogs.
- Add
- Fix form accessibility:
- Associate labels with inputs.
- Add
aria-invalidandaria-describedbyfor validation errors. - Group related fields with
fieldsetandlegend.
- Fix semantic HTML:
- Replace
divclick handlers withbuttonelements. - Use proper heading hierarchy (h1 > h2 > h3).
- Use landmark elements (nav, main, aside, footer).
- Replace
- Verify fixes do not break existing functionality.
Format
ARIA Fixes Applied: <file>
Changes:
- L: Added role="button" and keyboard handler to clickable div
- L: Added aria-label="Close dialog" to icon button
- L: Added aria-live="polite" to status message container
- L: Replaced div with semantic <nav> element
Tests: verify with keyboard navigation and screen reader
Rules
- Prefer semantic HTML over ARIA attributes (a button over div with role=button).
- Never use
aria-hidden="true"on focusable elements. - Ensure every ARIA role has the required states and properties.
- Test keyboard navigation order matches visual order.
- Do not add ARIA attributes that duplicate native HTML semantics.