CtrlK
BlogDocsLog inGet started
Tessl Logo

aria-required-children

Use when applies to custom ARIA widgets using composite roles: tablist, list, listbox, menu, menubar, tree, treegrid, grid, rowgroup, row, radiogroup. Use when reviewing components built with div/span elements that replace native HTML list, select, or nav elements.

52

Quality

57%

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-required-children/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 well-structured, actionable overview with a clean one-level-deep split into a real references/rule.md file. Its main weakness is redundancy: the role-mapping and why-it-matters content each appear twice, which could be consolidated for better token efficiency.

Suggestions

Keep the container-to-child role mapping in one place (Quick Reference or Check) and remove the duplicate, letting references/rule.md's table carry the full detail.

Merge the intro paragraph and the Explain section, which both cover screen-reader navigation consequences.

Inline one or two concrete verification commands (e.g., axe DevTools or the browser accessibility pane) alongside the Code Review section instead of deferring all verification detail to the reference.

DimensionReasoningScore

Conciseness

The body is compact overall, but the container-to-child role mapping is stated twice ('tablist → tab, list/listbox → listitem/option...' in Quick Reference and again in full in Check), the intro paragraph and the Explain section both cover screen-reader consequences, and the Code Review section is generic boilerplate. Mostly efficient, but the duplication could be tightened into a single mapping.

3 / 5

Actionability

Concrete and specific throughout: Check enumerates exact role-to-required-child requirements ('tablist must own tab elements; list must own listitem...') and Fix gives three executable remediation steps ('add role=tab to each tab button', 'add role=none/presentation to those wrappers', 'prefer <ul>/<li> instead of role=list/listitem'). For an instruction-only review skill this is largely executable; the only gaps are verification tooling specifics deferred to the reference.

4 / 5

Workflow Clarity

The Check → Fix → Explain → Code Review sections form a clear, unambiguous sequence with per-role verification criteria, and the task is single-purpose and non-destructive so the validation cap does not apply. Checkpoints are mostly present ('note how to verify the fix with browser accessibility tooling'), though the concrete verification steps (axe, accessibility tree) live only in the reference file.

4 / 5

Progressive Disclosure

The body is a proper overview and full implementation details (code examples, standards, exceptions, verification) are split into a single, existing, one-level-deep reference, clearly signaled ('For full implementation details, code examples, and framework-specific guidance, see references/rule.md'). Minor gaps: the pointer appears only at the bottom, and the role-mapping table is duplicated between SKILL.md and rule.md.

4 / 5

Total

15

/

20

Passed

Description

47%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 provides excellent, specific 'when' triggers grounded in concrete ARIA role names and implementation patterns, but it never states what the skill does. Adding a leading 'what' clause naming the check it performs would lift completeness and specificity substantially.

Suggestions

Add a 'what' clause before the triggers, e.g. 'Checks that ARIA container roles (tablist, menu, grid, ...) contain their required owned child roles per WAI-ARIA 1.2, and flags/fixes missing nesting.'

Include natural user synonyms such as 'accessibility', 'a11y', 'screen reader', or 'ARIA' (the word itself) to widen trigger coverage.

Distinguish this rule from its inverse sibling by mentioning directionality, e.g. 'required child roles inside containers (the inverse of aria-required-parent)'.

DimensionReasoningScore

Specificity

The description names the domain thoroughly ('custom ARIA widgets using composite roles: tablist, list, listbox, menu, menubar, tree, treegrid, grid, rowgroup, row, radiogroup' and 'div/span elements that replace native HTML list, select, or nav elements') but states no concrete actions at all — there is no verb describing what the skill does. It is not entirely vague (anchor 1), but the absence of any 'what' action matches 'names the domain but actions are minimal or generic'.

2 / 5

Completeness

Both clauses are explicit 'Use when...' triggers ('Use when applies to custom ARIA widgets...', 'Use when reviewing components built with div/span elements...'), so 'when' is well covered. But 'what' — e.g., checking that container roles contain their required child roles — is never stated, matching the anchor 'only when is present without what'.

2 / 5

Trigger Term Quality

Strong keyword coverage: eleven concrete ARIA role names plus 'div/span elements' and 'native HTML list, select, or nav elements' are terms users would naturally say when reviewing such components. However, common natural synonyms like 'accessibility', 'a11y', 'screen reader', or 'WCAG' are missing, so it falls short of the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

A clear niche (ARIA composite-widget required-children) with highly specific role-name triggers makes it mostly distinct. Minor overlap risk remains with the closely related sibling rule aria-required-parent and general ARIA review skills, which would trigger on the same 'div/span custom widget' phrases.

4 / 5

Total

12

/

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.