CtrlK
BlogDocsLog inGet started
Tessl Logo

aria-treeitem-name

Use when applies to custom tree widgets built with role='tree', role='treeitem', and role='group'. Common in file explorers, nested navigation menus, org charts, and any UI where items can be expanded or collapsed to reveal children.

49

Quality

53%

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 ./skills/aria-treeitem-name/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

The body is a compact, well-organized overview with genuinely actionable Check and Fix procedures and a properly structured one-level-deep reference bundle. Its weaknesses are redundancy — the name-computation rules and aria-expanded guidance repeated across sections plus a boilerplate Code Review paragraph — and verification existing only as a passing mention rather than an explicit workflow step.

Suggestions

State the accessible-name computation order (aria-labelledby, then aria-label, then text content) once — in Check — and drop the duplicate restatements in Quick Reference and Fix.

Replace the generic 'Code Review' boilerplate paragraph with a concrete verification step, e.g. inspecting the accessibility tree for empty-named treeitems or running an axe check with the [role='treeitem'] selector.

Trim the duplicated aria-expanded guidance spread across Quick Reference, Check, Fix, and Explain down to a single location, keeping the rest of the body's focus on names.

DimensionReasoningScore

Conciseness

Each section is individually tight, but the accessible-name computation order (aria-labelledby, then aria-label, then text) is stated three times (Quick Reference, Check, Fix), the aria-expanded point appears in four sections, and the 'Code Review' paragraph is generic boilerplate ('Flag exact elements, roles, labels, focus behavior, or keyboard interactions...') that could be trimmed. Mostly efficient with unnecessary repetition to tighten fits anchor 3; it is not 2 because no section teaches basic concepts Claude doesn't know at length.

3 / 5

Actionability

The Check section gives an ordered, attribute-level procedure ('check aria-labelledby first, then aria-label, then visible text content') and Fix gives a concrete 4-step decision list with specific attribute remedies (e.g., 'add aria-label=\'Descriptive name\'', 'use aria-labelledby referencing the most descriptive element\'s id'). It is not 5 because no inline markup example or automated-check command (e.g., an axe selector) appears in the body — the executable example is deferred to the reference file, which is acceptable for an instruction-only skill but leaves minor gaps.

4 / 5

Workflow Clarity

The Check-then-Fix structure forms a clear sequence with an ordered fix decision procedure, appropriate for a simple single-purpose non-destructive skill. It is not 5 because verification is only mentioned in passing ('note how to verify the fix with browser accessibility tooling or assistive tech') rather than given as an explicit validation step in the workflow, and the operational order of the six sections (Quick Reference through Code Review) is left implicit.

4 / 5

Progressive Disclosure

The body is a clear overview with a well-signaled, verified, one-level-deep reference ('see references/rule.md'), which exists and appropriately holds the code example, ARIA property table, and verification steps. It is not 5 because the pointer mislabels the reference's contents (promising 'framework-specific guidance' that rule.md does not contain) and several points (Why It Matters, required ARIA properties) are duplicated between body and reference rather than cleanly split.

4 / 5

Total

15

/

20

Passed

Description

40%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.

The description excels at scoping the trigger context — specific ARIA roles and recognizable UI examples — but never states what the skill does. Without any mention of accessible names or the audit/fix actions performed, both its capability description and completeness are weak, and the 'Use when applies to' construction is ungrammatical.

Suggestions

Add an explicit 'what' clause before the trigger, e.g. 'Checks that every element with role=\'treeitem\' has a descriptive accessible name, and fixes empty or generic names using aria-label or aria-labelledby.'

Include the domain's natural trigger vocabulary — 'accessibility', 'screen reader', 'ARIA tree' — so users auditing a tree widget for accessibility will match this skill.

Fix the malformed 'Use when applies to' phrasing to a well-formed trigger sentence such as 'Use when reviewing custom tree widgets...'.

DimensionReasoningScore

Specificity

The description names the domain precisely ('custom tree widgets built with role=\'tree\', role=\'treeitem\', and role=\'group\'') but states no concrete actions — what the skill does (ensuring accessible names on tree items) is never mentioned. This matches anchor 2 ('names the domain but actions are minimal or generic') rather than 3, which requires 1-2 concrete actions.

2 / 5

Completeness

A 'when' clause is present ('Use when applies to custom tree widgets...') but the 'what' is completely absent — nothing states the skill checks or fixes accessible names for tree items. This matches anchor 2 ('only \'when\' is present without \'what\'', e.g. 'Use when working with documents'); it is not 3 because anchor 3 requires a clear 'what'. The phrasing 'Use when applies to' is also grammatically malformed.

2 / 5

Trigger Term Quality

Natural phrases like 'file explorers', 'nested navigation menus', 'org charts', and 'expanded or collapsed' are present, but the most natural terms a user would say for this need — 'accessibility', 'screen reader', 'ARIA', 'accessible name' — are entirely missing. Good relevant keywords with common variations missing fits anchor 3; it is not 4 because the absent terms are the domain's primary vocabulary, not just a few extras.

3 / 5

Distinctiveness Conflict Risk

The role-scoped trigger ('custom tree widgets built with role=\'tree\', role=\'treeitem\', and role=\'group\'') gives a clear, distinct niche unlikely to fire for unrelated skills. It is not 5 because omitting the distinguishing 'accessible name' purpose leaves minor overlap risk with sibling ARIA tree-widget rules (e.g., treeitem keyboard interaction rules).

4 / 5

Total

11

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
thedaviddias/Front-End-Checklist
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.