Skip to main content

audit-accessibility

Unified accessibility auditing workflow across static analysis, runtime testing, ARIA patterns, keyboard navigation, and color contrast. Use this skill whenever the user mentions accessibility, a11y, WCAG, ARIA roles, axe tests, screen readers, focus management, keyboard navigation, color contrast, or wants to audit, verify, or fix accessibility on any component. Also use when writing or debugging .test.axe.ts files, checking tabindex management, or reviewing focus trapping behavior.

Source facts

Repository
NVIDIA/elements
Last source activity
August 12, 2026 at 00:30
Detected SKILL.md language
English
Stars
102
Forks
19

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
audit-accessibility
description
Unified accessibility auditing workflow across static analysis, runtime testing, ARIA patterns, keyboard navigation, and color contrast. Use this skill whenever the user mentions accessibility, a11y, WCAG, ARIA roles, axe tests, screen readers, focus management, keyboard navigation, color contrast, or wants to audit, verify, or fix accessibility on any component. Also use when writing or debugging .test.axe.ts files, checking tabindex management, or reviewing focus trapping behavior.
user_invocable
true
# Accessibility Auditing You MUST read `projects/site/src/docs/internal/guidelines/testing-accessibility.md` before proceeding. ## Audit Scope When the user invokes this skill for a component, perform the following layers of accessibility verification: ### 1. Static analysis (ESLint lit-a11y) Run ESLint on the component source and check for `lit-a11y` rule violations: ```shell cd projects/core && pnpm exec eslint --no-warn-ignored src/<component>/<component>.ts ``` Review the component template for common issues: - Missing `aria-label` or `aria-labelledby` on interactive elements - Missing `role` attributes on custom interactive patterns - Images without `alt` text - Form inputs without associated labels ### 2. Runtime testing (axe-core) Verify `<component>.test.axe.ts` exists and covers all component variants: ``` Read path="projects/core/src/<component>/<component>.test.axe.ts" ``` Check that the test: - Imports `runAxe` from `@internals/testing/axe` - Tests every applicable status and size variant, plus the `disabled` state when the component supports it - Expects zero violations: `expect(results.violations.length).toBe(0)` - Properly creates and removes fixtures ### 3. ARIA pattern verification Identify which WAI-ARIA Authoring Practices pattern the component implements. Verify: - Correct `role` attribute on the host or internal elements - Required ARIA states (`aria-expanded`, `aria-selected`, `aria-checked`, etc.) - Proper `tabindex` management - Focus management for composite widgets ### 4. Keyboard navigation Check if the component uses the `keynav` reactive controller from `@nvidia-elements/core/internal`: ``` Grep pattern="keynav|keyNavigationList|KeyNav" path="projects/core/src/<component>/" ``` Verify keyboard interactions match the ARIA pattern: - Arrow keys for navigation within composite widgets - Enter/Space for activation - Escape for dismissal - Tab for focus entry/exit - Home/End for first/last item ### 5. Color contrast (theme tokens) Check that the component uses theme tokens rather than hardcoded colors: ``` Grep pattern="rgb|#[0-9a-fA-F]|hsl" path="projects/core/src/<component>/<component>.css" ``` Flag any hardcoded color values. Verify CSS custom properties map to theme tokens that meet WCAG 2.1 AA contrast ratios (4.5:1 for normal text, 3:1 for large text). ## Output Present a structured report with: 1. Pass/fail status 2. Findings grouped by audit layer 3. Specific remediation steps for each finding 4. Commands to run the relevant tests
View on GitHub