CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

accessibility

Primary accessibility skill for VS Code. REQUIRED for new feature and contribution work, and also applies to updates of existing UI. Covers accessibility help dialogs, accessible views, verbosity settings, signals, ARIA announcements, keyboard navigation, and ARIA labels/roles.

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/accessibility/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, repo-specific guide with complete code skeletons, exact file paths, and a useful end-to-end checklist. Its main weaknesses are restating general keyboard/ARIA accessibility knowledge Claude already has (§6–§7) and lacking explicit runtime verification steps or any content split into reference files.

Suggestions

Trim §6 and §7 to requirement-only bullets (or move them to a reference file), keeping only the VS Code-specific details (focusBorder theme, aria-setsize/aria-posinset for virtualized lists) and cutting general WAI-ARIA knowledge.

Add an explicit validation step to the workflow, e.g. "Launch VS Code, focus the feature, invoke the accessibility help keybinding, and confirm the dialog opens with correct keybindings".

Consider moving the full example skeletons (especially the alternative IAccessibleViewContentProvider pattern) into a references/ file and keeping a one-line pointer plus the minimal pattern in SKILL.md.

DimensionReasoningScore

Conciseness

Sections 1–5 are lean and repo-specific (exact enum entries, file paths, registration calls), but §6 ("Tab order: All interactive elements must be reachable via Tab / Shift+Tab", "Focus trapping: Modal dialogs must trap focus") and §7 ("must declare the correct ARIA role (e.g., role=\"button\")", "Avoid generic labels like 'button' or 'icon'") restate standard WAI-ARIA knowledge Claude already has, and §1 carries a second full alternative skeleton. Mostly efficient but could be tightened — not the pervasive padding of a 2, but more than the minor trimming of a 4.

3 / 5

Actionability

Provides a copy-paste-ready TypeScript skeleton with correct import paths, `AccessibleViewRegistry.register(...)` calls, enum and configuration registration snippets with `...baseVerbosityProperty`, `playSignal` usage, `<keybinding:commandId>` syntax, and an exact Key Files listing. The alternative provider pattern is a justified sketch explicitly backed by a pointer to a real codebase example. This matches the fully-executable top anchor.

5 / 5

Workflow Clarity

§1–§3 give clearly numbered steps (create implementation → content provider → onClose → register), the When-to-Use section gives an explicit decision rule (accessible view only for rich/visual content), and the closing checklist validates every section. However, there is no runtime verification step (e.g. launch VS Code, focus the feature, invoke the help dialog) and no error-recovery feedback loop, so it sits at 'clear sequence with most checkpoints present; minor validation gaps' rather than the 5 anchor.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so this is a single-file skill; it is well structured with numbered sections, in-text navigation ("Sections 4–7 below… apply more broadly to any UI change"), a checklist, and a clearly signaled cross-skill reference. Some bulk (the dual skeletons in §1, the §6 prose on unavailable options) could live in a reference file, keeping it below the well-signaled one-level-deep references of the 5 anchor.

4 / 5

Total

16

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, clearly-scoped description that answers both what it covers and when it applies, with a well-defined VS Code accessibility niche. Its main weaknesses are topical-noun rather than action-verb phrasing and the omission of natural synonyms such as "screen reader" or "a11y".

Suggestions

Rephrase the coverage list with concrete action verbs, e.g. "Implement accessibility help dialogs, accessible views, and verbosity settings; wire up signals, ARIA announcements, keyboard navigation, and ARIA labels/roles".

Add concrete trigger phrases and natural synonyms, e.g. "Use when adding or changing interactive UI in VS Code, or when the user mentions accessibility, screen readers, a11y, or ARIA".

Include the term "screen reader" explicitly, since it is the most natural keyword a requester would use for this domain.

DimensionReasoningScore

Specificity

The description lists seven concrete coverage areas ("accessibility help dialogs, accessible views, verbosity settings, signals, ARIA announcements, keyboard navigation, and ARIA labels/roles"), but these are topical nouns rather than the concrete action verbs of the top anchor ("Extract… fill forms, merge documents"). It clearly exceeds the generic domain-only anchors but has minor gaps in action-level coverage.

4 / 5

Completeness

Both halves are present: a clear "what" ("Covers accessibility help dialogs, accessible views, verbosity settings, signals, ARIA announcements, keyboard navigation, and ARIA labels/roles") and an explicit "when" ("REQUIRED for new feature and contribution work, and also applies to updates of existing UI"), so the missing-trigger cap does not apply. The when clause is directive but lacks the concrete user-mention trigger phrases ("when the user mentions…") that define the 5 anchor.

4 / 5

Trigger Term Quality

Includes good natural keywords ("accessibility", "VS Code", "feature", "contribution", "UI", "ARIA", "keyboard navigation") that a developer would naturally say, but misses common synonyms like "screen reader", "a11y", and "screen-reader". This matches anchor 4 (good coverage, a few natural terms missing) rather than the synonym-complete anchor 5.

4 / 5

Distinctiveness Conflict Risk

"Primary accessibility skill for VS Code" carves a clear niche with distinct triggers; its breadth ("REQUIRED for new feature and contribution work") is intentional within that niche and creates minimal conflict risk with other skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 suspicious

Warning

Total

15

/

16

Passed

Repository

microsoft/vscode

Path

.github/skills/accessibility/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.