Agent skill

Experience Accessibility Validate

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines.

Apache-2.0Auto-check passedFrontend & Design

Install Experience Accessibility Validate

skills CLI
$ npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills experience-accessibility-validate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/experience-accessibility-validate .claude/skills/experience-accessibility-validate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
experience-accessibility-validate
GitHub stars
1.1k
Token cost
~2.4k tokens
SKILL.md length
992 words
Files
30 (incl. references)
Skills in repo
248
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines.

  • Determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines
  • SKILL.md covers Review Context, Success Criteria Reviewers and Review Output
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • The user asks is my component accessible?

What it does

Experience Accessibility Validate is an agent skill from forcedotcom/sf-skills. Use this skill to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines. TRIGGER when the user asks "is my component accessible?", "does my LWC meet accessibility guidelines?", "is this component WCAG compliant?", "find accessibility problems in this LWC", "is this LWC keyboard accessible?", "does this component work with a screen reader?", "does this component have sufficient color contrast?", "check ARIA usage in this LWC", or "WCAG 2.2 accessibility check"…

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 31 other files, including reference files (for example `references/reviewers/sc-1-1-1-non-text-content.md`, `references/reviewers/sc-1-3-1-i-lists.md` and `references/reviewers/sc-1-3-1-ii-tables.md`).

It sits in Frontend & Design, covering Accessibility. It works with Salesforce. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • Determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines
  • The user asks is my component accessible?
  • Does my LWC meet accessibility guidelines?
  • Is this component WCAG compliant?

Example prompts

  • “is my component accessible?”
  • “does my LWC meet accessibility guidelines?”
  • “is this component WCAG compliant?”
  • “/experience-accessibility-validate”

What it can do on your machine

Read from SKILL.md and the folder at commit 3c15867. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Experience Accessibility Validate loads about 2.4k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 242 tokens; SKILL.md has 992 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~242
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~37k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit 3c15867, republished under its Apache-2.0 licence (© forcedotcom). 992 words, ~2,427 tokens.

Download SKILL.mdSave it as .claude/skills/experience-accessibility-validate/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.
name
experience-accessibility-validate
description
Use this skill to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines. TRIGGER when the user asks "is my component accessible?", "does my LWC meet accessibility guidelines?", "is this component WCAG compliant?", "find accessibility problems in this LWC", "is this LWC keyboard accessible?", "does this component work with a screen reader?", "does this component have sufficient color contrast?", "check ARIA usage in this LWC", or "WCAG 2.2 accessibility check". Also TRIGGER when the user wants to fix or improve accessibility (a11y, WCAG, ARIA) in an LWC's HTML, JS, or CSS — semantic markup, focus, keyboard nav, contrast, screen-reader labels, WCAG 2.2 SC. Produces `a11y-review.md` with WCAG-cited findings. DO NOT TRIGGER for general LWC generation (use `experience-lwc-generate`) or SLDS visual/design review not focused on accessibility (use `design-systems-slds-validate`).
metadata.version
1.1
metadata.domains
Experience
metadata.relatedSkills
design-systems-slds-validate, experience-lwc-generate
<!-- a11y-expert-managed-skill -->

Web Component Accessibility

Accessibility (a11y) patterns and remediation guidance for web components. Reference any time work involves the visible or interactive surface of a component — generating, modifying, reviewing, or styling HTML, JS, or CSS — to apply WCAG 2.2 standards.

Review Context

Conduct a review specifically focused on enhancing web accessibility, guided by the WCAG (Web Content Accessibility Guidelines).

In order to mark code as a violation, it must have a direct correlation to the WCAG rule cited such that it is a clear violation of the criteria.

Key Review Criteria:

  1. Focus Exclusively on Accessibility:
  • Evaluate the component solely for accessibility.
  • Only consider compliance with the cited WCAG Success Criteria, ignoring violations that can be attributed to other criteria.
  • Avoid addressing general code style, patterns, or issues unrelated to accessibility.
  1. Ensure Minimum and Sufficient Accessibility:
  • Identify accessibility issues that prevent the component from meeting the minimum requirements outlined by WCAG.
  • Avoid suggesting enhancements that go beyond the scope of WCAG compliance unless strictly necessary.
  1. WAI-ARIA Usage:
  • Use WAI-ARIA attributes only when strictly required to achieve accessibility that cannot otherwise be addressed with semantic HTML.
  • Avoid unnecessary complexity or potential regressions caused by incorrect or overuse of ARIA attributes.
  1. Component Library Usage
  • Assume that well-known component libraries (e.g., Salesforce Lightning, Material UI, Chakra UI) are accessible out of the box when correctly implemented. Unless they are used specifically in conflict with WCAG, library-provided components can be ignored for this review, as they are implemented in an accessible way beneath the abstraction.
  • Lightning base components (lightning-input, lightning-combobox, lightning-textarea, lightning-icon, and similar components) provide accessible labeling, ARIA, and error handling through dedicated attributes such as label and alternative-text. A label remains programmatic even with variant="label-hidden"; do not require a sibling or wrapper <label> to target the component. Navigation, button-icon, and other self-labeling base components likewise expose supplied label text as their accessible name and treat their internal icon as decorative. Do not report a missing association merely because that implementation is hidden inside the component.
  • The same self-labeling logic applies to imported or custom control components in any framework (React/JSX, Angular, Vue, Web Components), not only Lightning. A capitalized or imported component tag (<Input>, <TextField>, <Button>, <Select>, <Checkbox>, <SearchField>, and design-system wrappers from Material UI, Chakra, Radix, or an internal library) is not a bare HTML element — assume it renders its own accessible label, ARIA, and error handling beneath the abstraction (see the component-library grounding rule). When such a component is given a labeling prop — label, aria-label, aria-labelledby, title, or visible child text/children — treat it as already programmatically labeled and do not flag it for a missing <label>, a missing for/id association, or a missing accessible name. Only flag when no labeling prop or text is supplied, or the supplied value is clearly empty or nonsensical. Do not demand a native <label for> for a component whose internal control you cannot see.
  • Resolve dynamic id / htmlFor / for expressions before judging a label association. When a <label htmlFor={X}> (or for={X}) and its control's id={X} are bound to the same expression — the same variable, prop, useId() value, or template literal (e.g. both htmlFor and id set to the same interpolation such as ${id}-email) — treat the association as matching, even though the literal string cannot be resolved at review time. A dynamic id/htmlFor pair is a mismatch only when the two expressions are demonstrably different. Do not flag identical dynamic id/htmlFor expressions as unmatched or mismatched labels.
  1. Source Interpretation
  • Resolve expressions according to the framework's binding semantics before judging them. Trace a dynamic value to every source available in that context. In React/JSX, an expression may reference local variables, props, hook results, or imported bindings; Vue, Svelte, and Astro expose their own template or script scopes. In an LWC template specifically, {someValue} resolves to a field, property, or getter on the component class (.js or .ts), including @api properties; module-level imported constants are not directly bindable. In Aura markup, follow the expression's value provider, such as v. or c., to the corresponding component attribute or controller logic. Do not conclude that a value is undefined, empty, or missing until you have inspected the applicable source. In a diff, verify which side contains the corrected code rather than assuming that the change introduced the problem.
Show full SKILL.md (280 more words)Show less

Focus: Provide actionable feedback to ensure the component meets the necessary WCAG accessibility requirements, avoiding extraneous feedback unrelated to the prompt's scope. Identify issues in code only if there is an immediate fix. You MUST conduct the review, and subsequently suggest the code fix that solves this issue.

Success Criteria Reviewers

Identify which Success Criteria apply to the code under review, then open the reference files relevant to that code. Each reference supplies criterion-specific analysis, examples, and remediation guidance; the review-wide rules above continue to apply.

Perceivable
Operable
Understandable
Robust
Vision-Assisted Review

When component screenshots or design mocks are available, augment the source-code review with these vision-level reviewers. Each reference covers image-based evaluation for the corresponding Success Criterion — contrast ratios, color dependence, resize/reflow behavior, and non-text content identification from pixels rather than from the DOM.

Review Output

For each Success Criterion you evaluated, report violations found. If no violations exist for a criterion, return an empty list for that criterion.

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 29 other files (references) in skills/experience-accessibility-validate of forcedotcom/sf-skills.

  • SKILL.md
  • references/reviewers/sc-1-1-1-non-text-content.md
  • references/reviewers/sc-1-3-1-i-lists.md
  • references/reviewers/sc-1-3-1-ii-tables.md
  • references/reviewers/sc-1-3-1-iii-form-labels.md
  • references/reviewers/sc-1-3-1-iv-regions.md
  • references/reviewers/sc-1-3-1-v-groups.md
  • references/reviewers/sc-1-3-5-identify-input.md
  • references/reviewers/sc-1-4-3-contrast.md
  • references/reviewers/sc-2-1-1-keyboard.md
  • references/reviewers/sc-2-4-4-link-purpose.md
  • references/reviewers/sc-2-4-6-headings-labels.md
  • references/reviewers/sc-2-5-1-pointer-gestures.md
  • references/reviewers/sc-2-5-2-pointer-cancellation.md
  • references/reviewers/sc-2-5-3-label-in-name.md
  • references/reviewers/sc-2-5-7-dragging-movement.md
  • references/reviewers/sc-3-2-1-on-focus.md
  • references/reviewers/sc-3-2-2-on-input.md
  • references/reviewers/sc-3-3-1-error-identification.md
  • … and 11 more

Open the folder on GitHubat commit 3c15867

Compare with similar skills

Experience Accessibility Validate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Experience Accessibility Validate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Experience Accessibility Validate this skillforcedotcom/sf-skills1.1k—~2.4kAutomated safety check: PassApache-2.0
Salesforce Component Standardsgithub/awesome-copilot40k1 repos~2.4kAutomated safety check: PassMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k98 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.4k4 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Salesforce Component Standards

    github/awesome-copilot

    Official

    Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages.

    40k GitHub starsUsed in 1 repo~2.4k tokens
    Frontend & DesignAuto-check passed
  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 98 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.4k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 10 repos~610 tokens
    Frontend & DesignAuto-check passed

More from forcedotcom/sf-skills

All 248 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~3.6k tokensUpdated 5 days ago
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated 5 days ago
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated 5 days ago
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated 5 days ago
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Experience Accessibility Validate

What does Experience Accessibility Validate do?

A skill your agent uses to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines. Experience Accessibility Validate is an agent skill from forcedotcom/sf-skills. Use this skill to determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines.

When should I use Experience Accessibility Validate?

Experience Accessibility Validate fits situations like: determine whether a Lightning Web Component (LWC) is accessible and meets WCAG accessibility guidelines; the user asks is my component accessible?; does my LWC meet accessibility guidelines?; is this component WCAG compliant?.

How do I install Experience Accessibility Validate in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a claude-code`. Or copy the skill folder (skills/experience-accessibility-validate in forcedotcom/sf-skills) into .claude/skills/experience-accessibility-validate in your project. Claude Code loads it when a task matches its description.

How do I install Experience Accessibility Validate in Codex?

Run `npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a codex`. Or copy the skill folder (skills/experience-accessibility-validate in forcedotcom/sf-skills) into .agents/skills/experience-accessibility-validate in your project. Codex loads it when a task matches its description.

Can I use Experience Accessibility Validate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/experience-accessibility-validate, .gemini/skills/experience-accessibility-validate, .github/skills/experience-accessibility-validate and .opencode/skills/experience-accessibility-validate in your project.

What does Experience Accessibility Validate need to run?

SKILL.md names no scripts, command-line tools or credentials: Experience Accessibility Validate is instructions for the agent only.

Does Experience Accessibility Validate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Experience Accessibility Validate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Experience Accessibility Validate use?

Experience Accessibility Validate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Experience Accessibility Validate use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 34k tokens, read only when the agent opens those files.

What are the alternatives to Experience Accessibility Validate?

Skills that share tags, products or a category with Experience Accessibility Validate: Salesforce Component Standards (github/awesome-copilot, 40k stars), Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars) and Web Animation Design (baptisteArno/typebot.io, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Experience Accessibility Validate?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,058 GitHub stars. The repository holds 248 skills in this directory. The repository was last updated on October 3, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.